TeX13, EnableTrigger включает Триггер, может включить как минимум тот что был выключен функцией DisableTrigger
На счёт изначально выключенныъ в редакторе, я не знаю, врядтли, их же даже на ошибки не проверяет перед стартом
Makeba, changing_chance это текущий шанс (например у нас сейчас шанс уклонения 50%) change это насколько изменить шанс (например если у нас сейчас шанс уклонения 50% и change = 50%, то 50% + 50% = 75%)
Эти 75% и вернуться
LastUchiha, Вот я для себя библиотеку делал (мне тоже нужно было запихивать всё в одну переменную)
Объяснить как работает или сам разберёшься? (В ней нету гайдов, делал для себя)
library PANACEA000Nui000Srting000Lib
globals
string PANACEA000Nui000Srting000Lib_DefaultPoint = "&"
endglobals
//Выводит Выбранную Точку Записи
//"&0"
function PANACEA000Nui000Srting000Lib_GetStringByPoint takes string s, integer numberPoint returns string
local integer counter = 0
local integer counterStr = 0
local string ret_str = ""
loop
exitwhen counter > numberPoint
loop
exitwhen SubString(s, 0+counterStr, 1+counterStr) == PANACEA000Nui000Srting000Lib_DefaultPoint
counterStr = counterStr + 1
if counter == numberPoint
ret_str = ret_str+SubString(s, -1+counterStr, 0+counterStr)
endif
endloop
counterStr = counterStr + 1
counter = counter + 1
endloop
counter = 0
return ret_str
endfunction
//Добавляет Точку Записи в начало или в конец
function PANACEA000Nui000Srting000Lib_AddPoint takes string s, string s_add, string metod returns string
if metod == "start"
s = s_add+PANACEA000Nui000Srting000Lib_DefaultPoint+s
elseif metod == "end"
s = s+s_add+PANACEA000Nui000Srting000Lib_DefaultPoint
endif
return s
endfunction
//Добавляет Точку Записи в середину (по позиции)
function PANACEA000Nui000Srting000Lib_InjectPoint takes string s, string s_inject, integer numberPoint returns string
local integer counter = 0
local integer counterStr = 0
loop
exitwhen counter > numberPoint-1
loop
exitwhen SubString(s, 0+counterStr, 1+counterStr) == PANACEA000Nui000Srting000Lib_DefaultPoint
counterStr = counterStr + 1
endloop
counterStr = counterStr + 1
counter = counter + 1
endloop
counterStr = counterStr + 1
s = SubString(s, 0, counterStr-1)+s_inject+PANACEA000Nui000Srting000Lib_DefaultPoint+SubString(s, counterStr-1, StringLength(s))
counter = 0
return s
endfunction
//Убирает Точку Записи из середины (по позиции)
function PANACEA000Nui000Srting000Lib_OutjectPoint takes string s, integer numberPoint returns string
local integer counter = 0
local integer counterStr = 0
local integer outject = 0
loop
exitwhen counter > numberPoint
loop
exitwhen SubString(s, 0+counterStr, 1+counterStr) == PANACEA000Nui000Srting000Lib_DefaultPoint
counterStr = counterStr + 1
if counter == numberPoint
outject = outject + 1
endif
endloop
counterStr = counterStr + 1
counter = counter + 1
endloop
counterStr = counterStr + 1
s = SubString(s, 0, counterStr-1-outject-1)+SubString(s, counterStr-1, StringLength(s))
counter = 0
return s
endfunction
//Заменяет Точку Записи в середине (по позиции)
function PANACEA000Nui000Srting000Lib_ReplacePoint takes string s, string s_replace, integer numberPoint returns string
s = PANACEA000Nui000Srting000Lib_OutjectPoint(s,numberPoint)
s = PANACEA000Nui000Srting000Lib_InjectPoint(s,s_replace,numberPoint)
return s
endfunction
//Создаёт Стартовые Точки Записи для юнита с количеством параметров
function PANACEA000Nui000Srting000Lib_CreatePointsForUnit takes unit u, integer countPoints, hashtable hash, string stringhash returns string
local integer counter = 1
local string s = ""
loop
exitwhen counter > countPoints
counter = counter + 1
s = s+"0"+PANACEA000Nui000Srting000Lib_DefaultPoint
endloop
counter = 0
SaveStr(hash, GetHandleId(u), StringHash(stringhash), s)
return s
endfunction
//Меняет Две Выбранные Точки Записи Местами
function PANACEA000Nui000Srting000Lib_ReplaceTwoPoints takes string s, integer swapPoint_1, integer swapPoint_2 returns string
local string s1 = PANACEA000Nui000Srting000Lib_GetStringByPoint(s, swapPoint_1)
local string s2 = PANACEA000Nui000Srting000Lib_GetStringByPoint(s, swapPoint_2)
s = PANACEA000Nui000Srting000Lib_ReplacePoint(s, s1, swapPoint_2)
s = PANACEA000Nui000Srting000Lib_ReplacePoint(s, s2, swapPoint_1)
return s
endfunction
//Подсчитывает количество Точек Записи
function PANACEA000Nui000Srting000Lib_TotalPointCount takes string s returns integer
local integer counter = 0
local integer counterStr = 0
local integer counterPoint = 0
loop
exitwhen counter > StringLength(s)
loop
exitwhen SubString(s, 0+counterStr, 1+counterStr) == PANACEA000Nui000Srting000Lib_DefaultPoint or counterStr > StringLength(s)
counterStr = counterStr + 1
endloop
if SubString(s, 0+counterStr, 1+counterStr) == PANACEA000Nui000Srting000Lib_DefaultPoint
counterPoint = counterPoint + 1
endif
counterStr = counterStr + 1
counter = counter + 1
endloop
return counterPoint
endfunction
//Проверяет и добавляет Выбранную Точку Записи (в начало или в конец), если Точки Записи с таким же названием - не существует
function PANACEA000Nui000Srting000Lib_AddNewPointWithNewName takes string s, string s_new, string metod returns string
local integer counter = 0
local integer counterStr = 0
local string s_check = ""
loop
exitwhen counter >= PANACEA000Nui000Srting000Lib_TotalPointCount(s)
loop
exitwhen SubString(s, 0+counterStr, 1+counterStr) == PANACEA000Nui000Srting000Lib_DefaultPoint
s_check = s_check+SubString(s, 0+counterStr, 1+counterStr)
counterStr = counterStr + 1
endloop
if s_check == s_new
return s
endif
s_check = ""
counterStr = counterStr + 1
counter = counter + 1
endloop
s = PANACEA000Nui000Srting000Lib_AddPoint(s, s_new, metod)
counter = 0
return s
endfunction
//Ищет Выбранную Точку Записи и Отсылает её Номер
function PANACEA000Nui000Srting000Lib_FindPointNumber takes string s, string s_find returns integer
local integer pNumber = 1000000
local integer counter = 0
local integer counterStr = 0
local string s_check = ""
loop
exitwhen counter >= PANACEA000Nui000Srting000Lib_TotalPointCount(s)
loop
exitwhen SubString(s, 0+counterStr, 1+counterStr) == PANACEA000Nui000Srting000Lib_DefaultPoint
s_check = s_check+SubString(s, 0+counterStr, 1+counterStr)
counterStr = counterStr + 1
endloop
if s_check == s_find
return counter
endif
s_check = ""
counterStr = counterStr + 1
counter = counter + 1
endloop
counter = 0
return pNumber
endfunction
endlibrary
OVOgenez, Так я и думал что всё знаю, а оказывается не всё, там кстати не всё есть, например я так и не понял где менять древо это или не древо и может юнит атаковать в упор или не может (как баллиста)
Svintus, ты скрин так и не скинул, у тебя там вообще что-нибудь работает?
Я посмотрел, да ничем там особо написание не должно различаться, язык то JASS и там и там есть, а vJass и cJass не знаю
Они там есть?
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
» WarCraft 3 / Что вообще делает в триггере Initially on?
На счёт изначально выключенныъ в редакторе, я не знаю, врядтли, их же даже на ошибки не проверяет перед стартом
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
change это насколько изменить шанс (например если у нас сейчас шанс уклонения 50% и change = 50%, то 50% + 50% = 75%)
Эти 75% и вернуться
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
» WarCraft 3 / Что вообще делает в триггере Initially on?
» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)
» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)
» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)
» WarCraft 3 / Как создать свою систему локаций? - [Jass]
» WarCraft 3 / Как создать свою систему локаций? - [Jass]
» WarCraft 3 / Как создать свою систему локаций? - [Jass]
Объяснить как работает или сам разберёшься? (В ней нету гайдов, делал для себя)
» WarCraft 3 / Как создать свою систему локаций? - [Jass]
» WarCraft 3 / Функция сложения или вычитания шансов по Формуле убывающей полезности из Dota 2
» WarCraft 3 / Как создать свою систему локаций? - [Jass]
» WarCraft 3 / Как создать свою систему локаций? - [Jass]
Ред. Tredor46
» WarCraft 3 / Как создать свою систему локаций? - [Jass]
» WarCraft 3 / Убрать надпись герой(союзника) погиб
» WarCraft 3 / Убрать надпись герой(союзника) погиб
» WarCraft 3 / Убрать надпись герой(союзника) погиб
» WarCraft 3 / Убрать надпись герой(союзника) погиб
» WarCraft 3 / Убрать надпись герой(союзника) погиб
» WarCraft 3 / Вывод сообщения на экран о количестве юнитов (I2S не работает в ИИ)
Я посмотрел, да ничем там особо написание не должно различаться, язык то JASS и там и там есть, а vJass и cJass не знаю
Они там есть?