Junior Spellweaver
- Joined
- May 6, 2013
- Messages
- 105
- Reaction score
- 9
I haven't seen any guide for making and it's still good to have one.
YOU NEED :
-to know how to add a map and mobs in (http://forum.ragezone.com/f593/beginner-guide-adding-maps-tut-941410/) credits go to popejohnpaul.
-a text editor
- the map folder with the shmd files (it's important)
- The "structure" of your Instance. (If it's like LN or Iyzel or like a KQ)
-SHN editor
-MapInfo.shn and MapViewInfo.shn from the "official" versions (OS or gamigo)
-Shine Tables
-MobInfo.shn
I.Adding the map
For example we're gonna use the WarN map (devildom territory), you copy the folder into resmap> IDField.
Add the map : http://forum.ragezone.com/f593/beginner-guide-adding-maps-tut-941410/
(copy paste the line from OS or gamigo Shn to your own shn)
Go to the map folder open the XXX.shmd file in any text editor and check if the repertory is
resmap/IDField/WarN (there are many like this so make sure all the line got this setup).
Run your server and check if the map works fine.
II.Making the regen
Once you got the map running, copy paste an existing .txt (in MobRegen) and rename it to WarN, then open it with shine table
You will have a table like that on the 1st page.
to fill the column CenterX CenterY and width you need to go in game and use the command &coord where you want your mob to be and write it down. The coord will appear in this form[CenterX/CenterY/Width]
For the IsFamily you choose between Y or N, Y if you want your Group of mob to attack together or N if you want them to attack alone. (YOU CAN PUT ONLY 1 LETTER ON THIS CASE)
on the 2nd page you will have a table starting like that
You only have to fill this part of the table : For RegenIndex it must be the same in the 1st and 2nd table.
For MobIndex you put the MobInx name here and for MobNum , the number of mob you want to spawn.
I.E = MobIndex : slime/ MobNum = 5
It will spawn 5 slime.
III. The PineScript
Copy paste a .ps file (Shine>ScenarioBookShelf>ID) Then open it in a text editor.
You will have something like that (The thing to edit will be underlined and bold)
The 3 first line to edit, you have to put your boss info in this format [MobIndex CenterX CenterY Width]
For the fellows you have to put it in this format
regengroup "Name of the Regen files (a .txt file)" "RegenIndex".
save as NameOfYourInstance.ps (extension is important must be .ps) in the same folder (ScenarioBookShelf>ID)
Go in Shine>World open PineScript.txt with Shine table : at the end of the 1st table put this : ID/NameOfYourPineScriptFile and and the end of the second table put this : NameOfYourPineScriptFile.
Now go in World> Script then copy paste any script and rename the freshly pasted one.
IV. Config in Field.txt and NPC.txt
Open field.txt with Shine Table,in the 1st table : copy paste LN instance line and change the checksum. The regen city and regen coord.
In the 2nd table copy paste the LN line again change the script file name (you will have a case with this format : ID/NameOfYourInstance.
Don't close or save yet.
Now open NPC.txt (in World folder) go at the bottom and create an IDGate.
Then paste The IDGate argument in Field.txt Gate argument column.
Save all start your services, enjoy.
If you have any trouble message on skype : dersfinou
YOU NEED :
-to know how to add a map and mobs in (http://forum.ragezone.com/f593/beginner-guide-adding-maps-tut-941410/) credits go to popejohnpaul.
-a text editor
- the map folder with the shmd files (it's important)
- The "structure" of your Instance. (If it's like LN or Iyzel or like a KQ)
-SHN editor
-MapInfo.shn and MapViewInfo.shn from the "official" versions (OS or gamigo)
-Shine Tables
-MobInfo.shn
I.Adding the map
For example we're gonna use the WarN map (devildom territory), you copy the folder into resmap> IDField.
Add the map : http://forum.ragezone.com/f593/beginner-guide-adding-maps-tut-941410/
(copy paste the line from OS or gamigo Shn to your own shn)
Go to the map folder open the XXX.shmd file in any text editor and check if the repertory is
resmap/IDField/WarN (there are many like this so make sure all the line got this setup).
Run your server and check if the map works fine.
II.Making the regen
Once you got the map running, copy paste an existing .txt (in MobRegen) and rename it to WarN, then open it with shine table
You will have a table like that on the 1st page.
Empty0 | GroupIndex | IsFamily | CenterX | CenterY | Width | Height | RangeDegree |
WarN1 | Y/N | #### | #### | ### | 0 | 250 | |
WarN2 | Y/N | #### | #### | ### | 0 | 250 | |
WarN3 | Y/N | #### | #### | ### | 0 | 250 | |
WarN4 | Y/N | #### | #### | ### | 0 | 250 | |
WarN5 | Y/N | #### | #### | ### | 0 | 250 |
to fill the column CenterX CenterY and width you need to go in game and use the command &coord where you want your mob to be and write it down. The coord will appear in this form[CenterX/CenterY/Width]
For the IsFamily you choose between Y or N, Y if you want your Group of mob to attack together or N if you want them to attack alone. (YOU CAN PUT ONLY 1 LETTER ON THIS CASE)
on the 2nd page you will have a table starting like that
Empty0 | RegenIndex | MobIndex | MobNum |
WarN1 | xxxxx | ### | |
WarN2 | xxxxx | ### | |
WarN3 | xxxxx | ### | |
WarN4 | xxxxx | ### | |
WarN5 | xxxxx | ### |
You only have to fill this part of the table : For RegenIndex it must be the same in the 1st and 2nd table.
For MobIndex you put the MobInx name here and for MobNum , the number of mob you want to spawn.
I.E = MobIndex : slime/ MobNum = 5
It will spawn 5 slime.
III. The PineScript
Copy paste a .ps file (Shine>ScenarioBookShelf>ID) Then open it in a text editor.
You will have something like that (The thing to edit will be underlined and bold)
Code:
;º¸½º 1 850 6060;º¸½º 2 5410 1890
;·¹ºñ 2945 2748
open [main]
var BossAInfo "[B][U]KingBoogy 819 2864 0[/U][/B]" ;<@>; ù° º¸½º À妽º¿Í À§Ä¡
BossBInfo "[B][U]EmperorCrab 5487 1959 0[/U][/B]" ;<@>; µÑ° º¸½º À妽º¿Í À§Ä¡
LeviMainInfo "[B][U]ViciousLeviathan 2948 2743 0[/U][/B]" ;<@>; ¸®¹ÙÀ̾î´ø À妽º¿Í À§Ä¡
; LeviHeadInfo "ViciousLeviathan01 2948 2743 90" ;<@>; ¸®¹ÙÀ̾î´ø ¸Ó¸®¸¸ÀÇ À§Ä¡ ;!@#$%^&*();
NPCTargetCoord "BombBoogySum01 650 3588 " %
; "BombBoogySum02 416 3185 " %
; "BombBoogySum02 1137 3197 " %
; "BombBoogySum03 806 2748 " %
"0 0 0"
; ExitInfo "IDMapLinkGate02 2253 2627 270" ;<@>; º¸½º óġ ÈÄ ¹® À妽º¿Í À§Ä¡, ¹æÇâ
; GateInfo "IDMapLinkGate02 3019 5573 0" ;<@>; ÀÔ±¸ÀÇ ¹® À妽º¿Í À§Ä¡, ¹æÇâ
BossAHandle 0
BossBHandle 0
LeviMainHandle 0
LeviHeadHandle 0
RestMiddleBoss 2
ReturnGate ""
ExitGate ""
InterruptBlock ""
InterruptArg "".
call "BossRegen".
var MobIndex @RemoveFirst("GateInfo" " ")
CoordX @RemoveFirst("GateInfo" " ")
CoordY @RemoveFirst("GateInfo" " ")
Direct @RemoveFirst("GateInfo" " ").
npcstand ReturnGate MobIndex CoordX CoordY Direct 1000 "Normal".
interruptset NPCClickHandle "" 999999 ReturnGate "ReturnToGate".
scriptfile "d_NestOfLeviathan".
; ¸®¹ÙÀ̾î´ø µ¿¸é»óÅÂ
abstateset LeviMainHandle "StaImmortal" 1 4200000000.
abstateset LeviHeadHandle "StaImmortal" 1 4200000000.
abstateset LeviMainHandle "StaBattleBlowStun" 1 4200000000.
abstateset LeviHeadHandle "StaBattleBlowStun" 1 4200000000.
abstateset LeviMainHandle "StaHide" 1 4200000000.
abstateset LeviHeadHandle "StaHide" 1 4200000000.
abstateset BossBHandle "StaImmortal" 1 4200000000.
abstateset BossBHandle "StaBattleBlowStun" 1 4200000000.
abstateset BossBHandle "StaHide" 1 4200000000.
; Àâ¸÷ ¼¼¿ì±â
call "Fellows".
interruptset HPLow "" 1 BossAHandle 950 "onHPLowMiddleBossA".
interruptset DeadHandle "" 1 BossAHandle "BoogyDead".
pause Sec 15.
chatwin "RouTownChiefRoumenus" "Start0".
pause Sec 2.
chatwin "RouTownChiefRoumenus" "Start1".
pause Sec 2.
chatwin "RouTownChiefRoumenus" "Start2".
infinite
open
waitinterrupt InterruptBlock "InterruptArg".
call InterruptBlock.
close
close
open [Fellows]
regengroup "[B][U]Leviathan[/U][/B]" "[B][U]Leviathan001[/U][/B]". ;<@>; Àâ¸÷µé ¸®Á¨±×·ì
regengroup "[B][U]Leviathan[/U][/B]" "[B][U]Leviathan002[/U][/B]".
regengroup "[B][U]Leviathan[/U][/B]" "[U][B]Leviathan003[/B][/U]".
close
open [BoogyDead]
suicide BombBoogySum01.
suicide BombBoogySum02.
suicide BombBoogySum03.
interrupterase "BoogyTime".
var BossString ""
BossHandleVar "".
BossString = BossBInfo.
BossHandleVar = "BossBHandle".
call "BossRegen2".
abstatereset BossBHandle "StaImmortal".
abstatereset BossBHandle "StaBattleBlowStun".
abstatereset BossBHandle "StaHide".
chatwin "EldSpeGuard01" "KingBoogy0".
pause Sec 2.
chatwin "EldSpeGuard01" "KingBoogy1".
pause Sec 2.
chatwin "EldSpeGuard01" "KingBoogy2".
pause Sec 2.
chatwin "EldSpeGuard01" "KingBoogy3".
pause Sec 2.
chatwin "EldSpeGuard01" "KingBoogy4".
interruptset DeadHandle "" 1 BossBHandle "CrabDead".
close
open [CrabDead]
abstatereset LeviMainHandle "StaImmortal".
abstatereset LeviMainHandle "StaBattleBlowStun".
abstatereset LeviMainHandle "StaHide".
abstatereset LeviHeadHandle "StaImmortal".
abstatereset LeviHeadHandle "StaBattleBlowStun".
abstatereset LeviHeadHandle "StaHide".
chatwin "EldSpeGuard01" "KingCrap0".
pause Sec 2.
chatwin "EldSpeGuard01" "KingCrap1".
pause Sec 2.
chatwin "EldSpeGuard01" "KingCrap2".
pause Sec 2.
chatwin "EldSpeGuard01" "KingCrap3".
pause Sec 2.
chatwin "EldSpeGuard01" "KingCrap4".
var BossString ""
BossHandleVar "".
BossString = LeviMainInfo.
BossHandleVar = "LeviMainHandle".
call "BossRegen2".
BossString = LeviHeadInfo.
BossHandleVar = "LeviHeadHandle".
call "BossRegen2".
interruptset DeadHandle "" 1 LeviMainHandle "MainDead".
interruptset DeadHandle "" 1 LeviHeadHandle "HeadDead".
call "LeviathanAwake".
close
open [MiddleBossADead]
; RestMiddleBoss = RestMiddleBoss - 1.
; if RestMiddleBoss == 0
; then open
; call "LeviathanAwake".
; close
suicide BombBoogySum01.
suicide BombBoogySum02.
suicide BombBoogySum03.
interrupterase "BoogyTime".
var BossString ""
BossHandleVar "".
BossString = BossBInfo.
BossHandleVar = "BossBHandle".
call "BossRegen2".
interruptset DeadHandle "" 1 BossBHandle "MiddleBossBDead".
chatwin "EldSpeGuard01" "KingBoogy0".
pause Sec 2.
chatwin "EldSpeGuard01" "KingBoogy1".
pause Sec 2.
chatwin "EldSpeGuard01" "KingBoogy2".
pause Sec 2.
chatwin "EldSpeGuard01" "KingBoogy3".
pause Sec 2.
chatwin "EldSpeGuard01" "KingBoogy4".
close
open [MiddleBossBDead]
; RestMiddleBoss = RestMiddleBoss - 1.
; if RestMiddleBoss == 0
; then open
; call "LeviathanAwake".
; close
var BossString ""
BossHandleVar "".
BossString = LeviMainInfo.
BossHandleVar = "LeviMainHandle".
call "BossRegen2".
BossString = LeviHeadInfo.
BossHandleVar = "LeviHeadHandle".
call "BossRegen2".
interruptset DeadHandle "" 1 LeviMainHandle "MainDead".
interruptset DeadHandle "" 1 LeviHeadHandle "HeadDead".
call "LeviathanAwake".
chatwin "EldSpeGuard01" "KingCrap0".
pause Sec 2.
chatwin "EldSpeGuard01" "KingCrap1".
pause Sec 2.
chatwin "EldSpeGuard01" "KingCrap2".
pause Sec 2.
chatwin "EldSpeGuard01" "KingCrap3".
pause Sec 2.
chatwin "EldSpeGuard01" "KingCrap4".
close
open [LeviathanAwake]
abstatereset LeviMainHandle "StaImmortal".
abstatereset LeviMainHandle "StaBattleBlowStun".
abstatereset LeviMainHandle "StaHide".
abstatereset LeviHeadHandle "StaImmortal".
abstatereset LeviHeadHandle "StaBattleBlowStun".
abstatereset LeviHeadHandle "StaHide".
interruptset HPLow "HPLowLeviathan" 1 LeviMainHandle 950 "onHPLowLeviathan".
interruptset HPLow "HPLowLeviathan" 1 LeviHeadHandle 950 "onHPLowLeviathan".
close
open [TargetRegen]
var num 0
NPC 0.
while num < 30
open
var MobIndex @RemoveFirst("NPCTargetCoord" " ")
CoordX @RemoveFirst("NPCTargetCoord" " ")
CoordY @RemoveFirst("NPCTargetCoord" " ").
if CoordX === 0
then open
break "TargetRegen".
close
mobregen NPC MobIndex CoordX CoordY 0 1000 "Normal".
num = num + 1.
close
close
open [BossRegen]
var BossString ""
BossHandleVar "".
BossString = BossAInfo.
BossHandleVar = "BossAHandle".
call "BossRegen2".
close
open [BossRegen2]
var MobIndex @RemoveFirst("BossString" " ")
CoordX @RemoveFirst("BossString" " ")
CoordY @RemoveFirst("BossString" " ")
Angle @RemoveFirst("BossString" " ").
mobregen #BossHandleVar MobIndex CoordX CoordY Angle 1000 "Normal".
close
open[MainDead]
if LeviHeadHandle =!= ""
then open
suicide LeviHeadHandle.
LeviHeadHandle = "".
close
var MobIndex @RemoveFirst("ExitInfo" " ")
CoordX @RemoveFirst("ExitInfo" " ")
CoordY @RemoveFirst("ExitInfo" " ")
Direct @RemoveFirst("ExitInfo" " ")
Box 0.
mobregen Box "LeviathanEggBox" 2443 2662 0 1000 "Normal".
npcstand ExitGate MobIndex CoordX CoordY Direct 1000 "Normal".
interruptset NPCClickHandle "" 999999 ExitGate "ReturnToRoumen".
interrupterase "EggRegen".
interrupterase "GuardianEggBroken".
interrupterase "GuardEggBroken".
interrupterase "BuffEggBroken".
interrupterase "EggBroken".
suicide ID_NestGuardianEgg.
suicide ID_NestGuardEgg.
suicide ID_NestGuardian.
suicide ID_NestGuard.
suicide ID_NestBuffEgg.
chatwin "RouTownChiefRoumenus" "Leviathan0".
pause Sec 2.
chatwin "RouTownChiefRoumenus" "Leviathan1".
pause Sec 2.
chatwin "RouTownChiefRoumenus" "Leviathan2".
pause Sec 2.
chatwin "RouTownChiefRoumenus" "Leviathan3".
pause Sec 2.
chatwin "RouTownChiefRoumenus" "Leviathan4".
close
open[ReturnToRoumen]
var mclicker 0
MapIndex "RouN"
CoordX "6445"
CoordY "8630".
whoclickme mclicker InterruptArg.
linkto mclicker MapIndex MapIndex CoordX CoordY. ;<@>; µ¹¾Æ°¥ À§Ä¡
close
open[ReturnToGate]
var mclicker 0
MapIndex "IDGate01"
CoordX "1004"
CoordY "1306".
whoclickme mclicker InterruptArg.
linkto mclicker MapIndex MapIndex CoordX CoordY. ;<@>; µ¹¾Æ°¥ À§Ä¡
close
open[HeadDead]
LeviHeadHandle = "".
close
open [onHPLowLeviathan]
interrupterase "HPLowLeviathan".
interruptset Sec "EggRegen" 100 120 "onEggRegen".
interruptset DeadIndex "GuardianEggBroken" 99999 "ID_NestGuardianEgg" "onGuardianEggBroken".
interruptset DeadIndex "GuardEggBroken" 99999 "ID_NestGuardEgg" "onGuardEggBroken".
interruptset DeadIndex "BuffEggBroken" 99999 "ID_NestBuffEgg" "onBuffEggBroken".
close
open [onHPLowMiddleBossA]
;call "TargetRegen".
;call "onBoogyTime".
close
open [onBoogyTime]
summonmob BossAHandle "BombBoogy01" 1.
summonmob BossAHandle "BombBoogy02" 1.
summonmob BossAHandle "BombBoogy02" 1.
summonmob BossAHandle "BombBoogy03" 1.
interruptset Sec "BoogyTime" 1 5 "onBoogyTime".
close
open [onEggRegen]
regengroup "Leviathan" "Leviathan035".
regengroup "Leviathan" "Leviathan036".
regengroup "Leviathan" "Leviathan037".
interruptset Sec "EggBroken" 1 60 "onEggBroken".
interruptset Sec "GoodTimeToDie" 1 175 "onGoodTimeToDie".
close
open [onEggBroken]
suicide ID_NestGuardianEgg.
suicide ID_NestGuardEgg.
close
open [onGoodTimeToDie]
suicide ID_NestGuardian.
suicide ID_NestGuard.
close
open [onGuardianEggBroken]
summonmob InterruptArg "ID_NestGuardian" 2.
close
open [onGuardEggBroken]
summonmob InterruptArg "ID_NestGuard" 15.
close
open [onBuffEggBroken]
var bufftarget 0.
whokillme bufftarget InterruptArg.
abstateset bufftarget "StaDeadlyBlessing" 1 15000.
close
For the fellows you have to put it in this format
regengroup "Name of the Regen files (a .txt file)" "RegenIndex".
save as NameOfYourInstance.ps (extension is important must be .ps) in the same folder (ScenarioBookShelf>ID)
Go in Shine>World open PineScript.txt with Shine table : at the end of the 1st table put this : ID/NameOfYourPineScriptFile and and the end of the second table put this : NameOfYourPineScriptFile.
Now go in World> Script then copy paste any script and rename the freshly pasted one.
IV. Config in Field.txt and NPC.txt
Open field.txt with Shine Table,in the 1st table : copy paste LN instance line and change the checksum. The regen city and regen coord.
In the 2nd table copy paste the LN line again change the script file name (you will have a case with this format : ID/NameOfYourInstance.
Don't close or save yet.
Now open NPC.txt (in World folder) go at the bottom and create an IDGate.
Then paste The IDGate argument in Field.txt Gate argument column.
Save all start your services, enjoy.
If you have any trouble message on skype : dersfinou