Jump to content

prada

Members
  • Posts

    2
  • Joined

  • Last visited

Everything posted by prada

  1. prada

    Timer

    Sorry! Let me explain better. I am creating a Guild Package and am using this script. My WoE run two days of the week and I would like two hours before WoE the npc deliver the items as soon as the leader requests once each WoE. https://pastebin.com/tLHkb0rf prontera,100,200,3 script WoE Supply 78,{ function sf { function s; .@a = getarg(2); .@len = getarg(3); return ( sprintf( getarg(0), s(.@a, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)) ) +(( .@a+1 < .@len )?":Next":":") +(( .@a-11 > 0 )?":Back":":") +":Cancel" ); function s { if( getarg(0) >= getarg(1) ) return ""; else { .@name$ = getguildname(getelementofarray(getarg(2),getarg(0))); return .@name$=="null"?"":.@name$; } }; }; function nex { return((getarg(0)+10)<getarg(1)?getarg(0)+10:getarg(1)-(getarg(1)%10)); }; function bac { return((getarg(0)-10)>=0?getarg(0)-10:0); }; if( getgmlevel()>=80 ) { mes .Npc_Name$; mes "Hello Mr. GM what would you like to do?"; next; switch( select("Add/Remove Guilds:Clear Guild Data:Player Menu:Cancel") ) { case 1: mes .Npc_Name$; mes "Would you like to add or remove a guild?"; .@a_len = getarraysize($App_Guilds); .@format$ = "%s:%s:%s:%s:%s:%s:%s:%s:%s:%s"; next; if( select("Remove:Add") == 1 ) { while( .@a != 9999 ) { select( sf( .@format$, $App_Guilds, .@a, .@a_len ) ); switch( @menu ) { case 11: .@a = nex( .@a, .@a_len ); break; case 12: .@a = bac( .@a ); break; case 13: end; default: .@select = .@a+@menu-1; mes .Npc_Name$; mes "You've selected ^0000FF["+getguildname($App_Guilds[.@select])+"]^000000 guild. Would you like to remove them from the accepted guilds?"; next; if( select("Yes:No") == 1 ) { deletearray($App_Guilds[.@select],1); mes .Npc_Name$; mes "The guild has been removed!"; } close; } } } else { mes .Npc_Name$; mes "Please input guild name or masters name."; next; input(.@input$); .@len = query_sql( "Select `guild_id` from `guild` where `name` like '%"+escape_sql(.@input$)+"%' or `master` like '%"+escape_sql(.@input$)+"%';",.@guild_id ); while( .@a != 9999 ) { select( sf( .@format$, .@guild_id, .@a, .@len ) ); switch( @menu ) { case 11: .@a = nex( .@a, .@len ); break; case 12: .@a = bac( .@a ); break; case 13: end; default: .@select = .@a+@menu-1; .@a_len = getarraysize($App_Guilds); for(.@b=0;.@b<.@a_len;.@b++) if( $App_Guilds[.@b]==.@guild_id[.@select] ) { mes .Npc_Name$; mes "You've selected ^0000FF["+getguildname(.@guild_id[.@select])+"]^000000 guild. I'm sorry but that guild has already been added to the accepted list."; close; } mes .Npc_Name$; mes "You've selected ^0000FF["+getguildname(.@guild_id[.@select])+"]^000000 guild. Would you like to add them to the accepted guilds?"; next; if( select("Yes:No") == 1 ) { .@a_len = getarraysize($App_Guilds); if( .@a_len>=128 ) { mes .Npc_Name$; mes "I'm sorry but the accepted list is full please make some room and try again..."; } else { mes .Npc_Name$; mes "The guild was successfully added!"; $App_Guilds[.@a_len] = .@guild_id[.@select]; } } close; } } } case 2: mes .Npc_Name$; mes "Are you sure you want to clear the guild data?!"; next; if( select("Yes!:No!")==1 ) { mes .Npc_Name$; mes "This is you last chance. Are you surly sure as sure can be?"; next; if( select("Surly!:No, wait... Where am I?!!")==1 ) deletearray($App_Guilds); } if( @menu==1 ) { mes .Npc_Name$; mes "The deed is done..."; } else { mes .Npc_Name$; mes "Wow that was a close one... Have a nice day!"; } close; case 3: break; case 4: mes .Npc_Name$; mes "Alright, have a nice day!"; close; } } mes .Npc_Name$; mes "I'm here to give you supplies for WoE!"; next; mes .Npc_Name$; .@len = getarraysize($App_Guilds); for( .@i=0; .@i <= .@len; .@i++ ) { if( getcharid(2) == $App_Guilds[.@i] ) set .@Guild_Check, .@Guild_Check+1; } if( .@Guild_Check < 1 ) { mes "Your guild has not yet been approved, please contact the GMs"; close; } if( !getcharid(2) ) { mes "Sorry only members of a guild may use this npc."; close; } if( BaseLevel < 99 || Class > 4022 ) { mes "Sorry this is for Lvl 99 Trans Class only"; close; } if( gettimetick(2) < #delay ) { mes "Sorry, you can only claim this once every WoE"; close; } switch( Class ) { case 4009: //High Priest getitem 19052,1; //HP Pack break; case 4010: //High Wizard mes "Please choose your role"; mes "Support : Ganbantien"; mes "Offensive : SG/MS/LOV (Includes Crystal Fragments)"; next; if( select("Support High Wizard:Offensive High Wizard")==1 ) getitem 19047,1; //Support HWIZ Pack else getitem 19046,1; //Offensive HWIZ Pack break; case 4011: //Whitesmith getitem 19051,1; //Whitesmith Pack break; case 4012: //Sniper getitem 19054,1; //Sniper Pack break; case 4013: //Sinx getitem 19055,1; //Sinx Pack break; case 4016: //Champion getitem 19053,1; //Champion Pack break; case 4017: //Professor getitem 19048,1; //Prof Pack break; case 4018: //Stalker mes "Please choose your type."; mes "Flame : Flame Stone"; mes "Ice : Ice Stone"; mes "Wind : Wind Stone"; mes "Shadow : Shadow Orb"; next; switch( select("Flame:Ice:Wind:Shadow") ) { case 1: getitem 19056,1; break; case 2: getitem 19057,1; break; case 3: getitem 19058,1; break; case 4: getitem 19059,1; } break; case 4019: //Creator mes "Please choose your role."; mes "Support : Slim Potion Pitcher"; mes "Offensive : Acid Demonstration"; next; if( select("Support Creator:Offensive Creator")==1 ) getitem 19050,1; else getitem 19049,1; break; case 25: //Ninja mes "Please choose your type."; mes "Flame : Flame Stone"; mes "Ice : Ice Stone"; mes "Wind : Wind Stone"; mes "Shadow : Shadow Orb"; next; switch( select("Flame:Ice:Wind:Shadow") ) { case 1: getitem 19056,1; break; case 2: getitem 19057,1; break; case 3: getitem 19058,1; break; case 4: getitem 19059,1; } break; //Add more cases for all classes default: if( !callsub( L_GLSub, .Npc_Name$ ) ) mes "Sorry this is only for the classes which require items for using skills."; close; } set #delay, gettimetick(2)+10800; callsub( L_GLSub, .Npc_Name$ ); mes "There you are, goodluck!"; close; L_GLSub: if( getguildmasterid(getcharid(2)) == getcharid(0) ) { mes getarg(0); mes "Would you like to claim your guild leader package too?"; next; if( select("Yes:No")==1 ) switch( gettime(4) ) { case 0: getitem 19056,1; break; //Sunday case 1: getitem 19056,1; break; //Monday case 2: getitem 19056,1; break; //Tuesday case 3: getitem 19056,1; break; //Wednesday case 4: getitem 19056,1; break; //Thursday case 5: getitem 19056,1; break; //Friday case 6: getitem 19056,1; //Saturday } return 1; } return 0; OnInit: set .Npc_Name$, "[^0000FF WoE Supply ^000000]"; end; }
  2. prada

    Timer

    good day I want to configure the script to give a package two hours before the start of the woe, being able to receive only once the package. my woe are set to start woe Wednesday and Sunday at 8:00 p.m. Can someone help me? thank you sorry for my english
×
×
  • Create New...