"под ногами" - это где? Либо добавь магазину способность "выбор героя", чтобы он не выбрасывал итемы, а клал в инвентарь, либо книге дай свойства руны и галочку "используется сразу"(если ты имеешь ввиду те книги, о которых я думаю)
Любая книга не изчезает, а уменьшается и валяется маааааленькая.
Несколько вопросов назад я видел как кто то писал функцию,как ее убрать,но что то не могу найти
Теперь новая проблемма - если дать ей свойства руны - то действия в триггере,после при приобретения это книги не защитыватся .Только если убрать у нее свойства руны.Что за фигня?
А там именно диалоговое окно открывается или моделька диалогового окна?
Диалоговое окно.Там открывается и нажимаешь на кнопки - от них добавляется сила разум лоскость или здоровье - только там тупо сделано через книжки и я не пойму ,зачем проигрывать триггер который ничего не делает,вместо того что бы просто ничего не делать?
И зачем нужен этот СКРИПТ?
Ладно, просто расскажите ,для чего вот это, раз никто не хочет открывать карту
Code
//SuperIKI's Dialog Engine v3.0
// enjoy!
//For help on the dialog engine, go to http://www.superiki.de/war3/
//For help on the optional variables, get the sample map from the website
//and look at the trigger 'How to use the dialog engine'
// Optional variable 'GetLastClicker'
function setGetLastClicker takes player p returns nothing
set udg_GetLastClicker=p
endfunction
// Optional variable 'GetLastClickedButtonIndex'
function setGetLastClickedButtonIndex takes integer i returns nothing
set udg_GetLastClickedButtonIndex=i
endfunction
// Optional variable 'DialogString'
function getDialogString takes integer i returns string
return udg_DialogString[i]
// return ""
endfunction
function setDialogString takes integer i, string s returns nothing
set udg_DialogString[i]=s
endfunction
// Optional variable 'dialoginput_buttontext'
function getdialoginput_buttontext takes integer i returns string
return udg_dialoginput_buttontext[i]
// return ""
endfunction
function setdialoginput_buttontext takes integer i, string s returns nothing
set udg_dialoginput_buttontext[i]=s
endfunction
// Optional variable 'dialoginput_clickedtrigger'
function getdialoginput_clickedtrigger takes integer i returns trigger
return udg_dialoginput_clickedtrigger[i]
// return null
endfunction
function setdialoginput_clickedtrigger takes integer i, trigger t returns nothing
set udg_dialoginput_clickedtrigger[i]=t
endfunction
// Optional variable 'dialoginput_hotkey'
function getdialoginput_hotkey takes integer i returns string
return udg_dialoginput_hotkey[i]
// return ""
endfunction
function setdialoginput_hotkey takes integer i, string s returns nothing
set udg_dialoginput_hotkey[i]=s
endfunction
// Optional variable 'dialoginput_playerswhocansee'
function getdialoginput_playerswhocansee takes nothing returns force
return udg_dialoginput_playerswhocansee
// return null
endfunction
function setdialoginput_playerswhocansee takes force f returns nothing
set udg_dialoginput_playerswhocansee=f
endfunction
// Optional variable 'dialoginput_title'
function getdialoginput_title takes nothing returns string
return udg_dialoginput_title
// return ""
endfunction
function setdialoginput_title takes string s returns nothing
set udg_dialoginput_title=s
endfunction
// Optional variable 'dialoginput_buttoncount'
function getdialoginput_buttoncount takes nothing returns integer
return udg_dialoginput_buttoncount
// return 0
endfunction
function setdialoginput_buttoncount takes integer i returns nothing
set udg_dialoginput_buttoncount=i
endfunction
// That's it. No more optional variables.
// You don't need further on. Take care for your eyes :)
//______________________________ The End _______________________________
function endlessremover takes nothing returns nothing
loop
call TriggerSleepAction( 1 )
exitwhen GetTriggerExecCount(GetTriggeringTrigger()) > 1
endloop
call TriggerSleepAction( 2 )
call DestroyTrigger(GetTriggeringTrigger())
endfunction
function endlessloop takes nothing returns nothing
local trigger clicked
local string clickedstring
local player clicker
local integer buttonindex
local trigger removeloops
if GetTriggerExecCount(GetTriggeringTrigger())==1 then
set clicked=bj_meleeVisibilityTrained
set clickedstring=bj_cineFadeContinueTex
set clicker=bj_groupEnumOwningPlayer
set buttonindex=bj_groupEnumTypeId
set removeloops=bj_cineSceneBeingSkipped
loop
call TriggerSleepAction( 0.1 )
exitwhen GetTriggerExecCount(GetTriggeringTrigger()) > 1
exitwhen GetTriggerExecCount(removeloops) > 1
endloop
if GetTriggerExecCount(GetTriggeringTrigger()) > 1 then
call setGetLastClicker(clicker)
call setGetLastClickedButtonIndex(buttonindex)
if clicked!=null then
call TriggerExecute(clicked)
elseif clickedstring!="" then
call ExecuteFunc(clickedstring)
endif
call TriggerExecute(removeloops)
endif
call DestroyTrigger(GetTriggeringTrigger())
endif
endfunction
function ResetDialogStuff takes nothing returns nothing
local integer i=0
loop
exitwhen i==13 //!!! 0-12
call setDialogString(i,"")
set i=i+1
endloop
set i=0
loop
exitwhen i==12
call setdialoginput_buttontext(i,"")
call setdialoginput_clickedtrigger(i,null)
call setdialoginput_hotkey(i,"")
set i=i+1
endloop
call setdialoginput_playerswhocansee(null)
call setdialoginput_title("")
call setdialoginput_buttoncount(0)
endfunction
function buttontriggerstringf takes integer i returns string
return getDialogString(i+1)
endfunction
function DialogEngine_CreateDialog takes integer pid, string title, string bt0, string bt1, string bt2, string bt3, string bt4, string bt5, string bt6, string bt7, string bt8, string bt9, string bt10, string bt11, trigger btr0, trigger btr1, trigger btr2, trigger btr3, trigger btr4, trigger btr5, trigger btr6, trigger btr7, trigger btr8, trigger btr9, trigger btr10, trigger btr11 returns nothing
local dialog d
local integer i=0
local string array bt
local trigger array btr
local string array btrstring
local integer array bh
local trigger trg
local trigger loopremover
set bt[ 0]=bt0
set bt[ 1]=bt1
set bt[ 2]=bt2
set bt[ 3]=bt3
set bt[ 4]=bt4
set bt[ 5]=bt5
set bt[ 6]=bt6
set bt[ 7]=bt7
set bt[ 8]=bt8
set bt[ 9]=bt9
set bt[10]=bt10
set bt[11]=bt11
set btr[ 0]=btr0
set btr[ 1]=btr1
set btr[ 2]=btr2
set btr[ 3]=btr3
set btr[ 4]=btr4
set btr[ 5]=btr5
set btr[ 6]=btr6
set btr[ 7]=btr7
set btr[ 8]=btr8
set btr[ 9]=btr9
set btr[10]=btr10
set btr[11]=btr11
set btrstring[ 0]=buttontriggerstringf(0)
set btrstring[ 1]=buttontriggerstringf(1)
set btrstring[ 2]=buttontriggerstringf(2)
set btrstring[ 3]=buttontriggerstringf(3)
set btrstring[ 4]=buttontriggerstringf(4)
set btrstring[ 5]=buttontriggerstringf(5)
set btrstring[ 6]=buttontriggerstringf(6)
set btrstring[ 7]=buttontriggerstringf(7)
set btrstring[ 8]=buttontriggerstringf(8)
set btrstring[ 9]=buttontriggerstringf(9)
set btrstring[10]=buttontriggerstringf(10)
set btrstring[11]=buttontriggerstringf(11)
set bh[ 0]=bj_randDistID[ 0]
set bh[ 1]=bj_randDistID[ 1]
set bh[ 2]=bj_randDistID[ 2]
set bh[ 3]=bj_randDistID[ 3]
set bh[ 4]=bj_randDistID[ 4]
set bh[ 5]=bj_randDistID[ 5]
set bh[ 6]=bj_randDistID[ 6]
set bh[ 7]=bj_randDistID[ 7]
set bh[ 8]=bj_randDistID[ 8]
set bh[ 9]=bj_randDistID[ 9]
set bh[10]=bj_randDistID[10]
set bh[11]=bj_randDistID[11]
set d=udg_Dialog[pid]
call DialogClear(d)
call DialogSetMessage(d,title)
set loopremover=CreateTrigger()
call TriggerAddAction( loopremover, function endlessremover )
call TriggerExecute(loopremover)
loop
exitwhen bt[i]==""
exitwhen i>=12
set trg=CreateTrigger()
set bj_meleeVisibilityTrained=btr[i]
set bj_cineFadeContinueTex=btrstring[i]
set bj_groupEnumOwningPlayer=Player(pid)
set bj_groupEnumTypeId=i
set bj_cineSceneBeingSkipped=loopremover
call TriggerAddAction( trg, function endlessloop )
call TriggerExecute(trg)
call TriggerRegisterDialogButtonEvent( trg, DialogAddButton( d, bt[i], bh[i] ) )
set i=i+1
endloop
call ResetDialogStuff()
call DialogDisplay(Player(pid), d, true)
endfunction
function MakeDialog12 takes integer pid, string dialogtitle, string title0, trigger trig0, string title1, trigger trig1, string title2, trigger trig2, string title3, trigger trig3, string title4, trigger trig4, string title5, trigger trig5, string title6, trigger trig6, string title7, trigger trig7, string title8, trigger trig8, string title9, trigger trig9, string title10, trigger trig10, string title11, trigger trig11 returns nothing
call DialogEngine_CreateDialog(pid,dialogtitle, title0, title1, title2, title3, title4, title5, title6, title7, title8, title9, title10, title11, trig0, trig1, trig2, trig3, trig4, trig5, trig6, trig7, trig8, trig9, trig10, trig11 )
endfunction
function MakeDialog11 takes integer pid, string dialogtitle, string title0, trigger trig0, string title1, trigger trig1, string title2, trigger trig2, string title3, trigger trig3, string title4, trigger trig4, string title5, trigger trig5, string title6, trigger trig6, string title7, trigger trig7, string title8, trigger trig8, string title9, trigger trig9, string title10, trigger trig10 returns nothing
call MakeDialog12(pid,dialogtitle, title0,trig0, title1,trig1, title2,trig2, title3,trig3, title4,trig4, title5,trig5, title6,trig6, title7,trig7, title8,trig8, title9,trig9, title10,trig10, "",null )
endfunction
function MakeDialog10 takes integer pid, string dialogtitle, string title0, trigger trig0, string title1, trigger trig1, string title2, trigger trig2, string title3, trigger trig3, string title4, trigger trig4, string title5, trigger trig5, string title6, trigger trig6, string title7, trigger trig7, string title8, trigger trig8, string title9, trigger trig9 returns nothing
call MakeDialog11(pid,dialogtitle, title0,trig0, title1,trig1, title2,trig2, title3,trig3, title4,trig4, title5,trig5, title6,trig6, title7,trig7, title8,trig8, title9,trig9, "",null )
endfunction
function MakeDialog9 takes integer pid, string dialogtitle, string title0, trigger trig0, string title1, trigger trig1, string title2, trigger trig2, string title3, trigger trig3, string title4, trigger trig4, string title5, trigger trig5, string title6, trigger trig6, string title7, trigger trig7, string title8, trigger trig8 returns nothing
call MakeDialog10(pid,dialogtitle, title0,trig0, title1,trig1, title2,trig2, title3,trig3, title4,trig4, title5,trig5, title6,trig6, title7,trig7, title8,trig8, "",null )
endfunction
function MakeDialog8 takes integer pid, string dialogtitle, string title0, trigger trig0, string title1, trigger trig1, string title2, trigger trig2, string title3, trigger trig3, string title4, trigger trig4, string title5, trigger trig5, string title6, trigger trig6, string title7, trigger trig7 returns nothing
call MakeDialog9(pid,dialogtitle, title0,trig0, title1,trig1, title2,trig2, title3,trig3, title4,trig4, title5,trig5, title6,trig6, title7,trig7, "",null )
endfunction
function MakeDialog7 takes integer pid, string dialogtitle, string title0, trigger trig0, string title1, trigger trig1, string title2, trigger trig2, string title3, trigger trig3, string title4, trigger trig4, string title5, trigger trig5, string title6, trigger trig6 returns nothing
call MakeDialog8(pid,dialogtitle, title0,trig0, title1,trig1, title2,trig2, title3,trig3, title4,trig4, title5,trig5, title6,trig6, "",null )
endfunction
function MakeDialog6 takes integer pid, string dialogtitle, string title0, trigger trig0, string title1, trigger trig1, string title2, trigger trig2, string title3, trigger trig3, string title4, trigger trig4, string title5, trigger trig5 returns nothing
call MakeDialog7(pid,dialogtitle, title0,trig0, title1,trig1, title2,trig2, title3,trig3, title4,trig4, title5,trig5, "",null )
endfunction
function MakeDialog5 takes integer pid, string dialogtitle, string title0, trigger trig0, string title1, trigger trig1, string title2, trigger trig2, string title3, trigger trig3, string title4, trigger trig4 returns nothing
call MakeDialog6(pid,dialogtitle, title0,trig0, title1,trig1, title2,trig2, title3,trig3, title4,trig4, "",null )
endfunction
function MakeDialog4 takes integer pid, string dialogtitle, string title0, trigger trig0, string title1, trigger trig1, string title2, trigger trig2, string title3, trigger trig3 returns nothing
call MakeDialog5(pid,dialogtitle, title0,trig0, title1,trig1, title2,trig2, title3,trig3, "",null )
endfunction
function MakeDialog3 takes integer pid, string dialogtitle, string title0, trigger trig0, string title1, trigger trig1, string title2, trigger trig2 returns nothing
call MakeDialog4(pid,dialogtitle, title0,trig0, title1,trig1, title2,trig2, "",null )
endfunction
function MakeDialog2 takes integer pid, string dialogtitle, string title0, trigger trig0, string title1, trigger trig1 returns nothing
call MakeDialog3(pid,dialogtitle, title0,trig0, title1,trig1, "",null )
endfunction
function MakeDialog1 takes integer pid, string dialogtitle, string title0, trigger trig0 returns nothing
call MakeDialog2(pid,dialogtitle, title0,trig0, "",null )
endfunction
function clearHotkeys takes nothing returns nothing
local integer i=0
loop
exitwhen i==12
set bj_randDistID[i]=0
set i=i+1
endloop
endfunction
function setHotkeys takes integer hotkey0, integer hotkey1, integer hotkey2, integer hotkey3, integer hotkey4, integer hotkey5, integer hotkey6, integer hotkey7, integer hotkey8, integer hotkey9, integer hotkey10, integer hotkey11 returns nothing
call clearHotkeys()
set bj_randDistID[0]=hotkey0
set bj_randDistID[1]=hotkey1
set bj_randDistID[2]=hotkey2
set bj_randDistID[3]=hotkey3
set bj_randDistID[4]=hotkey4
set bj_randDistID[5]=hotkey5
set bj_randDistID[6]=hotkey6
set bj_randDistID[7]=hotkey7
set bj_randDistID[8]=hotkey8
set bj_randDistID[9]=hotkey9
set bj_randDistID[10]=hotkey10
set bj_randDistID[11]=hotkey11
endfunction
function MakeDialog9h takes integer pid, string dialogtitle, string title0, trigger trig0, integer hot0, string title1, trigger trig1, integer hot1, string title2, trigger trig2, integer hot2, string title3, trigger trig3, integer hot3, string title4, trigger trig4, integer hot4, string title5, trigger trig5, integer hot5, string title6, trigger trig6, integer hot6, string title7, trigger trig7, integer hot7, string title8, trigger trig8, integer hot8 returns nothing
call setHotkeys(hot0, hot1, hot2, hot3, hot4, hot5, hot6, hot7, hot8, 0,0,0)
call MakeDialog9(pid,dialogtitle, title0,trig0, title1,trig1, title2,trig2, title3,trig3, title4,trig4, title5,trig5, title6,trig6, title7,trig7, title8,trig8 )
endfunction
function MakeDialog8h takes integer pid, string dialogtitle, string title0, trigger trig0, integer hot0, string title1, trigger trig1, integer hot1, string title2, trigger trig2, integer hot2, string title3, trigger trig3, integer hot3, string title4, trigger trig4, integer hot4, string title5, trigger trig5, integer hot5, string title6, trigger trig6, integer hot6, string title7, trigger trig7, integer hot7 returns nothing
call setHotkeys(hot0, hot1, hot2, hot3, hot4, hot5, hot6, hot7, 0,0,0,0)
call MakeDialog8(pid,dialogtitle, title0,trig0, title1,trig1, title2,trig2, title3,trig3, title4,trig4, title5,trig5, title6,trig6, title7,trig7 )
endfunction
function MakeDialog7h takes integer pid, string dialogtitle, string title0, trigger trig0, integer hot0, string title1, trigger trig1, integer hot1, string title2, trigger trig2, integer hot2, string title3, trigger trig3, integer hot3, string title4, trigger trig4, integer hot4, string title5, trigger trig5, integer hot5, string title6, trigger trig6, integer hot6 returns nothing
call setHotkeys(hot0, hot1, hot2, hot3, hot4, hot5, hot6, 0,0,0,0,0)
call MakeDialog7(pid,dialogtitle, title0,trig0, title1,trig1, title2,trig2, title3,trig3, title4,trig4, title5,trig5, title6,trig6 )
endfunction
function MakeDialog6h takes integer pid, string dialogtitle, string title0, trigger trig0, integer hot0, string title1, trigger trig1, integer hot1, string title2, trigger trig2, integer hot2, string title3, trigger trig3, integer hot3, string title4, trigger trig4, integer hot4, string title5, trigger trig5, integer hot5 returns nothing
call setHotkeys(hot0, hot1, hot2, hot3, hot4, hot5, 0,0,0,0,0,0)
call MakeDialog6(pid,dialogtitle, title0,trig0, title1,trig1, title2,trig2, title3,trig3, title4,trig4, title5,trig5 )
endfunction
function MakeDialog5h takes integer pid, string dialogtitle, string title0, trigger trig0, integer hot0, string title1, trigger trig1, integer hot1, string title2, trigger trig2, integer hot2, string title3, trigger trig3, integer hot3, string title4, trigger trig4, integer hot4 returns nothing
call setHotkeys(hot0, hot1, hot2, hot3, hot4, 0,0,0,0,0,0,0)
call MakeDialog5(pid,dialogtitle, title0,trig0, title1,trig1, title2,trig2, title3,trig3, title4,trig4 )
endfunction
function MakeDialog4h takes integer pid, string dialogtitle, string title0, trigger trig0, integer hot0, string title1, trigger trig1, integer hot1, string title2, trigger trig2, integer hot2, string title3, trigger trig3, integer hot3 returns nothing
call setHotkeys(hot0, hot1, hot2, hot3, 0,0,0,0,0,0,0,0)
call MakeDialog4(pid,dialogtitle, title0,trig0, title1,trig1, title2,trig2, title3,trig3 )
endfunction
function MakeDialog3h takes integer pid, string dialogtitle, string title0, trigger trig0, integer hot0, string title1, trigger trig1, integer hot1, string title2, trigger trig2, integer hot2 returns nothing
call setHotkeys(hot0, hot1, hot2, 0,0,0,0,0,0,0,0,0)
call MakeDialog3(pid,dialogtitle, title0,trig0, title1,trig1, title2,trig2 )
endfunction
function MakeDialog2h takes integer pid, string dialogtitle, string title0, trigger trig0, integer hot0, string title1, trigger trig1, integer hot1 returns nothing
call setHotkeys(hot0, hot1, 0,0,0,0,0,0,0,0,0,0)
call MakeDialog2(pid,dialogtitle, title0,trig0, title1,trig1 )
endfunction
function MakeDialog1h takes integer pid, string dialogtitle, string title0, trigger trig0, integer hot0 returns nothing
call setHotkeys(hot0, 0,0,0,0,0,0,0,0,0,0,0)
call MakeDialog1(pid,dialogtitle, title0,trig0 )
endfunction
function MakeDialog takes integer pid, string dialogtitle, string title0, string title1, string title2, string title3, string title4, trigger trig0, trigger trig1, trigger trig2, trigger trig3, trigger trig4, integer hot0, integer hot1, integer hot2, integer hot3, integer hot4 returns nothing
call MakeDialog5h(pid,dialogtitle, title0,trig0,hot0, title1,trig1,hot1, title2,trig2,hot2, title3,trig3,hot3, title4,trig4,hot4 )
endfunction
function clearTriggerStrings takes nothing returns nothing
local integer i=0
loop
exitwhen i==12
call setDialogString(i,"")
set i=i+1
endloop
endfunction
function setTriggerStrings takes string s0, string s1, string s2, string s3, string s4, string s5, string s6, string s7, string s8, string s9, string s10, string s11 returns nothing
call clearTriggerStrings()
call setDialogString(1,s0)
call setDialogString(2,s1)
call setDialogString(3,s2)
call setDialogString(4,s3)
call setDialogString(5,s4)
call setDialogString(6,s5)
call setDialogString(7,s6)
call setDialogString(8,s7)
call setDialogString(9,s8)
call setDialogString(10,s9)
call setDialogString(11,s10)
call setDialogString(12,s11)
endfunction
function MakeDialog12S takes integer pid, string title, string buttontitle0, string buttontitle1, string buttontitle2, string buttontitle3, string buttontitle4, string buttontitle5, string buttontitle6, string buttontitle7, string buttontitle8, string buttontitle9, string buttontitle10, string buttontitle11, string buttontriggerstring0, string buttontriggerstring1, string buttontriggerstring2, string buttontriggerstring3, string buttontriggerstring4, string buttontriggerstring5, string buttontriggerstring6, string buttontriggerstring7, string buttontriggerstring8, string buttontriggerstring9, string buttontriggerstring10, string buttontriggerstring11 returns nothing
call setTriggerStrings(buttontriggerstring0,buttontriggerstring1,buttontriggerstring2,buttontriggerstring3,buttontriggerstring4,buttontriggerstring5,buttontriggerstring6,buttontriggerstring7,buttontriggerstring8,buttontriggerstring9,buttontriggerstring10,buttontriggerstring11)
call DialogEngine_CreateDialog(pid,title, buttontitle0, buttontitle1, buttontitle2, buttontitle3, buttontitle4, buttontitle5, buttontitle6, buttontitle7, buttontitle8, buttontitle9, buttontitle10, buttontitle11, null,null,null,null,null,null,null,null,null,null,null,null )
endfunction
function hotkeystring2int takes string s returns integer
local string array a
local string array b
local integer i
set a[48]="0"
set a[49]="1"
set a[50]="2"
set a[51]="3"
set a[52]="4"
set a[53]="5"
set a[54]="6"
set a[55]="7"
set a[56]="8"
set a[57]="9"
set b[65]="A"
set b[66]="B"
set b[67]="C"
set b[68]="D"
set b[69]="E"
set b[70]="F"
set b[71]="G"
set b[72]="H"
set b[73]="I"
set b[74]="J"
set b[75]="K"
set b[76]="L"
set b[77]="M"
set b[78]="N"
set b[79]="O"
set b[80]="P"
set b[81]="Q"
set b[82]="R"
set b[83]="S"
set b[84]="T"
set b[85]="U"
set b[86]="V"
set b[87]="W"
set b[88]="X"
set b[89]="Y"
set b[90]="Z"
set i=48
loop
exitwhen i>90
if i==58 then
set i=65
endif
if a[i]==s then
return i
endif
if i>=64 and i<=90 and b[i]==s then
return i
endif
set i=i+1
endloop
if s=="@" then
return 512
endif
return 0
endfunction
function DialogEngine_executeString takes string param returns nothing
local integer buttoncount=1
local string array buttontexts
local string array triggertexts
local string array hotkeys
local integer array ihotkeys
local integer pindex
local string title=""
local string s=param
local string s2=""
local string c
local integer i
local integer BUTTONTEXT=0
local integer TRIGGERTEXT=1
local integer PLAYERINDEXTEXT=2
local integer TITLETEXT=3
local integer mode=PLAYERINDEXTEXT
local boolean nextisspecial=false
local boolean nextishotkey=false
set i=0
loop
exitwhen i==12
set buttontexts[i]=""
set triggertexts[i]=""
set hotkeys[i]=""
set i=i+1
endloop
set i=1
loop
set c=SubStringBJ(s,i,i)
exitwhen c==""
if nextishotkey then
set hotkeys[buttoncount-1]=c
if c!="@" then
set c="|c00ffffff"+c+"|r"
else
set c=""
endif
set nextishotkey=false
endif
if nextisspecial then
set nextisspecial=false
if c=="h" then
set c=""
set nextishotkey=true
else
set c="|"+c
endif
endif
if c=="|" and mode==BUTTONTEXT then
set c=""
set nextisspecial=true
endif
if c==" " and mode==TRIGGERTEXT then
set c="_"
endif
if c=="=" and mode==BUTTONTEXT then
set buttontexts[buttoncount-1]=s2
set c=""
set s2=""
set mode=TRIGGERTEXT
endif
if c==";" and mode==TRIGGERTEXT then
set triggertexts[buttoncount-1]=s2
set c=""
set s2=""
set mode=BUTTONTEXT
set buttoncount=buttoncount+1
endif
if c==":" and mode==PLAYERINDEXTEXT then
set pindex=S2I(s2)-1
set c=""
set s2=""
set mode=TITLETEXT
endif
if c==":" and mode==TITLETEXT then
set title=s2
set c=""
set s2=""
set mode=BUTTONTEXT
endif
set s2=s2+c
set i=i+1
endloop
set triggertexts[buttoncount-1]=s2
set i=0
loop
exitwhen i>=buttoncount
set triggertexts[i]="Trig_"+triggertexts[i]+"_Actions"
set i=i+1
endloop
set i=0
loop
exitwhen i==12
set ihotkeys[i]=hotkeystring2int(hotkeys[i])
set i=i+1
endloop
call setHotkeys( ihotkeys[0], ihotkeys[1], ihotkeys[2], ihotkeys[3], ihotkeys[4], ihotkeys[5], ihotkeys[6], ihotkeys[7], ihotkeys[8], ihotkeys[9], ihotkeys[10], ihotkeys[11] )
call MakeDialog12S(pindex,title, buttontexts[0], buttontexts[1], buttontexts[2], buttontexts[3], buttontexts[4], buttontexts[5], buttontexts[6], buttontexts[7], buttontexts[8], buttontexts[9], buttontexts[10], buttontexts[11], triggertexts[0], triggertexts[1], triggertexts[2], triggertexts[3], triggertexts[4], triggertexts[5], triggertexts[6], triggertexts[7], triggertexts[8], triggertexts[9], triggertexts[10], triggertexts[11] )
endfunction
function DialogEngine_showPickedPlayer takes nothing returns nothing
local integer array h
local integer i=0
loop
exitwhen i==12
set h[i]=hotkeystring2int(getdialoginput_hotkey(i))
set i=i+1
endloop
call setHotkeys(h[0], h[1], h[2], h[3], h[4], h[5], h[6], h[7], h[8], h[9], h[10], h[11])
call DialogEngine_CreateDialog( GetPlayerId(GetEnumPlayer()), getdialoginput_title(), getdialoginput_buttontext(0), getdialoginput_buttontext(1), getdialoginput_buttontext(2), getdialoginput_buttontext(3), getdialoginput_buttontext(4), getdialoginput_buttontext(5), getdialoginput_buttontext(6), getdialoginput_buttontext(7), getdialoginput_buttontext(8), getdialoginput_buttontext(9), getdialoginput_buttontext(10), getdialoginput_buttontext(11), getdialoginput_clickedtrigger(0),getdialoginput_clickedtrigger(1),getdialoginput_clickedtrigger(2),getdialoginput_clickedtrigger(3),getdialoginput_clickedtrigger(4),getdialoginput_clickedtrigger(5),getdialoginput_clickedtrigger(6),getdialoginput_clickedtrigger(7),getdialoginput_clickedtrigger(8),getdialoginput_clickedtrigger(9),getdialoginput_clickedtrigger(10),getdialoginput_clickedtrigger(11))
endfunction
function DialogEngine_massVar takes nothing returns nothing
local integer i
set i=getdialoginput_buttoncount()
loop
exitwhen i>=12
call setdialoginput_buttontext(i,"")
call setdialoginput_clickedtrigger(i,null)
call setdialoginput_hotkey(i,"")
set i=i+1
endloop
call ForForce( getdialoginput_playerswhocansee(), function DialogEngine_showPickedPlayer )
endfunction
function InitDialog takes nothing returns nothing
local integer pid = GetPlayerId(GetEnumPlayer())
local dialog dia=DialogCreate()
set udg_Dialog[pid]=dia
call DialogClearBJ( dia )
call DialogSetMessageBJ( dia, "test" )
endfunction
function Trig_Dialog_Actions takes nothing returns nothing
//Initialization:
if GetTriggerExecCount(GetTriggeringTrigger())==1 then
call ForForce( GetPlayersByMapControl(MAP_CONTROL_USER), function InitDialog )
call setDialogString(0,"")
return
endif
//Calling the engine to show a dialog:
if getDialogString(0)!="" then
call DialogEngine_executeString(getDialogString(0))
else
call DialogEngine_massVar()
endif
endfunction
//===========================================================================
function InitTrig_stats_up takes nothing returns nothing
set gg_trg_stats_up = CreateTrigger( )
call TriggerRegisterTimerEventSingle( gg_trg_stats_up, 0.00 )
call TriggerAddAction( gg_trg_stats_up, function Trig_Dialog_Actions )
endfunction
Можно изменить в настройках модели.Что бы проигрвалась анимация мощь гор.
Можно тупо дать заклинание неуязвимость к магии и изменить внешность через mdlvis
или просто увеличить действие заклинания мощь гор на очень долгий срок
Вроде больше других идей в голову не
идет
Создай Логическую переменную = ДА ,если имеет предмет второго уровня и при подборе такого же предмета выбросить )
Ну и целочисленную под уровень изменить
Ну,тогда ладно.Есть у меня один мужик - охотник.И голос боевой -но он не захочет за просто так озвучивать.И текст он читает а не рассказывает.Я пробовал к себе на канал на ю-тубе позвать.Не получилось.
Удачи вам в проекте))
Suite, вот только придётся каждый раз вручную юзать этот спелл SсRealm, ты вопрос прочти прежде чем писать всякий бред
нормальным способом момент добычи отловить нельзя
недавно кидали костыль позволяющий отловить удар по дереву но он тут не особо поможет
ибо анимации будут перебивать друг друга
в общем как и сказал Suite меняй это в самой модели
Я правильно написал как проигрывать анимации .Насчет того,можно ли отловить удар по дереву я не знаю
а что анимации перебивают друг друга - у меня такого не было( едиственный раз случилось у героя и то получилось ,что он как будто танцует, впрочем тебе не понять)
Создаешь триггер,изначально выключен , каждые 0.50 сек
пишешь такую команду
call SetUnitAnimationByIndex(udg_Hero,2)
где udg_Hero- переменная твой герой
цифра- это порядковый номер анимации
( можешь методом тыка менять цифры или посмотреть в mdlvis)
Включаешь триггер при необходимости))
» WarCraft 3 / иконки
ReplaceableTextures\CommandButtonsDisabled\DISBTN****
( вместо звездочек - имя твоей картинки disbtn)
» WarCraft 3 / иконки
» WarCraft 3 / Проблематика выделения типа widget в GUI
» WarCraft 3 / Модели оружия
и меняй оружие через сферу молнии
» WarCraft 3 / Помогите скачать
Лучшие модели для варкрафта на Хайве и Xgm!))
» WarCraft 3 / Zyxel hero siege Пришло время узнать все !
Все такие умные, великие айсфроггеры,но разобраться со скриптом никто не может
» WarCraft 3 / Где -то видел в обсуждении но не могу сейчас найти
Несколько вопросов назад я видел как кто то писал функцию,как ее убрать,но что то не могу найти
Теперь новая проблемма - если дать ей свойства руны - то действия в триггере,после при приобретения это книги не защитыватся .Только если убрать у нее свойства руны.Что за фигня?
» WarCraft 3 / Как ждать меньше 0.10?
» WarCraft 3 / КД спеллов не идет.
Ред. Uber
» WarCraft 3 / Zyxel hero siege Пришло время узнать все !
И зачем нужен этот СКРИПТ?
Ладно, просто расскажите ,для чего вот это, раз никто не хочет открывать карту
» WarCraft 3 / Zyxel hero siege Пришло время узнать все !
» WarCraft 3 / Мощь гор
Можно тупо дать заклинание неуязвимость к магии и изменить внешность через mdlvis
или просто увеличить действие заклинания мощь гор на очень долгий срок
Вроде больше других идей в голову не
идет
» WarCraft 3 / Точка приложения Аттачмента
Ред. SсRealm
» WarCraft 3 / Смена оружия.
Ну и целочисленную под уровень изменить
» WarCraft 3 / Озвучка для сериала "Страж" (изменено)
Удачи вам в проекте))
» WarCraft 3 / Сборка как в доте
» WarCraft 3 / Озвучка для сериала "Страж" (изменено)
Ред. SсRealm
» WarCraft 3 / Переменные боевая единица
Это в jngp?!
SсRealm: SсRealm:
» WarCraft 3 / Как сделать чтобы работник мог носить и использовать предметы?
» WarCraft 3 / Динамическая погода
Закрывайте вопрос уже!
» WarCraft 3 / Замена анимации юнита
а что анимации перебивают друг друга - у меня такого не было( едиственный раз случилось у героя и то получилось ,что он как будто танцует, впрочем тебе не понять)
» WarCraft 3 / Замена анимации юнита
пишешь такую команду
call SetUnitAnimationByIndex(udg_Hero,2)
где udg_Hero- переменная твой герой
цифра- это порядковый номер анимации
( можешь методом тыка менять цифры или посмотреть в mdlvis)
Включаешь триггер при необходимости))
» WarCraft 3 / Динамическая погода