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