Pinescripte

06/09/2012 10:28 piusv#1
Hallo zusammen,
kennt sich jemand mit den Pinescripten aus?
habe da so das ein oder andere prob bei den instancen, wäre cool wenn sich da jemand mit auskennt und mir helfen könnte!
06/09/2012 10:39 EpicFight#2
Quote:
Originally Posted by piusv View Post
Hallo zusammen,
kennt sich jemand mit den Pinescripten aus?
habe da so das ein oder andere prob bei den instancen, wäre cool wenn sich da jemand mit auskennt und mir helfen könnte!
ist wie php ^^
06/09/2012 10:52 piusv#3
ja sequess das weis ich auch aber diese scripte sind sehr speziell, versuche mal die zeitlimitierung raus zu bekommen xDD
mit auskommentieren des limits ist das nicht getan. wenn du dann in die map gehst haste sofort nen fail. auch das ändern der shn dateien bringt nicht den gewünschten effekt. also muss es noch etwas anderes im script geben das auf dieses timelimit zugreift
06/09/2012 10:57 EpicFight#4
Code:
open [main]


    infinite
open [Start]
    var InterruptBlock  ""
        InterruptArg    ""
        Boss1           ""
        Boss2           ""
        Boss3           ""
        Boss4           ""
        
        Entrance        ""

        Door00          ""
        Door01          ""
        Door02          ""
        Door03          ""
        Door04          ""
        Door05          ""
        Door06          ""
        Door07          ""
        Door08          ""
        Door09          ""
        Door10          ""
        Door11          ""
        Door12          ""
        Door13          ""
        Door14          ""
        Door15          ""
        Door16          ""
        Door17          ""    
        LoginWait       "".


waitlogin LoginWait.
    if LoginWait == 0
    then open
        call "QuestFail".
    close
    scriptfile  "Tower01".

    interruptclear.  ; Àδø¿¡¼* ÀÎÅÍ·´Æ®°¡ ÀÚ²Ù ½×ÀÌ´Â Çö»ó ¹æÁö
    
    doorbuild Door00 "T_Gate" 1184 3723 0 1000 "Normal".
    doorclose Door00 "DOOR00".
    doorbuild Door01 "T_Gate" 2732 1863 0 1000 "Normal".
    doorclose Door01 "DOOR01".
    doorbuild Door02 "T_Gate" 5069 1058 0 1000 "Normal".
    doorclose Door02 "DOOR02".
    doorbuild Door03 "T_Gate" 7556 937 0 1000 "Normal".
    doorclose Door03 "DOOR03".
    doorbuild Door04 "T_Gate" 10035 951 0 1000 "Normal".
    doorclose Door04 "DOOR04".
    doorbuild Door05 "T_Gate" 10241 3883 0 1000 "Normal".
    doorclose Door05 "DOOR05".
    doorbuild Door06 "T_Gate" 11531 5975 0 1000 "Normal".
    doorclose Door06 "DOOR06".
    doorbuild Door07 "T_Gate" 11727 8426 0 1000 "Normal".
    doorclose Door07 "DOOR07".
    doorbuild Door08 "T_Gate" 10190 10335 0 1000 "Normal".
    doorclose Door08 "DOOR08".
    doorbuild Door09 "T_Gate" 8139 11611 0 1000 "Normal".
    doorclose Door09 "DOOR09".
    doorbuild Door10 "T_Gate" 5701 11825 0 1000 "Normal".
    doorclose Door10 "DOOR10".
    doorbuild Door11 "T_Gate" 3564 10499 0 1000 "Normal".
    doorclose Door11 "DOOR11".
    doorbuild Door12 "T_Gate" 3278 8097 0 1000 "Normal".
    doorclose Door12 "DOOR12".
    doorbuild Door13 "T_Gate" 3276 5629 0 1000 "Normal".
    doorclose Door13 "DOOR13".
    doorbuild Door14 "T_Gate" 5394 4529 0 1000 "Normal".
    doorclose Door14 "DOOR14".
    doorbuild Door15 "T_Gate" 7902 4434 0 1000 "Normal".
    doorclose Door15 "DOOR15".
    doorbuild Door16 "T_Gate" 8976 6493 0 1000 "Normal".
    doorclose Door16 "DOOR16".
    doorbuild Door17 "T_Gate" 7003 7615 0 1000 "Normal".
    doorclose Door17 "DOOR17".

    npcstand Entrance "T_Gate02" 1179 7721 0 1000 "Normal".
    interruptset NPCClickHandle "EntranceClick" 1 Entrance "onEntranceClick".
    interruptset PlayerEliminate "" 1 "Playercheck".
    
    pause Sec 10.
        

    chatwin "EldSpeGuard01" "Chat0101".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat0102".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat0103".    
    regengroup "Tower01" "201".
    regengroup "Tower01" "202".
    call "WaitClearStage".
    dooropen Door00 "DOOR00".
    chatwin "EldSpeGuard01" "Chat0201".
    
    regengroup "Tower01" "301".
    regengroup "Tower01" "302".
    call "WaitClearStage".
    dooropen Door01 "DOOR01".
    chatwin "EldSpeGuard01" "Chat0301".
    
    regengroup "Tower01" "401".
    regengroup "Tower01" "402".
    call "WaitClearStage".
    dooropen Door02 "DOOR02".
    chatwin "EldSpeGuard01" "Chat0401".
    
    regengroup "Tower01" "501".
    regengroup "Tower01" "502".
    call "WaitBoss1Dead".
    dooropen Door03 "DOOR03".

    
    chatwin "EldSpeGuard01" "Chat0501".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat0502".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat0503".
    
    regengroup "Tower01" "601".
    call "WaitClearStage".
    dooropen Door04 "DOOR04".
    chatwin "EldSpeGuard01" "Chat0601".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat0602".
    
    regengroup "Tower01" "701".
    call "WaitClearStage".
    dooropen Door05 "DOOR05".
    chatwin "EldSpeGuard01" "Chat0701".
    
    regengroup "Tower01" "801".
    regengroup "Tower01" "802".
    call "WaitClearStage".
    dooropen Door06 "DOOR06".
    chatwin "EldSpeGuard01" "Chat0801".
    
    regengroup "Tower01" "901".
    regengroup "Tower01" "902".
    regengroup "Tower01" "903".
    regengroup "Tower01" "904".
    regengroup "Tower01" "905".
    regengroup "Tower01" "906".
    call "WaitClearStage".
    dooropen Door07 "DOOR07".
    chatwin "EldSpeGuard01" "Chat0901".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat0902".
    
    regengroup "Tower01" "1001".
    regengroup "Tower01" "1002".
    call "WaitBoss2Dead".
    dooropen Door08 "DOOR08".


    chatwin "EldSpeGuard01" "Chat1001".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat1002".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat1003".
    
    regengroup "Tower01" "1101".
    regengroup "Tower01" "1102".
    call "WaitClearStage".
    dooropen Door09 "DOOR09".
    chatwin "EldSpeGuard01" "Chat1101".
    
    regengroup "Tower01" "1201".
    regengroup "Tower01" "1202".
    call "WaitClearStage".
    dooropen Door10 "DOOR10".
    chatwin "EldSpeGuard01" "Chat1201".
    
    regengroup "Tower01" "1301".
    call "WaitClearStage".
    dooropen Door11 "DOOR11".
    chatwin "EldSpeGuard01" "Chat1301".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat1302".
    
    regengroup "Tower01" "1401".
    regengroup "Tower01" "1402".
    regengroup "Tower01" "1403".
    call "WaitBoss3Dead".
    dooropen Door12 "DOOR12".


    chatwin "EldSpeGuard01" "Chat1401".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat1402".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat1403".
    
    regengroup "Tower01" "1501".
    regengroup "Tower01" "1502".
    call "WaitClearStage".
    dooropen Door13 "DOOR13".
    chatwin "EldSpeGuard01" "Chat1501".
    
    regengroup "Tower01" "1601".
    call "WaitClearStage".
    dooropen Door14 "DOOR14".
    chatwin "EldSpeGuard01" "Chat1601".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat1602".
    
    regengroup "Tower01" "1701".
    call "WaitClearStage".
    dooropen Door15 "DOOR15".
    chatwin "EldSpeGuard01" "Chat1701".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat1702".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat1703".
    
    regengroup "Tower01" "1801".
    call "WaitClearStage".
    dooropen Door16 "DOOR16".
    chatwin "EldSpeGuard01" "Chat1801".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat1802".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat1803".
    
    regengroup "Tower01" "1901".
    call "WaitClearStage".
    dooropen Door17 "DOOR17".
    
    regengroup "Tower01" "2001".
    regengroup "Tower01" "2002".
    regengroup "Tower01" "2003".
    call "WaitBoss4Dead".
    chatwin "EldSpeGuard01" "Chat2001".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat2002".
    pause Sec 2.
    chatwin "EldSpeGuard01" "Chat2003".
    
    	pause sec 10.
	
	call "TowerEnd".

    ; ¶Ç µé¾î¿À´Â ¹Ùº¸°¡ ÀÖÀ»Áö ¸ð¸£´Ï ¹®À» À§Çؼ*   
;    interruptclear.
;    interruptset NPCClickHandle "EntranceClick" 1 Entrance "onEntranceClick".
	close
close


open [onEntranceClick]
    var mclicker 0.
    whoclickme mclicker InterruptArg.
    linkto mclicker "RouVal01" "RouVal01" 4664 8416.
    interruptset NPCClickHandle "EntranceClick" 1 Entrance "onEntranceClick".
close

open [WaitClearStage]
    ; Index¸¦ _NONE_ À̶ó°í ÁÖ¸é ¾î¶² ¸÷/Ç÷¹À̾ Á׾ ÀÎÅÍ·´Æ® ¹ß»ý
    ; interruptset DeadIndex "AnyMobDead" 1 "_NONE_" "onAnyMobDead".
    
    interruptset MobEliminate "" 1 "onMobEliminate".
    ; ¸÷µéÀÌ Çѹø ÀüºÎ Á×À¸¸é ¿¬¼ÓÀûÀ¸·Î Eliminate ÀÎÅÍ·´Æ®°¡ ÀϾ´õ¶ó
    pause sec 5.
    
    infinite
    open
        waitinterrupt InterruptBlock "InterruptArg".
    call InterruptBlock.
    close
close

open [onMobEliminate]
    break "WaitClearStage".
close

open [onAnyMobDead]
    var Total 0
        Guard 0.
    ; Á×ÀÌÁö ¾Ê¾Æµµ µÉ ¸÷ÀÌ ÀÖ´Ù
    Total = @Count("all").
    Guard = @Count("Anti_Henis_A14") + @Count("Anti_Henis_A18") + @Count("Anti_Henis_F21") + @Count("Anti_Henis_M24") + @Count("Anti_Henis_M25") + @Count("Anti_Henis_F30") + @Count("Anti_Henis_A32") + @Count("Anti_Henis_C39") + @Count("Anti_Henis_C40") + @Count("Anti_Henis_F29") + @Count("Anti_Henis_A31") + @Count("Anti_Henis_C36") + @Count("Anti_Henis_F47") + @Count("Anti_Henis_C47") + @Count("Anti_Henis_A50") + @Count("Anti_Henis_M50").
    Total = Total - Guard.
    
    if Total == 0
    then open
        break "WaitClearStage".
    close
    else open
        interruptset DeadIndex "AnyMobDead" 1 "_NONE_" "onAnyMobDead".
    close
close

open [WaitBoss1Dead]
    pause sec 1.
    findhandle Boss1 "T_DustGolem" 0.
    interruptset HPLow "Boss1HP80" 1 Boss1 800 "onBoss1HP80".
    interruptset HPLow "Boss1HP20" 1 Boss1 200 "onBoss1HP20".
    interruptset DeadIndex "Boss1Dead" 1 "T_DustGolem" "onBoss1Dead".
    
    infinite
    open
        waitinterrupt InterruptBlock "InterruptArg".
    call InterruptBlock.
    close
close

open[onBoss1HP80]
    chatwin "EldSpeGuard01" "Chat0501Boss".
    summonmob Boss1 "T_Imp" 4.
    summonmob Boss1 "T_GangImp" 4.
close

open[onBoss1HP20]
    chatwin "EldSpeGuard01" "Chat0502Boss".
    summonmob Boss1 "T_HungryWolf" 2.
    summonmob Boss1 "T_Ratman" 2.
close

open[onBoss1Dead]
    suicide all.
    break "WaitBoss1Dead".
close

open [WaitBoss2Dead]
    pause sec 1.
    findhandle Boss2 "T_StoneGolem" 0.
    interruptset HPLow "Boss2HP70" 1 Boss2 700 "onBoss2HP70".
    interruptset HPLow "Boss2HP20" 1 Boss2 200 "onBoss2HP20".
    interruptset DeadIndex "Boss2Dead" 1 "T_StoneGolem" "onBoss2Dead".
    
    infinite
    open
        waitinterrupt InterruptBlock "InterruptArg".
    call InterruptBlock.
    close
close

open[onBoss2HP70]
    chatwin "EldSpeGuard01" "Chat1001Boss".
    summonmob Boss2 "T_SkelArcher01" 2.
close

open[onBoss2HP20]
    chatwin "EldSpeGuard01" "Chat1002Boss".
    summonmob Boss2 "T_SkelWarrior" 3.
    summonmob Boss2 "T_SkelArcher02" 1.
close

open[onBoss2Dead]
    suicide all.
    break "WaitBoss2Dead".
close

open [WaitBoss3Dead]
    pause sec 1.
    findhandle Boss3 "T_PoisonGolem" 0.
    interruptset HPLow "Boss3HP70" 1 Boss3 700 "onBoss3HP70".
    interruptset HPLow "Boss3HP20" 1 Boss3 200 "onBoss3HP20".
    interruptset DeadIndex "Boss3Dead" 1 "T_PoisonGolem" "onBoss3Dead".
    
    infinite
    open
        waitinterrupt InterruptBlock "InterruptArg".
    call InterruptBlock.
    close
close

open[onBoss3HP70]
    chatwin "EldSpeGuard01" "Chat1401Boss".
    summonmob Boss3 "T_OldFox" 4.
    summonmob Boss3 "T_DesertWolfC" 4.
close

open[onBoss3HP20]
    chatwin "EldSpeGuard01" "Chat1402Boss".
    summonmob Boss3 "T_Ghost" 4.
    summonmob Boss3 "T_IceViVi" 4.
close

open[onBoss3Dead]
    suicide all.
    break "WaitBoss3Dead".
close

open [WaitBoss4Dead]
    pause sec 1.
    findhandle Boss4 "T_IronGolem" 0.
    interruptset HPLow "Boss4HP70" 1 Boss4 700 "onBoss4HP70".
    interruptset HPLow "Boss4HP50" 1 Boss4 500 "onBoss4HP50".
    interruptset HPLow "Boss4HP20" 1 Boss4 200 "onBoss4HP20".
    interruptset DeadIndex "Boss4Dead" 1 "T_IronGolem" "onBoss4Dead".
    
    infinite
    open
        waitinterrupt InterruptBlock "InterruptArg".
    call InterruptBlock.
    close
close

open[onBoss4HP70]
    chatwin "EldSpeGuard01" "Chat2001Boss".
    summonmob Boss4 "T_Prock" 1.
    summonmob Boss4 "T_Spider00" 4.
close

open[onBoss4HP50]
    chatwin "EldSpeGuard01" "Chat2002Boss".
    summonmob Boss4 "T_KingCall" 2.
close

open[onBoss4HP20]
    chatwin "EldSpeGuard01" "Chat2003Boss".
    summonmob Boss4 "T_FlyingStaff01" 2.
    summonmob Boss4 "T_IronSlime01" 2.
close

open[onBoss4Dead]
    suicide all.
    break "WaitBoss4Dead".
close

open [TowerEnd]
    questresult Suc.                   ; ¼º°øÆÐŶ ³¯¸²

    broadcast all "Chat2001System".
    pause sec 30.
    broadcast all "Chat2002System".
    pause sec 20.
    broadcast all "Chat2003System".
    pause sec 10.

    linkto all "RouVal01" "RouVal01" 4661 8208.



	break "Start".
close

open [QuestFail]
    questresult Fail.                  ; ½ÇÆÐÆÐŶ ³¯¸²

    pause sec 5.

    linkto all "RouVal01" "RouVal01" 4661 8208.



	break "Start".
close

open [Playercheck]

pause sec 60.
interruptset PlayerEliminate "" 1 "QuestFail".
pause sec 3.
interruptset PlayerEliminate "" 1 "Playercheck".
    
close
06/09/2012 11:03 piusv#5
nice sequess tower01 läuft bei mir auch^^
ist ja auch 1 der scripte für die neuen files
z.b. levi geht nicht ohne zeitlimit und nur über kq login.
hab über ne woche dran gesessen um das auch ohne zum laufen zu bekommen leider ohne wirklichen erfolg
06/09/2012 11:05 EpicFight#6
Quote:
Originally Posted by piusv View Post
nice sequess tower01 läuft bei mir auch^^
ist ja auch 1 der scripte für die neuen files
z.b. levi geht nicht ohne zeitlimit und nur über kq login.
hab über ne woche dran gesessen um das auch ohne zum laufen zu bekommen leider ohne wirklichen erfolg
selesnia levi kq script xDDDDD


nimm das von os und code die integer usw um , müsste dann gehen , wie beim tower1 , 2 ,3 , drachengrab
06/09/2012 11:13 piusv#7
prob am tower2 sind die random pattern habs auch schon mit nem rangecreator versucht leider auch ohne ergebnis.
und leider sind meine php und sql künste nicht die besten^^

und leider fehlen mir die scriptfiles vom offi xDDDD
06/09/2012 14:14 HypperKing#8
Was soll den bitte ein Pinescripte sein wen ich fragen dürfte und zu was ist der überhaupt zuständig ?
06/09/2012 14:24 EpicFight#9
Quote:
Originally Posted by HypperKing View Post
Was soll den bitte ein Pinescripte sein wen ich fragen dürfte und zu was ist der überhaupt zuständig ?
Das sind die KQ's/Ini / job quest scripts damit es geht ^^

[Only registered and activated users can see links. Click Here To Register...] <---- Ps scripte vom offi
06/09/2012 14:43 piusv#10
Ty sequess.

@HypperKing
Naja an den Pinescripten hängt noch ne Menge mehr.
diese scripte sagen dem programm wie es sich in der map verhalten soll. weis nicht ob du offi zockst oder hast. aber z.b. du kommst im tower nicht eher weiter bis du alle mobs im raum gekillt hast. das steht in diesen scripten. auch welche mobs spawnen und die chattexte die du von den kq´s kennst werden darüber gesteuert.

hoffe das war ne einfach zu verstehende beschreibung der function der scripte^^
06/10/2012 02:23 HypperKing#11
Muss man den in SQL Query noch was ändern oder einfach nur auf die externen files kopieren und natürlich serverneustarten ? der script intressiert mich aufeinmal xD
06/10/2012 10:20 dragonhunter09#12
also scripte in ScenarioBookShelf einfügen und dann in den *.shn das script zb als kingdom quest definiern oder in field.txt als script ;D

spiel auch grad mit pines rum^^ damit lassen sich voll coole 100JCs baun :D
06/10/2012 10:33 piusv#13
Quote:
Originally Posted by dragonhunter09 View Post
also scripte in ScenarioBookShelf einfügen und dann in den *.shn das script zb als kingdom quest definiern oder in field.txt als script ;D

spiel auch grad mit pines rum^^ damit lassen sich voll coole 100JCs baun :D
das auch, aber kaum ein p-server hat alle instant dungedons laufen.
leider sind auch die meisten server einfach nur kloppserver, exp usw. viel zu hoch da machts fast keinen spass mehr.
mal wieder die questen machen müssen um weiterzukommen solche dinge wie tower auch mal wieder so sind wie sie ursprünglich mal waren, dann machts auch wieder fun zu spielen
06/10/2012 10:48 EpicFight#14
Quote:
Originally Posted by piusv View Post
das auch, aber kaum ein p-server hat alle instant dungedons laufen.
leider sind auch die meisten server einfach nur kloppserver, exp usw. viel zu hoch da machts fast keinen spass mehr.
mal wieder die questen machen müssen um weiterzukommen solche dinge wie tower auch mal wieder so sind wie sie ursprünglich mal waren, dann machts auch wieder fun zu spielen
<--- macht i.mom so einen xDDD
06/10/2012 11:12 piusv#15
Quote:
Originally Posted by sequess View Post
<--- macht i.mom so einen xDDD
ich arbeite auch dran, aber meiner muss nicht umbedingt online gehen. mache das eher zum lernen.

@dragonhunter09
adde mich mal in skype bitte

weis jemand wie ich die abfrage umgehen kann, ich hab ständig nen exit^^

open [onArea1Loop]
if @PlayerInArea("player" "ID_UrgDragonArea") <= 0
then open
interrupterase "Area1Leave".
interruptset Sec "Area1Leave2" 1 20 "onArea1Loop2".
close
close

die assertmeldung dazu ist folgende:
AssertClass::ac_AssertFail : PineEventScriptNode::SystemFunction::sa_Load : undefined function[PlayerInArea]

wäre nice wenn mir mal jemand sagen könnte wie ich das definiere damits läuft