Поясняю вопрос:
В карте передача ресурсов запрещена, но ее можно организовать иначе: я даю союзнику контроль, он покупает дорогую вещь в магазине моему персонажу, а я ее продаю. Не важно, что мне вернется лишь 50% от того, что потратил союзник. Важно то, что вообще мне упадет с этого голд. Вопрос: как можно этого избежать?
Вариант с обесцениванием вещей отпадает сразу!
Принятый ответ
EnergyFrost, юнит будет принадлежать игроку который контролировал
то есть владельцем юнита является тот игрок который совершил покупку а не тот кому принадлежал юнит совершивший покупку
таким образом мы получаем настоящего покупателя юнита
а сравнив владельцев купленного юнита и владельца юнита покупателя можно определить что юнит был куплен другим игроком
вернуть деньги игроку и не создавать предмет
таким образом игрок не сможет покупать предметы другим игрокам с помощью передачи контроля
EnergyFrost:
то есть владельцем юнита является тот игрок который совершил покупку а не тот кому принадлежал юнит совершивший покупку
таким образом мы получаем настоящего покупателя юнита
а сравнив владельцев купленного юнита и владельца юнита покупателя можно определить что юнит был куплен другим игроком
вернуть деньги игроку и не создавать предмет
таким образом игрок не сможет покупать предметы другим игрокам с помощью передачи контроля
EnergyFrost:
Покупка предмета будет совершена за счет игрока-контролера.
ну так отменяем покупку и все проблемы
как определить что купил не владелец героя я написал уже
как определить что купил не владелец героя я написал уже
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
или сделай вещи не продаваемыми
но это тоже самое что обесценить их
иначе пиши свою систему продажи предметов
например на основе юнитов
при покупке юнита создавать предмет где владельцем будет владелец купленного юнита
после чего удаляй юнита
Отредактирован EnergyFrost
Либо пойти на другие меры: сделать систему контроля, но пожалуй это не самый лучший вариант...
Кто не понял о чем я- посмотрите карту
да придётся помучится с бд
но других проблем быть не должно
Скорее всего никак не удастся отследить. Мой способ очень труден, но других перспектив не вижу.
Была идея с 12 магазинами и GetLocalPlayer. Чтобы магазины могли продавать только своим владельцам, но реализовывать это тоже трудновато и + надо о десинхре задуматься на этой почве. И еще я не знаю, как поведет себя магазин союзника, если ты дал контроль. Скорее всего закуп будет возможен в одном магазине и тебе и союзу.
Делаем это основе скилла - Поставка ресурсов, событие - наш утилизатор предметов отдал приказ без указания цели, условие - приказ разве поставка ресурсов, действия - создать новый триггер и добавить ему по событию типа - кол-во ресурсов игрока изменилось, действие триггера - выключить триггер, вот мы и нашли игрока который юзнул поставку ресурсов, GetTriggerPlayer - это тот игрок у которого в момент каста изменилось кол-во ресурсов.
Ах да, нужно у поставки ресуров поставить галочку - заряд игрока владельца.
По аналогии можно отследить кто юзал телескоп гоблина.
то есть владельцем юнита является тот игрок который совершил покупку а не тот кому принадлежал юнит совершивший покупку
таким образом мы получаем настоящего покупателя юнита
а сравнив владельцев купленного юнита и владельца юнита покупателя можно определить что юнит был куплен другим игроком
вернуть деньги игроку и не создавать предмет
таким образом игрок не сможет покупать предметы другим игрокам с помощью передачи контроля
EnergyFrost:
как определить что купил не владелец героя я написал уже