Wizard Quest Script error

Results 1 to 2 of 2
  1. #1
    Member Drachy is offline
    MemberRank
    Apr 2005 Join Date
    sgLocation
    81Posts

    Wizard Quest Script error

    my server paly on Normal job change quest.
    i've problem with changing job for wizard cos this part of script dun work.
    After u've killed all mob,it dun enable warp. i've problem solving it , cos i just started scripting.


    //<====================================================== Test Arena ========================================================>\\
    // Test Guide ---------------------------------------------------------------------------------
    job_wiz.gat,50,165,4 script Wizard Test Guide::WzTG 123,{
    mes "[Test Guide]";
    mes "Welcome. I will be your guide for the Wizard Test.";
    next;
    menu "I would like to take the test.",M_0, "I would like to leave.",M_1;

    M_0:
    mes "[Test Guide]";
    mes "As you have been told you will have 3 minutes to finish each portion of the test.";
    mes "I will periodically announce how much time you have left for each room on a minute by minute basis.";
    next;
    mes "[Test Guide]";
    mes "Please enter the 'Wizard Test Waiting Room' when you are ready to take the test.";
    mes "When the testing room is ready you will be automatically warped there and the exam will begin.";
    next;
    mes "[Test Guide]";
    mes "Good luck!";
    close;
    M_1:
    mes "[Test Guide]";
    mes "I see. I will send you back.";
    next;
    warp "gef_tower.gat",106, 35;
    end;

    OnInit:
    waitingroom "Wizard Test Waiting Room",8,"WzTG::OnStart",1;
    end;

    OnStart:
    set $@WzUsers, getareausers("job_wiz.gat", 98, 154, 129, 185); // get user count for first lvl
    set $@WzUsers, $@WzUsers + getareausers("job_wiz.gat", 100, 82, 131, 113); // get user count for second lvl + first lvl
    set $@WzUsers, $@WzUsers + getareausers("job_wiz.gat", 30, 82, 61, 113); // get user count for third lvl + second lvl + first lvl
    if ($@WzUsers > 0) end;

    if ((getwaitingroomstate(33)) == 0) end; // finds out if there is anyone in the waiting room
    disablenpc "waterwrp"; //disables the warps
    disablenpc "waterwarpW";
    disablenpc "waterwarpN";
    disablenpc "waterwarpS";
    disablenpc "earthwrp";
    disablenpc "earthwarpW";
    disablenpc "earthwarpN";
    disablenpc "earthwarpS";
    disablenpc "firewrp";
    disablenpc "firewarpN";
    disablenpc "firewarpW";
    disablenpc "firewarpS";
    killmonsterall "job_wiz.gat"; //makes sure there are no left over mobs from other testers
    warpwaitingpc "job_wiz.gat",114,169;
    donpcevent "WaterRm::OnStart";
    end;
    }

    // Room of Water -----------------------------------------------------------------------------
    job_wiz.gat,1,1,1 script WaterRm -1,{

    OnStart:
    set $@WzRm, 1; // used to determine which map area(room) to make time announcements in
    set $@WzMOB, 8; //used as a counter for the monsters that are summoned
    monster "job_wiz.gat",109,174,"Phen",1158,1,"WaterRm::OnMyMobDead1";
    monster "job_wiz.gat",118,174,"Kukre",1070,1,"WaterRm::OnMyMobDead1";
    monster "job_wiz.gat",98,170,"Kukre",1070,1,"WaterRm::OnMyMobDead1";
    monster "job_wiz.gat",109,165,"Vadon",1066,1,"WaterRm::OnMyMobDead1";
    monster "job_wiz.gat",118,165,"Cornutus",1067,1,"WaterRm::OnMyMobDead1";
    monster "job_wiz.gat",101,157,"Marina",1141,1,"WaterRm::OnMyMobDead1";
    monster "job_wiz.gat",126,157,"Marin",1242,1,"WaterRm::OnMyMobDead1";
    monster "job_wiz.gat",129,170,"Obeaune",1044,1,"WaterRm::OnMyMobDead1";
    initnpctimer "TimerWz";
    end;

    OnMyMobDead1: //when a monster dies this portion of script is run
    set $@WzMOB, $@WzMOB - 1;
    if ($@WzMOB > 0) end;

    stopnpctimer "TimerWz";
    set $@WzMOB, 0;
    addtimer 2000, "WaterRm::OnTimer2000";
    end;

    OnTimer2000:
    set $@WzMOB, 5;
    areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: You must now defeat the door gaurds! Hurry!",8;
    monster "job_wiz.gat",114,169,"Marine Sphere",1142,1,"WaterRm::OnMyMobDead2";
    monster "job_wiz.gat",112,169,"Hydra",1068,1,"WaterRm::OnMyMobDead2";
    monster "job_wiz.gat",116,169,"Hydra",1068,1,"WaterRm::OnMyMobDead2";
    monster "job_wiz.gat",114,171,"Hydra",1068,1,"WaterRm::OnMyMobDead2";
    monster "job_wiz.gat",114,167,"Hydra",1068,1,"WaterRm::OnMyMobDead2";
    setnpctimer 120000, "TimerWz";
    startnpctimer "TimerWz";
    end;

    OnMyMobDead2:
    set $@WzMOB, $@WzMOB - 1;
    if ($@WzMOB > 0) end;

    stopnpctimer "TimerWz";
    set $@WzMOB, 0;
    areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: Well done. You have completed the Room of Water. Get ready for the Room of Earth.",8;
    percentheal 100,100;
    enablenpc "waterwrp";
    enablenpc "waterwarpW";
    enablenpc "waterwarpN";
    enablenpc "waterwarpS";
    initnpctimer "waterwrp"; // warps the player after 30 secs even if they don't enter the warps
    end;
    }

    // Room of Earth -----------------------------------------------------------------------------------------------
    job_wiz.gat,1,1,1 script EarthRm -1,{

    OnStart:
    set $@WzRm, 2;
    set $@WzMOB, 10;
    monster "job_wiz.gat",111,102,"Yoyo",1057,1,"EarthRm::OnMyMobDead1";
    monster "job_wiz.gat",120,102, "Deniro",1105,1,"EarthRm::OnMyMobDead1";
    monster "job_wiz.gat",111,102, "Caramel",1103,1,"EarthRm::OnMyMobDead1";
    monster "job_wiz.gat",120,102,"Hode",1127,1,"EarthRm::OnMyMobDead1";
    monster "job_wiz.gat",111,93,"Savage",1166,1,"EarthRm::OnMyMobDead1";
    monster "job_wiz.gat",120,93,"Giearth",1121,1,"EarthRm::OnMyMobDead1";
    monster "job_wiz.gat",107,98,"Bigfoot",1160,1,"EarthRm::OnMyMobDead1";
    monster "job_wiz.gat",124,98,"Orc Warrior",1023,1,"EarthRm::OnMyMobDead1";
    monster "job_wiz.gat",104,86,"Vitata",1176,1,"EarthRm::OnMyMobDead1";
    monster "job_wiz.gat",127,86,"Mantis",1139,1,"EarthRm::OnMyMobDead1";
    initnpctimer "TimerWz";
    end;

    OnMyMobDead1:
    set $@WzMOB, $@WzMOB - 1;
    if ($@WzMOB > 0) end;

    stopnpctimer "TimerWz";
    addtimer 2000, "EarthRm::OnTimer2000";
    set $@WzMOB, 0;
    end;

    OnTimer2000:
    set $@WzMOB, 7;
    areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: You now must defeat the door gaurds! Hurry!.",8;
    monster "job_wiz.gat",116,97,"Flora",1118,1,"EarthRm::OnMyMobDead2";
    monster "job_wiz.gat",114,95,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
    monster "job_wiz.gat",118,95,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
    monster "job_wiz.gat",114,99,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
    monster "job_wiz.gat",118,99,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
    monster "job_wiz.gat",116,94,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
    monster "job_wiz.gat",116,100,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
    setnpctimer 120000, "TimerWz";
    startnpctimer "TimerWz";
    end;

    OnMyMobDead2:
    set $@WzMOB, $@WzMOB - 1;
    if ($@WzMOB > 0) end;

    stopnpctimer "TimerWz";
    set $@WzMOB, 0;
    areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: Well done. You have completed the Room of Earth. Get ready for the Room of Fire.",8;
    percentheal 100,100;
    enablenpc "earthwrp";
    enablenpc "earthwarpN";
    enablenpc "earthwarpW";
    enablenpc "earthwarpS";
    initnpctimer "earthwrp";
    end;
    }

    // Room of Fire ------------------------------------------------------------------------------------------------------------
    job_wiz.gat,1,1,1 script FireRm -1,{

    OnStart:
    set $@WzRm, 3;
    set $@WzMOB, 7;
    monster "job_wiz.gat",58,110,"Zerom",1178,1,"FireRm::OnMyMobDead1";
    monster "job_wiz.gat",33,110,"Flail Goblin",1123,1,"FireRm::OnMyMobDead1";
    monster "job_wiz.gat",40,103,"Scorpion",1001,1,"FireRm::OnMyMobDead1";
    monster "job_wiz.gat",51,103,"Frilldora",1119,1,"FireRm::OnMyMobDead1";
    monster "job_wiz.gat",40,92,"Peco Peco",1019,1,"FireRm::OnMyMobDead1";
    monster "job_wiz.gat",51,92,"Elder Willow",1033,1,"FireRm::OnMyMobDead1";
    monster "job_wiz.gat",37,89,"Metaller",1058,1,"FireRm::OnMyMobDead1";
    initnpctimer "TimerWz";
    end;

    OnMyMobDead1:
    set $@WzMOB, $@WzMOB - 1;
    if ($@WzMOB > 0) end;

    stopnpctimer "TimerWz";
    addtimer 2000, "FireRm::OnTimer2000";
    set $@WzMOB, 0;
    end;

    OnTimer2000:
    set $@WzMOB, 3;
    areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: You now must defeat the door gaurds! Hurry!.",8;
    monster "job_wiz.gat",44,99,"Greatest General",1277,1,"FireRm::OnMyMobDead2";
    monster "job_wiz.gat",43,99,"Horong",1129,1,"FireRm::OnMyMobDead2";
    monster "job_wiz.gat",45,99,"Horong",1129,1,"FireRm::OnMyMobDead2";
    setnpctimer 120000, "TimerWz";
    startnpctimer "TimerWz";
    end;

    OnMyMobDead2:
    set $@WzMOB, $@WzMOB - 1;
    if ($@WzMOB > 0) end;

    stopnpctimer "TimerWz";
    set $@WzMOB, 0;
    set WIZ_Q, 4;
    set WIZ_Q2, 0;
    areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: Well done. You have completed the Room of Fire and the entire test.",0;
    enablenpc "firewrp";
    enablenpc "firewarpN";
    enablenpc "firewarpW";
    enablenpc "firewarpS";
    initnpctimer "firewrp";
    end;
    }


    // Timer -----------------------------------------------------------------------------------------------
    job_wiz.gat,1,1,1 script TimerWz -1,{

    OnTimer1000:
    if($@WzRm==1) areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: Room of Water, testing will begin.",8;
    if($@WzRm==2) areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: Room of Earth, testing will begin.",8;
    if($@WzRm==3) areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: Room of Fire, testing will begin.",8;
    end;
    OnTimer4000:
    set $@WzTime$, "You have 3 minutes to defeat all of the monsters in this room starting now!";
    donpcevent "WzTG::OnStart"; //checks to see if anyone is still in the room, in case of logout or KO
    callsub AnnounceWz;
    OnTimer34000:
    donpcevent "WzTG::OnStart";
    end;
    OnTimer64000:
    set $@WzTime$, "You have 2 minutes left!";
    donpcevent "WzTG::OnStart";
    callsub AnnounceWz;
    OnTimer94000:
    donpcevent "WzTG::OnStart";
    end;
    OnTimer124000:
    set $@WzTime$, "You have 1 minute left!";
    donpcevent "WzTG::OnStart";
    callsub AnnounceWz;
    OnTimer154000:
    set $@WzTime$, "You have 30 seconds left!";
    donpcevent "WzTG::OnStart";
    callsub AnnounceWz;
    OnTimer174000:
    set $@WzTime$, "You have 10 seconds left!";
    callsub AnnounceWz;
    OnTimer184000:
    set $@WzTime$, "Time is up. You have failed the test.";
    callsub AnnounceWz;
    OnTimer188000:
    stopnpctimer;
    if($@WzRm==1) areawarp "job_wiz.gat", 98, 154, 129, 185, "gef_tower.gat",106, 35;
    if($@WzRm==2) areawarp "job_wiz.gat", 100, 82, 131, 113, "gef_tower.gat",106, 35;
    if($@WzRm==3) areawarp "job_wiz.gat", 30, 82, 61, 113, "gef_tower.gat",106, 35;
    killmonsterall "job_wiz.gat";
    donpcevent "WzTG::OnStart";
    end;

    AnnounceWz:
    if($@WzRm==1) areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: "+$@WzTime$+".",8;
    if($@WzRm==2) areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: "+$@WzTime$+".",8;
    if($@WzRm==3) areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: "+$@WzTime$+".",8;
    end;
    }


    // Warps ------------------------------------------------------------------------------------------

    // Water
    job_wiz.gat,129,169,1 script waterwarpE::waterwrp 45,1,1,{

    OnTimer30000:
    stopnpctimer "waterwrp";
    areawarp "job_wiz.gat", 98, 154, 129, 185, "job_wiz.gat",116,98;
    donpcevent "EarthRm::OnStart";
    end;
    }
    job_wiz.gat,98,169,1 duplicate(waterwrp) waterwarpW 45,1,1
    job_wiz.gat,114,185,1 duplicate(waterwrp) waterwarpN 45,1,1
    job_wiz.gat,114,154,1 duplicate(waterwrp) waterwarpS 45,1,1


    // Earth
    job_wiz.gat,131,98,1 script earthwarpE::earthwrp 45,1,1,{

    OnTimer30000:
    stopnpctimer "earthwrp";
    areawarp "job_wiz.gat", 100, 82, 131, 113, "job_wiz.gat",47,98;
    donpcevent "FireRm::OnStart";
    end;
    }
    job_wiz.gat,100,98,1 duplicate(earthwrp) earthwarpW 45,1,1
    job_wiz.gat,116,82,1 duplicate(earthwrp) earthwarpN 45,1,1
    job_wiz.gat,116,113,1 duplicate(earthwrp) earthwarpS 45,1,1


    // Fire
    job_wiz.gat,61,97,1 script firewarpE::firewrp 45,1,1,{

    OnTimer30000:
    stopnpctimer "firewrp";
    areawarp "job_wiz.gat", 30, 82, 61, 113, "gef_tower.gat",106,35;
    donpcevent "WzTG::OnStart";
    end;
    }
    job_wiz.gat,30,97,1 duplicate(firewrp) firewarpW 45,1,1
    job_wiz.gat,46,113,1 duplicate(firewrp) firewarpN 45,1,1
    job_wiz.gat,46,82,1 duplicate(firewrp) firewarpS 45,1,1


    //==============================================================================
    // mapflag
    //==============================================================================
    job_wiz.gat mapflag nomemo
    job_wiz.gat mapflag noteleport
    job_wiz.gat mapflag nosave SavePoint
    job_wiz.gat mapflag nopenalty
    job_wiz.gat mapflag nobranch
    job_wiz.gat mapflag noexp
    job_wiz.gat mapflag noloot


  2. #2
    Sorcerer Supreme ShimmyShine is offline
    Member +Rank
    Jun 2006 Join Date
    HellLocation
    368Posts
    I used to be a very excellent scripter, and I see no problem in this, just have a question.

    Since when did they start doing this?
    job_wiz.gat,46,82,1 duplicate(firewrp) firewarpS 45,1,1
    .. It has three values at the end, like 4 months ago, it was just one Lol..

    Anyhow I couldn't find anything wrong with it.

    ShimmyShine



Advertisement