[ВАЖНО] Помощь по JASS
|
|
BinGO | Дата: Воскресенье, 21 Марта 2010, 16:03:21 | Сообщение # 326 |
Группа: Модераторы
Сообщений: 2906
Награды: 8
Блокировки:
| Quote (Slava_Uchiha) тема норм тока мало что понятно у меня тригеры рууские Триггеры и Jass - это не одно и то же...понятно, что ты тут ничего не поймешь.
|
|
|
|
DiR94 | Дата: Понедельник, 22 Марта 2010, 20:58:26 | Сообщение # 327 |
5 уровень
Группа: Проверенные
Сообщений: 133
Награды: 0
Репутация: 59
Блокировки:
| такое дело: здесь должна быть ошибка. я это понял методом комментирования остальной части кода. Code loop exitwhen i > 48 if udg_Buttons_for_stats[i] == GetClickedButton() then set num = i endif set i = i + 1 endloop call DisplayTextToPlayer(Player(0), 0, 0, I2S(num)) ещё кое-что: я подозреваю что ошибка в ифе, ибо: 1. при попытке вывести на экран num - ничего не выводится 2. если не закомментировать часть дальнейшего кода, то после функции вывода на экран ничего не выполняется
|
|
|
|
iApple | Дата: Понедельник, 22 Марта 2010, 21:08:08 | Сообщение # 328 |
4 уровень
Группа: Пользователи
Сообщений: 84
Награды: 0
Репутация: 8
Блокировки:
| Quote (DiR94) Code loop exitwhen i > 48 if udg_Buttons_for_stats[i] == GetClickedButton() then set num = i endif set i = i + 1 endloop call DisplayTextToPlayer(Player(0), 0, 0, I2S(num)) странно в джасе не щарю но перевел примерно луп х3 че такое выйти если I больше 48 если udg х3 кнопки для статистики и кликнуты на кнопку(такуюто) тогда изменить нум = i Закончить если Изменить i на еще +1 конец лупа Сказать тектс игроку 0 о.о 0,0,i2s(num)) это не понял скорей всего в конец мб должно быть ; конец скрипта Сорри за офтоп
|
|
|
|
DiR94 | Дата: Понедельник, 22 Марта 2010, 21:38:05 | Сообщение # 329 |
5 уровень
Группа: Проверенные
Сообщений: 133
Награды: 0
Репутация: 59
Блокировки:
| iApple, все из того что ты сказал - неверно
|
|
|
|
Artas_Undead | Дата: Понедельник, 22 Марта 2010, 21:54:15 | Сообщение # 330 |
9 уровень
Группа: Проверенные
Сообщений: 1953
Награды: 0
Репутация: 365
Блокировки:
| Quote (iApple) странно в джасе не щарю но перевел примерно Ё стыд *лицоладонь* Джасс не переводить надо...
|
|
|
|
H_A_PK | Дата: Понедельник, 22 Марта 2010, 23:57:28 | Сообщение # 331 |
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
| if udg_Buttons_for_stats[i] == GetClickedButton() then эта строка, условие не совподает не в одном из случаев )
проклятье ляжет на любого кто дочитает до конца нет не дочитывай не надо остановись ну всё капец
|
|
|
|
[DUОS] | Дата: Вторник, 23 Марта 2010, 00:51:41 | Сообщение # 332 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| H_A_PK, Или аффтар не задал локалки :р
|
|
|
|
Artas_Undead | Дата: Вторник, 23 Марта 2010, 00:54:59 | Сообщение # 333 |
9 уровень
Группа: Проверенные
Сообщений: 1953
Награды: 0
Репутация: 365
Блокировки:
| [DUОS], парсер бы ругался. А проблема в том, что в коде ошибок нет, а текст не идёт. H_A_PK, тоже самое.
|
|
|
|
H_A_PK | Дата: Четверг, 25 Марта 2010, 06:06:44 | Сообщение # 334 |
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
| Quote (Artas_Undead) [DUОS], парсер бы ругался. А проблема в том, что в коде ошибок нет, а текст не идёт. H_A_PK, тоже самое. ну дак я какбы пишусь с ним в асе, Quote (H_A_PK) if udg_Buttons_for_stats[i] == GetClickedButton() then так как он поставил if udg_Buttons_for_stats[i] != GetClickedButton() then и выдала на экран числа от 1 до 48 , значит я прав. ни одно из условий не совпало. и значит паход глобалки эти кривые.Добавлено (23-03-2010, 22:35) --------------------------------------------- function CameraAction takes unit un, integer idPlayer returns nothing local real x = GetUnitX(un) local real y = GetUnitY(un) local real a2 = GetUnitFacing(un) local real x2 = x - 400 * Cos(a2 * .0174532) local real y2 = y - 400 * Sin(a2 * .0174532) local location loc1 = Location(x,y) local location loc2 = Location(x2,y2) local real z1 = GetLocationZ(loc1) local real z2 = GetLocationZ(loc2) local real a1 = udg_Fgle[0] local real offset if z1 + 100 >= z2 then set offset = GetCameraField(CAMERA_FIELD_ZOFFSET) + GetUnitFlyHeight(un) + 300 + z1 - GetCameraEyePositionZ() set a1 = a1 - 15 else set offset = GetCameraField(CAMERA_FIELD_ZOFFSET) + GetUnitFlyHeight(un) + 250 + z2 - GetCameraEyePositionZ() set a1 = a1 - 40 endif if GetLocalPlayer() == Player(idPlayer) then call SetCameraField(CAMERA_FIELD_TARGET_DISTANCE,udg_Distanse,0.5) call SetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK,a1,0.5) call SetCameraField(CAMERA_FIELD_FIELD_OF_VIEW,2200,0.5) call SetCameraField(CAMERA_FIELD_ROTATION,a2,0.5) call SetCameraField(CAMERA_FIELD_ZOFFSET,offset,0.5) endif call RemoveLocation(loc1) call RemoveLocation(loc2) set loc1 = null set loc2 = null endfunction Code function CameraAction takes unit un, integer idPlayer returns nothing помогите плиз, то что в коде это то что скарее всего вызывает ошибку в ВЕ. т.е ВЕ мне выдаёт ошибку =/Добавлено (25-03-2010, 06:06) --------------------------------------------- HELP My. А к какому хендлу присваивать хеш таблицу если мне надо чтоб хендл попал в ForGroup.?? с тамймером вроде такая без пантовая фича не пройдёт.
проклятье ляжет на любого кто дочитает до конца нет не дочитывай не надо остановись ну всё капец
Сообщение отредактировал H_A_PK - Вторник, 23 Марта 2010, 01:09:21 |
|
|
|
kaisar | Дата: Четверг, 25 Марта 2010, 07:17:33 | Сообщение # 335 |
9 уровень
Группа: Проверенные
Сообщений: 814
Награды: 0
Репутация: 91
Блокировки:
| а как будет называться на jass диалог и диалоговая кнопка? у меня есть jass craft но пока не очень понял как с ним работать.
|
|
|
|
H_A_PK | Дата: Четверг, 25 Марта 2010, 07:34:00 | Сообщение # 336 |
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
| dialog. button. точно не помню:)
проклятье ляжет на любого кто дочитает до конца нет не дочитывай не надо остановись ну всё капец
|
|
|
|
Самокат | Дата: Четверг, 25 Марта 2010, 08:06:02 | Сообщение # 337 |
5 уровень
Группа: Проверенные
Сообщений: 124
Награды: 0
Репутация: 15
Блокировки:
| Как найти высоту точки на холме?
|
|
|
|
DragoN | Дата: Четверг, 25 Марта 2010, 08:16:15 | Сообщение # 338 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| Самокат, GetLocationZ?
El Psy Congroo
|
|
|
|
Самокат | Дата: Четверг, 25 Марта 2010, 08:27:10 | Сообщение # 339 |
5 уровень
Группа: Проверенные
Сообщений: 124
Награды: 0
Репутация: 15
Блокировки:
| Просто выходит в главное меню вара
|
|
|
|
H_A_PK | Дата: Пятница, 26 Марта 2010, 18:52:20 | Сообщение # 340 |
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
| Quote (Самокат) Просто выходит в главное меню вара как так, ошибка в коде лол..
проклятье ляжет на любого кто дочитает до конца нет не дочитывай не надо остановись ну всё капец
|
|
|
|
TVA | Дата: Суббота, 27 Марта 2010, 07:46:23 | Сообщение # 341 |
6 уровень
Группа: Проверенные
Сообщений: 191
Награды: 0
Репутация: 28
Блокировки:
| Вот я решил заняться Jass? что для этого надо какие программы.
TVA_AOS Мой самый первый проект)Думаю доделать его) Ночь безумия Мой второй проект не доделан и заброшен)
|
|
|
|
windrunner | Дата: Суббота, 27 Марта 2010, 08:24:29 | Сообщение # 342 |
10 уровень
Группа: Проверенные
Сообщений: 1259
Награды: 0
Репутация: 218
Блокировки:
| TVA, World Editor и все=) Желательно еще JNGP
И в правду мир сошел с ума... И до тех пор пока нас не обесточат Пока не догорит аварийных фонарей заряд Мы будем жечь тут электричество что есть мочи Русский мапмейкинг - бессмысленный и беспощадный.xD
|
|
|
|
DoctorGester | Дата: Суббота, 27 Марта 2010, 11:41:04 | Сообщение # 343 |
6 уровень
Группа: Проверенные
Сообщений: 209
Награды: 0
Репутация: 50
Блокировки:
| TVA, Варкрафт 3, JNGP, мозг, прямые руки и это
|
|
|
|
[DUОS] | Дата: Суббота, 27 Марта 2010, 17:28:16 | Сообщение # 344 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| Не обязательно) Quote (DoctorGester) мозг, прямые руки и это правило трёх неотъемлемых единств
|
|
|
|
Ramazan(off) | Дата: Понедельник, 29 Марта 2010, 12:06:05 | Сообщение # 345 |
11 уровень
Группа: Проверенные
Сообщений: 1670
Награды: 1
Репутация: 775
Блокировки:
| Quote (|соde:|) function UIS_CheckAction takes unit u, integer i returns boolean local integer array items local integer array drop local integer x = 0 local integer v local integer d local integer g = -1 loop exitwhen x > 5 set items[x] = GetItemTypeId(UnitItemInSlot(u,x)) set x = x + 1 endloop set x = i loop exitwhen x > i + 5 if udg_UIS_ItemId[x] > 0 then set v = 0 set d = 0 loop exitwhen d > 5 if v < udg_UIS_ItemCount[x] then if items[d] == udg_UIS_ItemId[x] then set v = v + 1 set g = g + 1 set drop[g] = d endif else exitwhen true endif set d = d + 1 endloop if v < udg_UIS_ItemCount[x] then return false endif endif set x = x + 1 endloop set x = 0 loop exitwhen x > g call RemoveItem(UnitItemInSlot(u,drop[x])) set x = x + 1 endloop return true endfunction //=========================================================================== function UIS_Check takes unit u returns integer local integer i = 0 loop exitwhen i == udg_UIS_Index if UIS_CheckAction(u,i) then return udg_UIS_ItemId[i+6] endif set i = i + 7 endloop return -1 endfunction //=========================================================================== function Trig_PickItem_Actions takes nothing returns nothing local unit u = GetTriggerUnit() local integer id = UIS_Check(u) local item f = null if id > -1 then set f = CreateItem(id,GetUnitX(u)+10,GetUnitY(u)) call UnitAddItem(u,f) set f = null endif set u = null endfunction //=========================================================================== function UIS_RegisterItem takes integer a1, integer a2, integer a3, integer a4, integer a5, integer a6, integer n returns nothing local integer x = udg_UIS_Index local integer v set udg_UIS_ItemId[udg_UIS_Index] = a1 set udg_UIS_ItemId[udg_UIS_Index+1] = a2 set udg_UIS_ItemId[udg_UIS_Index+2] = a3 set udg_UIS_ItemId[udg_UIS_Index+3] = a4 set udg_UIS_ItemId[udg_UIS_Index+4] = a5 set udg_UIS_ItemId[udg_UIS_Index+5] = a6 set udg_UIS_ItemId[udg_UIS_Index+6] = n loop exitwhen x > udg_UIS_Index + 5 if udg_UIS_ItemId[x] > 0 then set udg_UIS_ItemCount[x] = 1 set v = udg_UIS_Index loop exitwhen v > udg_UIS_Index + 5 if v != x then if udg_UIS_ItemId[v] == udg_UIS_ItemId[x] then set udg_UIS_ItemId[v] = 0 set udg_UIS_ItemCount[x] = udg_UIS_ItemCount[x] + 1 endif endif set v = v + 1 endloop endif set x = x + 1 endloop set udg_UIS_Index = udg_UIS_Index + 7 endfunction //=========================================================================== function InitTrig_PickItem takes nothing returns nothing set gg_trg_PickItem = CreateTrigger() call TriggerRegisterAnyUnitEventBJ(gg_trg_PickItem,EVENT_PLAYER_UNIT_PICKUP_ITEM) call TriggerAddAction(gg_trg_PickItem,function Trig_PickItem_Actions) set udg_UIS_Index = 0 Как добавить эффект в этот код? Т.е. при сборке предмета, появляется эффект.
|
|
|
|
H_A_PK | Дата: Понедельник, 29 Марта 2010, 13:42:34 | Сообщение # 346 |
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
| Quote (Ramazan(off)) if UIS_CheckAction(u,i) then return udg_UIS_ItemId[i+6] /добовляй эфект юниту u endif
проклятье ляжет на любого кто дочитает до конца нет не дочитывай не надо остановись ну всё капец
|
|
|
|
Бюллетень | Дата: Понедельник, 29 Марта 2010, 14:43:48 | Сообщение # 347 |
6 уровень
Группа: Проверенные
Сообщений: 160
Награды: 0
Репутация: 21
Блокировки:
| Ramazan(off), Code AddSpecialEffectTarget()
[ ZorDe] Ф бой Тускарцы, вы мега %)
|
|
|
|
Ramazan(off) | Дата: Понедельник, 29 Марта 2010, 19:23:18 | Сообщение # 348 |
11 уровень
Группа: Проверенные
Сообщений: 1670
Награды: 1
Репутация: 775
Блокировки:
| новый код с изменением пожалуйста. Бюллетень, Функцию я знал, но куда пихать?
|
|
|
|
Svyaga | Дата: Понедельник, 29 Марта 2010, 19:26:33 | Сообщение # 349 |
7 уровень
Группа: Проверенные
Сообщений: 472
Награды: 0
Репутация: 65
Блокировки:
| Вот: Code function UIS_CheckAction takes unit u, integer i returns boolean local integer array items local integer array drop local integer x = 0 local integer v local integer d local integer g = -1 loop exitwhen x > 5 set items[x] = GetItemTypeId(UnitItemInSlot(u,x)) set x = x + 1 endloop set x = i loop exitwhen x > i + 5 if udg_UIS_ItemId[x] > 0 then set v = 0 set d = 0 loop exitwhen d > 5 if v < udg_UIS_ItemCount[x] then if items[d] == udg_UIS_ItemId[x] then set v = v + 1 set g = g + 1 set drop[g] = d endif else exitwhen true endif set d = d + 1 endloop if v < udg_UIS_ItemCount[x] then return false endif endif set x = x + 1 endloop set x = 0 loop exitwhen x > g call RemoveItem(UnitItemInSlot(u,drop[x])) set x = x + 1 endloop return true endfunction //=========================================================================== function UIS_Check takes unit u returns integer local integer i = 0 loop exitwhen i == udg_UIS_Index if UIS_CheckAction(u,i) then return udg_UIS_ItemId[i+6] endif set i = i + 7 endloop return -1 endfunction //=========================================================================== function Trig_PickItem_Actions takes nothing returns nothing local unit u = GetTriggerUnit() local integer id = UIS_Check(u) local item f = null if id > -1 then set f = CreateItem(id,GetUnitX(u)+10,GetUnitY(u)) call UnitAddItem(u,f) call DestroyEffect (AddSpecialEffect("..............", ............., ..............)) set f = null endif set u = null endfunction //=========================================================================== function UIS_RegisterItem takes integer a1, integer a2, integer a3, integer a4, integer a5, integer a6, integer n returns nothing local integer x = udg_UIS_Index local integer v set udg_UIS_ItemId[udg_UIS_Index] = a1 set udg_UIS_ItemId[udg_UIS_Index+1] = a2 set udg_UIS_ItemId[udg_UIS_Index+2] = a3 set udg_UIS_ItemId[udg_UIS_Index+3] = a4 set udg_UIS_ItemId[udg_UIS_Index+4] = a5 set udg_UIS_ItemId[udg_UIS_Index+5] = a6 set udg_UIS_ItemId[udg_UIS_Index+6] = n loop exitwhen x > udg_UIS_Index + 5 if udg_UIS_ItemId[x] > 0 then set udg_UIS_ItemCount[x] = 1 set v = udg_UIS_Index loop exitwhen v > udg_UIS_Index + 5 if v != x then if udg_UIS_ItemId[v] == udg_UIS_ItemId[x] then set udg_UIS_ItemId[v] = 0 set udg_UIS_ItemCount[x] = udg_UIS_ItemCount[x] + 1 endif endif set v = v + 1 endloop endif set x = x + 1 endloop set udg_UIS_Index = udg_UIS_Index + 7 endfunction //=========================================================================== function InitTrig_PickItem takes nothing returns nothing set gg_trg_PickItem = CreateTrigger() call TriggerRegisterAnyUnitEventBJ(gg_trg_PickItem,EVENT_PLAYER_UNIT_PICKUP_ITEM) call TriggerAddAction(gg_trg_PickItem,function Trig_PickItem_Actions) set udg_UIS_Index = 0 Я показал куда эффект вставляется, но не написал какой эффект, кому и к какой части (т.к. не знаю), остаётся тебе только ввести это)
Сообщение отредактировал Svyaga - Понедельник, 29 Марта 2010, 19:29:10 |
|
|
|
Ramazan(off) | Дата: Понедельник, 29 Марта 2010, 19:29:15 | Сообщение # 350 |
11 уровень
Группа: Проверенные
Сообщений: 1670
Награды: 1
Репутация: 775
Блокировки:
| Спасибо: 1. Svyaga. 2. Бюллетень. 3. H_A_PK. OFFTOP.
|
|
|
|