MyRtZ
offline
Опыт:
6,530Активность: |
Приказ на продажу предмета
Приветствую
Работая с действиями над игроком который вышел из игры возник один вопрос: Можно ли отдать приказ(ы) юниту на то что бы он продал предмет(ы) в его инвентаре?
После продажи предметов будет произведена раздача золота ливнувшего игрока союзникам, это очевидно. В поиске ничего подобного не нашел |
17.01.2011, 09:56 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vampirrr
O_o
offline
Опыт:
19,286Активность: |
MyRtZ, сдается мне что нет, нужно делать через БД.. |
17.01.2011, 10:02 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Метаморф
Карающая сила НЯ!
offline
Опыт:
7,528Активность: |
Если подумать, то можно. В принципе, это мазохизм и достаточно муторно на GUI (так как джасс мне не доступен), но всё же возможно. Придётся делать условие для каждого слота героя принадлежащего ливнувшему игроку, что если в слоте находится такая-то вещь, то она изымается, цену мы знаем изначально, офк, эта цена X. Каждому игроку добавляется голды X / на количество игроков. Всё осложняется кол-вом вещей...но создав отдельную категорию для лива копипастой можно сделать это быстрее.
Как-то так. |
17.01.2011, 12:17 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
JassMan
свободен
offline
Опыт:
4,193Активность: |
это при условии что все слоты предметов заполнены. а так нужно еще проверять если в каждом слоте предмет |
17.01.2011, 12:18 | #4
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MyRtZ
offline
Опыт:
6,530Активность: |
Спасибо, сейчас затестирую |
17.01.2011, 12:24 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
JassMan
свободен
offline
Опыт:
4,193Активность: |
Также нужно учесть, что все это происходит мгновенно, поэтому если юнит находится не рядом с магазином, то действия не успеют проделаться (наложатся друг на друга), и только последний предмет юнит побежит продавать — всё это будет, если юнит будет дальше дистанции [радиуса продажи предмета] поэтому цикл врубать надо когда юнит стоит рядом с магазом на этой самой дистанции ( хотя её можно настроить в игровых константах) Возможно придётся сделать задержку в 0.01 сек перед каждой продажей (если не получится вдруг, так как цикл работает мгновенно). А возможно и не придётся. . . |
17.01.2011, 12:28 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MyRtZ
offline
Опыт:
6,530Активность: |
В чем то ошибка, скорее всего в id приказа.
» Тестовый код
После вписывания lw юнит(герой) перемещается на позицию лавки и просто мигает приказ "Передвигатся" и "Стоп".
С ваитом видно что он просто движется к лавке.
MyRtZ добавил:
После удаления call SetUnitPosition(u,x,y) в обеих функциях стало ясно что юнит просто движется к лавке(подходит и далее ничего не происходит) => Ошибка в Id приказа. Помогите разобраться. Отредактировано MyRtZ, 17.01.2011 в 13:07. |
17.01.2011, 12:56 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
с чего ты взял, что это вообще будет работать, умник? |
17.01.2011, 13:24 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MyRtZ
offline
Опыт:
6,530Активность: |
Doc:
Сделайте систему наподобие этой только так что бы работала как надо, буду благодарен.
MyRtZ добавил:
Приказ о продаже почему-то не детектит :P
» Тест код для тех кому интересно
Приказы о прокачке способности, перемещении и об атаке детектит |
17.01.2011, 14:40 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
как сделаете, выкладывайте информацию и мы поговорим. |
17.01.2011, 14:42 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Icy
Это Я!
offline
Опыт:
1,785Активность: |
MyRtZ, делать тебе никто не будет, но вот принцип скажу, ЭТОЖЕ ЛЕГКО, какой легко ПРОЩЕ НЕКУДА!!! ёлки шпильки! Просто даём приказ юниту отдать предмет магазину! ВОТ И ВСЁ!
П.с: Только что проверил, так что самые умные заткнитесь! и не орите что это бред! |
17.01.2011, 14:42 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MyRtZ
offline
Опыт:
6,530Активность: |
DioD:
Все сделано, некоторые детали указаны в моем прошлом сообщении.
Могу залить карту в которой происходил тест
Icy:
:D
Если бы все так просто было |
17.01.2011, 14:45 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
всё действительно так просто, этой функции в гуи нет, но она есть в коммоне, только что проверил, всё работает. |
17.01.2011, 14:50 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MyRtZ
offline
Опыт:
6,530Активность: |
DioD:
Не нашел в common.j ничего подобного
:\ |
17.01.2011, 15:01 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Icy
Это Я!
offline
Опыт:
1,785Активность: |
DioD:
Не знаю про какую ты функцию говоришь(но догадываюсь: ордер отдачи предмета), но у меня она есть на гуи(Боевая единица - Order UNIT to give ITEM to UNIT |
17.01.2011, 15:04 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MyRtZ
offline
Опыт:
6,530Активность: |
Закрывайте тему
Icy, thanks :q |
17.01.2011, 15:16 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Icy
Это Я!
offline
Опыт:
1,785Активность: |
MyRtZ, думаю как продать все предметы героя не составит особо тяжкого труда =) |
17.01.2011, 15:21 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MyRtZ
offline
Опыт:
6,530Активность: |
|
17.01.2011, 15:22 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
вот так это выглядит, где хпал герой, а хволт лавка. |
17.01.2011, 15:27 | #19
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MyRtZ
offline
Опыт:
6,530Активность: |
DioD:
SetUnitX и SetUnitY по-моему не стоит юзать, думаю если возникнет препятствие по оси X то юнита откинет от припятствия а там уже искажение будет, хотя не испытывал это на деле
Тут нужно делать Loop к продаже, т.к продажа таким методом может не прокатить(продается только последний предмет). Не продаются предметы иногда просто от фейсинга юнита(юнит не успевает повернутся) |
17.01.2011, 15:44 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|