Поясняю вопрос:
В карте передача ресурсов запрещена, но ее можно организовать иначе: я даю союзнику контроль, он покупает дорогую вещь в магазине моему персонажу, а я ее продаю. Не важно, что мне вернется лишь 50% от того, что потратил союзник. Важно то, что вообще мне упадет с этого голд. Вопрос: как можно этого избежать?
Вариант с обесцениванием вещей отпадает сразу!

Принятый ответ

EnergyFrost, юнит будет принадлежать игроку который контролировал
то есть владельцем юнита является тот игрок который совершил покупку а не тот кому принадлежал юнит совершивший покупку
таким образом мы получаем настоящего покупателя юнита
а сравнив владельцев купленного юнита и владельца юнита покупателя можно определить что юнит был куплен другим игроком
вернуть деньги игроку и не создавать предмет
таким образом игрок не сможет покупать предметы другим игрокам с помощью передачи контроля
EnergyFrost:
Покупка предмета будет совершена за счет игрока-контролера.
ну так отменяем покупку и все проблемы
как определить что купил не владелец героя я написал уже
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
15
8 лет назад
Отредактирован EnergyFrost
0
nvc123, ага в этом и есть вся проблема. У меня тут еще одна идея появилась: через событие, что у игрока голда становится >= 0. Но это слишком мутерно. Запоминать все шмотри и весь голд. У игрока был голд <3500, но появилась шмотка, цена которой в бд 3500- значит кто-то купил. Но это ужас будет. Каждое изменение в ресурсах игрока ( а их 12) будет теребонькать этот триггер. В общем, твой способ скорее всего самый лучший из худших.
Либо пойти на другие меры: сделать систему контроля, но пожалуй это не самый лучший вариант...
Кто не понял о чем я- посмотрите карту
Загруженные файлы
0
28
8 лет назад
0
EnergyFrost, а чем юниты плохи?
да придётся помучится с бд
но других проблем быть не должно
0
15
8 лет назад
0
nvc123, сейчас подумал. Проблема все равно останется. Юнит будет куплен за счет игрока, который контролировал твоего юнита. И в итоге все придет к началу. Покупка предмета будет совершена за счет игрока-контролера. А не твой счет
Скорее всего никак не удастся отследить. Мой способ очень труден, но других перспектив не вижу.
Была идея с 12 магазинами и GetLocalPlayer. Чтобы магазины могли продавать только своим владельцам, но реализовывать это тоже трудновато и + надо о десинхре задуматься на этой почве. И еще я не знаю, как поведет себя магазин союзника, если ты дал контроль. Скорее всего закуп будет возможен в одном магазине и тебе и союзу.
0
32
8 лет назад
0
Как насчет запредить вовсе продажу предметов, в привычном плане а сделать какой нить ящик или курьер - где будет кнопка утилизировать предмет, положил предмет, нажал кнопку предмет исчез а юнит получил голд.
Делаем это основе скилла - Поставка ресурсов, событие - наш утилизатор предметов отдал приказ без указания цели, условие - приказ разве поставка ресурсов, действия - создать новый триггер и добавить ему по событию типа - кол-во ресурсов игрока изменилось, действие триггера - выключить триггер, вот мы и нашли игрока который юзнул поставку ресурсов, GetTriggerPlayer - это тот игрок у которого в момент каста изменилось кол-во ресурсов.
Ах да, нужно у поставки ресуров поставить галочку - заряд игрока владельца.
По аналогии можно отследить кто юзал телескоп гоблина.
0
28
8 лет назад
0
EnergyFrost, юнит будет принадлежать игроку который контролировал
то есть владельцем юнита является тот игрок который совершил покупку а не тот кому принадлежал юнит совершивший покупку
таким образом мы получаем настоящего покупателя юнита
а сравнив владельцев купленного юнита и владельца юнита покупателя можно определить что юнит был куплен другим игроком
вернуть деньги игроку и не создавать предмет
таким образом игрок не сможет покупать предметы другим игрокам с помощью передачи контроля
EnergyFrost:
Покупка предмета будет совершена за счет игрока-контролера.
ну так отменяем покупку и все проблемы
как определить что купил не владелец героя я написал уже
Принятый ответ
0
15
8 лет назад
0
EnergyFrost, юнит будет принадлежать игроку который контролировал
то есть владельцем юнита является тот игрок который совершил покупку а не тот кому принадлежал юнит совершивший покупку
Хм. Это интересно. Попробую, спасибо. А то я подумал, что юнит будет принадлежать владельцу юнита. А не инициатору игроку.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.