Join our community of MMORPG enthusiasts and private server developers! By registering, you'll gain access to in-depth discussions on source codes, binaries, and the latest developments in MMORPG server files. Collaborate with like-minded individuals, explore tutorials, and share insights on building and optimizing private servers. Join us today and unlock the full potential of MMORPG server development!
heres a cheat sheet i made myself. maybe it will help you.
open [main]
var Players ""
InterruptBlock ""
InterruptArg "".
waitlogin Players.
if Players == 0
then open
call "QuestFail".
close
pause Sec 10.
;;;;;;;;;;;;;;;add script filename located in scripts folder for the KQ being built
scriptfile "KQKingkong".
;;;;;;;;;;;;;;;
timelimit Min 50.
;;;;;;;;;;;;;;; call your funtions
call ???????.
;;;;;;;;;;;;;;;
close
;;;;;;;;;;;;;;;build your funtions
open [????????]
;;;;;;;;;;;;;;;funtion definition
close
;;;;;;;;;; important interupset to check for players
interruptclear.
interruptset PlayerEliminate "" 1 "QuestFail". ; checks if players are all dead, if all dead call questfail function
interruptset TimeOut "" 1 "QuestFail". ; checks if time has ran out , if time is out then call questfail funtion
interruptset DeadHandle "" 1 Boss_4 "Fo_BossClear". ;checks if Boss_4 is dead, if dead call Fo_BossClear funtion
; --------------------------------------------------------------- ;
infinite ;sets a infinate loop
open
waitinterrupt InterruptBlock "InterruptArg".
call InterruptBlock.
close
close
; --------------------------------------------------------------- ;
interruptset DeadHandle "" 1 Kingkong "QuestSuccess". ; checks if Kingkong is dead, if dead then call questsuccess funtion
interruptset DeadHandle "" 1 SubKingkong "QuestFail". ;checks if subkingkong is dead, if is dead call questfail funtion
broadcast all "KQReturn60". ; broadcasts mapwide information located in the scrpt files at locations
pause sec 10.
broadcast all "KQReturn50". ; broadcasts mapwide information located in the scrpt files at locations
pause sec 10.
broadcast all "KQReturn40". ; broadcasts mapwide information located in the scrpt files at locations
pause sec 10.
broadcast all "KQReturn30". ; broadcasts mapwide information located in the scrpt files at locations
pause sec 10.
broadcast all "KQReturn20". ; broadcasts mapwide information located in the scrpt files at locations
pause sec 10.
broadcast all "KQReturn10". ; broadcasts mapwide information located in the scrpt files at locations
pause sec 5.
broadcast all "KQReturn5". ; broadcasts mapwide information located in the scrpt files at locations
pause sec 5.
linkto all "Urg" "Urg" 5835 6397. ; warps all people to given location
endofkq.
break "main".
close
;;;;;;;;;;;;;;;;;;;;;;;;;
open [QuestFail]
questresult Fail.
broadcast all "KQFReturn30". ; broadcasts mapwide information located in the scrpt files at locations
pause sec 10.
broadcast all "KQFReturn20". ; broadcasts mapwide information located in the scrpt files at locations
pause sec 10.
broadcast all "KQFReturn10". ; broadcasts mapwide information located in the scrpt files at locations
pause sec 5.
broadcast all "KQFReturn5". ; broadcasts mapwide information located in the scrpt files at locations
pause sec 5.
linkto all "Urg" "Urg" 5835 6397. ; warps all people to given location
endofkq.
break "main".
close
look at your KQs, see how they are built and try editing them on your test server. its the easiest way of learning how scripting a new KQ (instance dungeon if you want) would work. that's what i did, and after some time things will get clear and pretty easy.
open the kongkong.ps with a notepad and look through it. thats what i built the cheat sheet on. look at the structure and follow it. use the sheet above and look at the notes i made and it tells the basic info of what the line was doing. If you study it a while you will start to see the build and understand how to make a custom quest.
pinescript.txt - add the ps on the top table and the script file on the lower table
field.txt - be sure the map is on the sheet and it has a subfrom and subto , if you want 10 maps it would be something like 00 09. On the KQ column it should be 1
mapinfo.shn - add a line for the map and be sure the kingdommap column be sure its set to 1
KingdomquestMap.shn - add a line for the map the
basemap is the severname of the map
map is the name + the first number in subfrom, subto (ex. tower01 would be tower0100 if subfrom 00 subto 09)
add all up to the subto number
kingdomquest.shn - add the KQ on the sheet, the ID is the map on the kingdomquestmap.shn count down the rows starting from 0 at top of kingdomquestmap and it will be the number for the id.
scriptlanguage is the location and script it used for the ps file
add the .ps file in ScenarioBookShelf/*/*.ps
add the script file in Script/*.txt
if there is a regen to go with it add the regen to MobRegen/KingdomQuest/*.txt