Jump to content

Capuche

Developer
  • Posts

    2407
  • Joined

  • Last visited

  • Days Won

    52

Everything posted by Capuche

  1. warp "prontera",156,181; sleep2 1000; atcommand "@alive"; When you are warped, the player is resurrected automatically. @alive can't resurrected a player alive... sleep2 10000; mapannounce "poring_c01","Mr. Manager: 5",0; sleep2 5000; mapannounce "poring_c01","Mr. Manager: 4",0; sleep2 4000; mapannounce "poring_c01","Mr. Manager: 3",0; sleep2 3000; mapannounce "poring_c01","Mr. Manager: 2",0; sleep2 2000; mapannounce "poring_c01","Mr. Manager: 1",0; sleep will pause the script for the given amount of milliseconds. sleep2 3000; = pause 3 sec OnPCDieEvent: getmapxy(.@map$,.@x,.@y,0); if(.@map$=="poring_c01") { set #kill_point, 0; announce ""+strcharinfo(0)+" died, and out of the game!.",bc_all; warp "prontera",156,181; sleep2 1000; atcommand "@alive"; end; } OnPCKillEvent: getmapxy(.@map$,.@x,.@y,0); if(.@map$=="poring_c01") { set #kill_point,#kill_point+1; if ( #kill_point % 4 == 0) { getitem 607, 20; end; } } You miss some end; in case .@map$ != "poring_c01" I cleaned it a little. //*--kaiGAMING LMS TriggerScript--*// sec_pri,27,38,4 script LMS Trigger 106,{ if ( getgmlevel() > 29 ) goto LMS_Admin; mes "[Minion]"; mes "Hello "+ strcharinfo(0) +", my master is busy."; mes "*sigh*"; close; LMS_Admin: mes "[LMS Trigger]"; mes "Hello "+ strcharinfo(0) +", would you like me to call my Boss ?"; mes "He is the only one who can start it!"; menu "Start Event",-,"No Thanks",L_leave; next; mes "[LMS Trigger]"; mes "Ok, I'll call him this instant."; close2; goto start_lms; L_leave: next; mes "[LMS Trigger]"; mes "Ok " + strcharinfo(0) +", nice seeing you."; close; OnInit: disablenpc "Mr. Banker"; disablenpc "All Job Manager"; end; OnClock0000: OnClock0200: OnClock0400: OnClock0600: OnClock0800: OnClock1000: OnClock1200: OnClock1400: OnClock1600: OnClock1800: OnClock2000: OnClock2200: OnClock2400:// Edit this to what ever you want. note : OnClock0000 is 12 midnight and OnClock1200 is 12 Noon start_lms: announce "Mr. Manager: The Last Man Standing event will be starting shortly.",0; sleep 10000; pvpoff "poring_c01"; announce "Mr. Manager: Those who want to play, please proceed to Prontera and Register.",0; sleep 10000; announce "Mr. Manager: After 1 Minute the Registration will close.",0; sleep 10000; announce "Mr. Manager: Please go to Prontera and Register now if you want to join.",0; enablenpc "All Job Manager"; initnpctimer; end; OnTimer30000: announce "Mr. Manager: Last 30 seconds.",0; sleep2 5000; announce "Mr. Manager: If you want to join please Register in Prontera.",0; end; OnTimer50000: announce "Mr. Manager: Last 10 seconds.",0; end; OnTimer55000: for( set .@i, 5; .@i > 0; set .@i, .@i - 1 ) { announce "Mr. Manager: "+ .@i +".",0; sleep 1000; } announce "Mr. Manager: Time's up.",0; sleep 1000; disablenpc "All Job Manager"; donpcevent "Mr. Banker::OnEnable"; stopnpctimer; end; OnPCDieEvent: if( strcharinfo(3) == "poring_c01" ) { set #kill_point, 0; announce ""+strcharinfo(0)+" died, and out of the game!.",bc_all; warp "prontera",156,181; } end; OnPCKillEvent: if( strcharinfo(3) == "poring_c01" ) { set #kill_point,#kill_point+1; if ( #kill_point % 4 == 0) getitem 607, 20; } end; } //---------All Job Registration--------------- prontera,156,178,5 script All Job Manager 106,{ OnTouch: if( BaseLevel < 999 ) goto leave; mes "[Mr. Manager]"; mes "Hello What can I do for you?"; if( BaseLevel >= 999 ) { mes "Thank you for registering Mr. "+ strcharinfo(0) +", Have fun !"; warp "poring_c01",103,98; } else mes "You have to be level 999.!"; close; leave: mes "[Mr. Manager]"; mes "I hope you will register next time"; close; } //-------------------------- poring_c01,104,109,4 script Mr. Banker 56,{ mes "[banker]"; mes "Congrats. You've won."; next; mes "[banker]"; announce "Mr. Manager: We have a winner! Well done "+ strcharinfo(0) +".",0; getitem 673,3; // Change This item id to what ever you want . item id,amount dispbottom "You won 3 Bronze Coins."; mes "You will return now"; warp "prontera",156,181; disablenpc "Mr. Banker"; close; OnEnable: pvpoff "poring_c01"; mapannounce "poring_c01","Mr. Manager: The Last Man Standing Event will start shortly",0; sleep2 10000; mapannounce "poring_c01","Mr. Manager: But before we start this is just a few reminders..",0; sleep2 10000; mapannounce "poring_c01","Mr. Manager: Using Cloaking , Hiding is strictly not allowed..",0; sleep2 10000; mapannounce "poring_c01","Mr. Manager: Only the Last Man Standing will win this event!!",0; sleep2 10000; mapannounce "poring_c01","Mr. Manager: What are we waiting for?..Let's Get Ready to Rumble!!...",0; sleep2 10000; L_Start: if( getmapusers("poring_c01") == 1 ) goto L_Champ; if( getmapusers("poring_c01") > 1 ) { mapannounce "poring_c01","Mr. Manager: Get ready at the count of 5 we will start!....",0; sleep2 1000; for( set .@i, 5; .@i > 0; set .@i, .@i - 1 ) { mapannounce "poring_c01","Mr. Manager: "+ .@i +".",0; sleep 1000; } sleep 1000; pvpon "poring_c01"; goto timer; } disablenpc "Banker"; pvpoff "poring_c01"; end; timer: initnpctimer; end; OnTimer1100: if( getmapusers("poring_c01") == 1 ) { L_Champ: mapannounce "poring_c01","Mr. Banker: Please talk to me to get your prize..",2500000; pvpoff "poring_c01"; enablenpc "Mr. Banker"; stopnpctimer; end; } if( getmapusers("poring_c01") > 2 ) goto timer; if( getmapusers("poring_c01") == 2 ) { announce "Mr. Manager: Last 2 Brave warriors are still alive!",0; sleep2 10000; if( getmapusers("poring_c01") == 1 ) goto L_Champ; if( getmapusers("poring_c01") > 1 ) goto timer; end; } stopnpctimer; end; } // == Mapflags poring_c01 mapflag nowarp poring_c01 mapflag nowarpto poring_c01 mapflag noteleport poring_c01 mapflag nosave poring_c01 mapflag nomemo poring_c01 mapflag nobranch poring_c01 mapflag pvp_noparty poring_c01 mapflag restricted 1 poring_c01 mapflag pvp_noguild
  2. You mean... when you reset your skill, you lost your platinum skills ? >> prontera,150,193,4 script Reset Girl 124,{ setarray .@Reset, 5000, 5000, 9000; // Zeny for stat reset - skill reset - both together mes "[Reset Girl]"; mes "I am the Reset Girl."; mes "Reset Stats: "+ .@Reset[0] +"z"; mes "Reset Skills: "+ .@Reset[1] +"z"; mes "Reset Both: "+ .@Reset[2] +"z"; mes "Please select the service you want:"; next; if( select("^FF3355Reset Stats:Reset Skills:Reset Both^000000:Cancel") == 4 ) close; mes "[Reset Girl]"; if( Zeny < .@Reset[ @menu-1] ) { mes "Sorry, you don't have enough Zeny."; close; } set Zeny, Zeny - .@Reset[ @menu-1]; if( @menu != 1 ) { sc_end SC_ALL; ResetSkill; callsub Get_Platinum; } if( @menu != 2 ) ResetStatus; mes "There you go!"; close; Get_Platinum: skill 142,0,0; switch(BaseClass) { case 0: if (Class !=23) skill 143,0,0; break; case 1: skill 144,0,0; skill 145,0,0; skill 146,0,0; break; case 2: skill 157,0,0; break; case 3: skill 147,0,0; skill 148,0,0; break; case 4: skill 156,0,0; break; case 5: skill 153,0,0; skill 154,0,0; skill 155,0,0; break; case 6: skill 149,0,0; skill 150,0,0; skill 151,0,0; skill 152,0,0; break; default: break; } switch(BaseJob) { case 7: skill 1001,0,0; break; case 8: skill 1014,0,0; break; case 9: skill 1006,0,0; break; case 10: skill 1012,0,0; skill 1013,0,0; break; case 11: skill 1009,0,0; break; case 12: skill 1003,0,0; skill 1004,0,0; break; case 14: skill 1002,0,0; break; case 15: skill 1015,0,0; skill 1016,0,0; break; case 16: skill 1007,0,0; skill 1008,0,0; skill 1017,0,0; skill 1018,0,0; skill 1019,0,0; break; case 17: skill 1005,0,0; break; case 18: skill 238,0,0; break; case 19: skill 1010,0,0; break; case 20: skill 1011,0,0; break; default: break; } return; }
  3. Something like this ? - script fghjkljhgf -1,{ OnPCLoginEvent: if( save_prontera ) end; setarray .@save_place$[0], "Save to Left Prontera", "Save to Right Prontera", "Save to Lower Prontera", "Save to Upper Prontera", "Save to Mid Prontera"; setarray .@x[0], 33, 278, 156, 156, 156; setarray .@y[0], 205, 205, 34, 323, 180; save_prontera = select( implode( .@save_place$, ":" ) ) -1; savepoint "prontera", .@x[ save_prontera ], .@y[ save_prontera ]; dispbottom "You savepoint is now "+ substr( .@save_place$[ save_prontera ], 8, getstrlen( .@save_place$[ save_prontera ] )-1 ) +"."; close; }
  4. Your error is 'coz of that. //If 5 Minutes passed after the challenger registred and no one accepts it. OnTimer300000: announce "No challenger or the time is over, the duel was cancel.",bc_map|bc_blue; A player must be attached to the NPC using bc_map. Here a little revision. // Comment if you already have this function function script int__ { set .@num, getarg(0); set .@numString$, getarg(0); if ( .@num == 0 || .@num >= 2147483647 ) return getarg(0); set .@l, getstrlen(.@numString$); for ( set .@i,0; .@i < .@l; set .@i, .@i + 1 ) { set .@num$, .@num % pow(10,.@i+1) / pow(10,.@i) + .@num$; if ( (.@i+1) % 3 == 0 && .@i+1 != .@l ) set .@num$, ","+ .@num$; } return .@num$; } prontera,205,156,5 script Duel Gambling 953,{ set .@npcname$,"[ Duel Manager ]"; L_mm: mes .@npcname$; // If Duel cancel and player was not online. //----------------------------------------- if( dueling && .char$ != strcharinfo(0) && .char2$ != strcharinfo(0) ) { set Zeny, Zeny + dueling; dispbottom "You collected you previous gamble : "+ callfunc( "int__", dueling ) +" Zeny."; set dueling, 0; } //If already a duel is going on if( .gambling ) { mes "A duel is starting, please wait until the duel is over."; close; } mes callfunc("F_Hi") +" "+ strcharinfo(0) +"."; //If the challenger and the one accepting the duel have registred and the duel is ready to start if( .char$ == strcharinfo(0) && .char2$ != "" ) { mes "^0000FF"+ .char2$ +"^000000 is waiting for you to start the duel!"; if( .zeny ) mes "Dueling for total ^FF0000"+ callfunc( "int__", .zeny ) +"^000000 zeny."; mes "What would you like to do ?"; next; menu "~ ^777777Start Duel.^000000",L_sduel,"~ ^777777Cancel Duel.^000000",L_cduel; } //If the one accept the duel is going to talk to the npc if( .waiting ) { mes "The duel gonna start soon !"; close; } //If the challenger has registred, speaks again to the npc and no one accepted it if( .char$ == strcharinfo(0) ) { mes "Please wait for your challenger."; next; menu "~ ^777777Cancel Duel.^000000",L_cduel,"~ ^777777I will wait.^000000",-; close; } //If a challenger has registred, another person speaks to the npc and no one has accepted before if( .char$ != "" ) { mes "There is a player is waiting for gambling."; mes "What would you like to do ?"; next; menu "~ ^777777Player and Gamble Information.^000000",-,"~ ^777777Send Duel invitation to the player.^000000",L_iduel,"~ ^777777Duel Gambling ?^000000",L_info; mes .@npcname$; mes "The player that challenge is named ^0000FF"+ .char$ +"^000000"; if( .zeny ) mes "The player duel for ^FF0000"+ callfunc( "int__", .zeny ) +"^000000 zeny."; next; goto L_mm; } //If no challenger is registred. else { mes "No one is waiting for gamble currently."; mes "What would you like to do ?"; next; menu "~ ^777777Start a duel.^000000",-,"~ ^777777Duel Gambling ?^000000",L_info; set .zeny, callsub( L_PDZeny, 0, .@npcname$ ); initnpctimer; set .char$, strcharinfo(0); mes .@npcname$; mes "Please wait for your opponent."; announce "[ "+ .char$ +" ] bet "+ callfunc( "int__", dueling ) +" Zeny that no one could kill him ! He is waiting for an opponent !",bc_map|bc_blue; close; } //This party will run after someone accepted the challenge of a challenger L_iduel: if( .char2$ != "" || .char$ == "" ) { mes "Sorry you are too slow."; close; } set .zeny, callsub( L_PDZeny, .zeny, .@npcname$ ); set .char2$, strcharinfo(0); set .waiting, 1; mes .@npcname$; mes "Please wait while I inform your opponent."; announce "[ "+ .char$ +" ] your challenger is [ "+ .char2$ +" ] !",bc_map|bc_blue; close; //After both players registred and the challenger starts the duel. L_sduel: if( .char2$ == "" ) { mes "Sorry the duel is cancelled."; close; } mes .@npcname$; mes "We will start the duel immediately."; close2; if( !isloggedin( getcharid( 3,.char2$ ),getcharid( 0,.char2$ ) ) ) { dispbottom "Sorry, "+ .char2$ +" is not online."; end; } percentheal 100, 100; attachrid( getcharid( 3,.char2$ ) ); warp "pvp_n_1-1",90,50; percentheal 100, 100; attachrid( getcharid( 3,.char$ ) ); warp "pvp_n_1-1",110,50; atcommand "@duel "+ .char2$; attachrid( getcharid( 3,.char2$ ) ); atcommand "@accept"; set .gambling, 1; announce "[ "+ .char$ +" ] start a duel with [ "+ .char2$ +" ] !",bc_map|bc_blue; end; //If only the challenger is registred and cancels or if both registred and the challenger cancels the duel. L_cduel: if( .char$ != strcharinfo(0) ) { mes "Sorry the duel is already cancelled."; close; } announce "The duel was canceled by [ "+ .char$ +" ].",bc_map|bc_blue; mes .@npcname$; mes "Very well, "+ callfunc("F_Bye"); set Zeny, Zeny + dueling; dispbottom "You collected you previous gamble : "+ callfunc( "int__", dueling ) +" Zeny."; set dueling, 0; close2; if( .char2$ != "" && isloggedin( getcharid( 3,.char2$ ),getcharid( 0,.char2$ ) ) ) { attachrid( getcharid( 3,.char2$ ) ); set Zeny, Zeny + dueling; dispbottom "You collected you previous gamble : "+ callfunc( "int__", dueling ) +" Zeny."; set dueling, 0; } L_resetvar: set .char$, ""; set .char2$, ""; set .gambling, 0; set .waiting, 0; set .zeny, 0; stopnpctimer; end; //If you click on information for the duel. L_info: mes .@npcname$; mes "I will allow 2 players to duel each other,"; mes "players have to duel with gambling."; next; mes .@npcname$; mes "The gamble zeny must be same amount as opponent gamble."; next; mes .@npcname$; mes "Maximum time for waiting duel and dueling is 5 minutes."; next; goto L_mm; //If 5 Minutes passed after the challenger registred and no one accepts it. OnTimer300000: announce "No challenger or the time is over, the duel was canceled.",bc_blue|bc_npc; if( .char$ != "" && isloggedin( getcharid( 3,.char$ ),getcharid( 0,.char$ ) ) ) { attachrid( getcharid( 3,.char$ ) ); set Zeny, Zeny + dueling; dispbottom "You collected you previous gamble : "+ callfunc( "int__", dueling ) +" Zeny."; set dueling, 0; } if( .char2$ != "" && isloggedin( getcharid( 3,.char2$ ),getcharid( 0,.char2$ ) ) ) { attachrid( getcharid( 3,.char2$ ) ); set Zeny, Zeny + dueling; dispbottom "You collected you previous gamble : "+ callfunc( "int__", dueling ) +" Zeny."; set dueling, 0; } goto L_resetvar; //When a player kills his opponent. OnPCKillEvent: if( !dueling || ( dueling && strcharinfo(0) != .char$ && strcharinfo(0) != .char2$ ) ) end; set Zeny, Zeny + dueling * 2; dispbottom "You win "+ callfunc( "int__", dueling * 2 ) +" Zeny !"; set dueling, 0; atcommand "@leave"; announce "[ "+ strcharinfo(0)+ " ] win the duel!",bc_map|bc_blue; attachrid killedrid; set dueling, 0; goto L_resetvar; //When a player dies.. (Just incase he doesnt get killed by his oppenent) OnPCDieEvent: if( !dueling || ( dueling && strcharinfo(0) != .char$ && strcharinfo(0) != .char2$ ) ) end; if( !killerrid ) { announce "The duel has been cancelled because "+ strcharinfo(0) +" died.", bc_map|bc_blue; set dueling, 0; atcommand "@leave"; if( strcharinfo(0) == .char$ && isloggedin( getcharid( 3,.char2$ ),getcharid( 0,.char2$ ) ) ) { attachrid( getcharid( 3,.char2$ ) ); set Zeny, Zeny + dueling; dispbottom "You collected you previous gamble : "+ callfunc( "int__", dueling ) +" Zeny."; set dueling, 0; } else if( strcharinfo(0) == .char2$ && isloggedin( getcharid( 3,.char$ ),getcharid( 0,.char$ ) ) ) { attachrid( getcharid( 3,.char$ ) ); set Zeny, Zeny + dueling; dispbottom "You collected you previous gamble : "+ callfunc( "int__", dueling ) +" Zeny."; set dueling, 0; } goto L_resetvar; } end; // Label for gambling Zeny // ----------------------------- L_PDZeny: set .@npcname$, getarg(1); if( !getarg(0) ) { mes .@npcname$; mes "How many zeny you would like to bet ?"; next; if( input( .@zeny, 1, Zeny ) != 0 ) { mes .@npcname$; mes "You don't have enough zeny to duel! I won't allow that!"; close; } if( .char$ != "" ) { mes .@npcname$; mes "Sorry you were too slow. Someone already bet."; close; } set Zeny, Zeny - .@zeny; set dueling, .@zeny; } else { if( getarg(0) > Zeny ) { mes .@npcname$; mes "You don't have enough zeny to duel! I won't allow that!"; close; } else { if( .char2$ != "" || .char$ == "" ) { mes .@npcname$; mes "Sorry you were too slow."+ ( .char2$ != "" ? " Someone already bet." : "" ); close; } set Zeny, Zeny - getarg(0); set dueling, getarg(0); set .@zeny, getarg(0) * 2; } } return .@zeny; }
  5. No need to post a bug report. I tested it and the name of the NPC were the problem, like you said.
  6. You must add Mapflag#loadevent for each map to trigger OnPCLoadMapEvent.
  7. Replace your OnClock<hour><minute>: by On<weekday><hour><minute>:
  8. What's your emulator, it version ? Post your whole script.
  9. Replace announce "Guess the Number: The event has started!",0; enablenpc "guess"; end; } to announce "Guess the Number: The event has started!",0; enablenpc "guess"; end; OnInit: disablenpc "guess"; end; }
  10. If system work as I think, it will show message on your client, and if it doesn't close your client, you can read reason as video shown >> http://bit.ly/120XQ5F True. But mine doesn't show anything (yes I have tried on my character, I'm a little masochist I guess). It depends on diff patch on launcher. Just a setting I guess
  11. This fix still doesn't exist ! @goddameit 100 milliseconds for reading the reason... kick too fast lol
  12. Item type 11 Example : // ID,AegisName,Name,Type,Buy,Sell,Weight,ATK,DEF,Range,Slots,Job,Upper,Gender,Loc,wLV,eLV,Refineable,View,{ Script },{ OnEquip_Script },{ OnUnequip_Script } 12622,Reins_Of_Mount,Reins Of Mount,11,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ setmounting(); },{},{}
  13. Capuche

    Server Uptime

    Just days prontera,159,187,4 script Uptime 858,{ function Add_Zero; function Add_S; mes "[uptime]", "The server has been online for ", ((.t[1])?Add_S(.t[1],"day")+", ":"")+ ((.t[2])?Add_S(.t[2],"hour")+", ":"")+ ((.t[2]||.t[3])?Add_S(.t[3],"minute")+" ":"")+ ((getarraysize(.t)>2)?"and ":"")+Add_S(.t[4],"second")+", "+ "and counting!"; close; function Add_Zero { return ((getarg(0)<10)?"0":"")+getarg(0); } function Add_S { return "^0055FF"+getarg(0)+" "+getarg(1)+((getarg(0)==1)?"":"s")+"^000000"; } OnInit: set .t[0], gettimetick(2); waitingroom " [ 00:00:00 ]",0; initnpctimer; end; OnTimer950: set .@t, gettimetick(2)-.t[0]; set .t[1], .@t/(3600*24); set .t[2], .@t/3600-.t[1]*24; set .t[3], .@t/60-.t[2]*60; set .t[4], .@t%60; end; OnTimer990: initnpctimer; delwaitingroom; waitingroom " [ "+Add_Zero(.t[1])+":"+Add_Zero(.t[2])+":"+Add_Zero(.t[3])+":"+Add_Zero(.t[4])+" ]",0; end; } I don't think it's useful to display month and years, reloadscript reset the count. Edit : Fix one mistake.
  14. There are many topics about that. Chatroom Chatroom Pub
  15. Check your mapflag noteleport. conf/mapflag/noteleport.txt If enabled you can cast High jump but not moving.
  16. I don't test it but getmapxy return 0 if the search was successful so it must be while( !getmapxy(.@map$,.@x,.@y,0) ) { Be careful about multi loop. If player touch the NPC many time, it should have multi loop. You can do something like that to prevent it. if( @idtime ) end; while( !getmapxy(.@map$,.@x,.@y,0) ) {
  17. .count = 24; monster "guild_vs1",0,0,"--ja--",1785,2,strnpcinfo(0)+"::OnMyKill"; //atroce monster "guild_vs1",0,0,"--ja--",1630,2,strnpcinfo(0)+"::OnMyKill"; //bacsojin monster "guild_vs1",0,0,"--ja--",1252,2,strnpcinfo(0)+"::OnMyKill"; //garm monster "guild_vs1",0,0,"--ja--",1688,2,strnpcinfo(0)+"::OnMyKill"; //lady tanee monster "guild_vs1",0,0,"--ja--",1147,2,strnpcinfo(0)+"::OnMyKill"; //maya monster "guild_vs1",0,0,"--ja--",1150,2,strnpcinfo(0)+"::OnMyKill"; //moonlight flower monster "guild_vs1",0,0,"--ja--",1120,2,strnpcinfo(0)+"::OnMyKill"; //ghostring monster "guild_vs1",0,0,"--ja--",1582,2,strnpcinfo(0)+"::OnMyKill"; //deviling monster "guild_vs1",0,0,"--ja--",1059,2,strnpcinfo(0)+"::OnMyKill"; //mistress monster "guild_vs1",0,0,"--ja--",1087,2,strnpcinfo(0)+"::OnMyKill"; //orc hero monster "guild_vs1",0,0,"--ja--",1159,2,strnpcinfo(0)+"::OnMyKill"; //phreeoni monster "guild_vs1",0,0,"--ja--",1289,2,strnpcinfo(0)+"::OnMyKill"; //maya purple In this example I set .count = 24; 'coz there are 24 mobs spawn. Count and set the number of mobs in each round before processing... or use mobcount OnMyKill: if( mobcount( "guild_vs1", strnpcinfo(0)+"::OnMyKill") ) end; mapannounce "guild_vs1","The second invasion of monsters in 10 seconds.",0,0x00ff00;
  18. Replace switch(select(.@menu$)) { case 1: function Job_Menu; function A_An; if (Class > 4049) { message strcharinfo(0),"No more jobs are available."; close; } to switch(select(.@menu$)) { case 1: function Job_Menu; function A_An; if (Class > 4049 || Class == 25) { message strcharinfo(0),"No more jobs are available."; close; }
  19. Capuche

    Monsters Emos

    Sure. Open db/re/mob_skill_db.txt See db/const.txt for emotion 0 is relate to gasp for example.
  20. You can use this itemconverter to convert old txt files in itemInfo.lua (then compile or rename itemInfo.lua to itemInfo.lub).
  21. No need global temporary variable here. Just to point it out. /* Programed by: Miles Reginal Version 1.0 • An NPC that spawns has a treasure chest. • After taking the treasure, it spawns in another place • Fixed the error in which the Chest can spawn on Non-Walkable place */ prontera,155,155,5 script Treasure Chest 1902,{ progressbar "", .waiting_time; getitem .treasure_reward, 1; while( 1 ) { set .@x, rand(1,250); set .@y, rand(1,250); sleep 1; if( checkcell("prontera",.@x,.@y,cell_chkpass) ) break; } movenpc "Treasure Chest",.@x,.@y; end; OnInit: set .waiting_time, 20; //Time needed to get the treasure set .treasure_reward, 674; //Reward that you get after opened the treasure end; }
  22. In lua files/skillinfoz/skillinfolist.lua change the name etc.. However it's client support.
  23. I get it now. I thought it was every minute of every hour lol btw your script trigger every minute 01 of Thursday, Friday and Saturday. So it's not correct. Edit: - script triple_exp -1,{ OnInit: // original Base/Job Exp and Drop Rates set .bexp_rate, 1; //Put you rate... set .jexp_rate, 1; //put you rate... OnHour16: OnHour23: if( gettime(4) != 0 && gettime(4) != 6 || ( gettime(4) == 1 && gettime(3) >= 16 ) ) { // Monday to Friday if( gettime(3) >= 23 || gettime(3) < 16 ) { announce "Double Event is finished!",bc_all,0xFF6060; callsub L_ratio, 1; } else { announce "Double Event Starting!", bc_all; callsub L_ratio, 2; } } OnHour12: if( !gettime(4) || ( gettime(4) == 6 && gettime(3) >= 12 ) || ( gettime(4) == 1 && gettime(3) < 12 ) ) { announce "Triple Event is Starting!",bc_all,0xFF6060; callsub L_ratio, 3; } else if( gettime(4) == 1 && gettime(3) == 12 ) { announce "Triple Event is finished!",bc_all,0xFF6060; callsub L_ratio, 1; } else callsub L_ratio, 1; end; L_ratio: setbattleflag "base_exp_rate", .bexp_rate * 100 * getarg( 0 ); setbattleflag "job_exp_rate", .jexp_rate * 100 * getarg( 0 ); set .ratio, getarg( 0 ); atcommand "@reloadmobdb"; end; OnMinute01: if( .ratio == 3 ) announce "Weekend Triple EXP Event is currently in affect, Enjoy and have a great day!",bc_all,0xFF6060; end; }
×
×
  • Create New...