-
Posts
2407 -
Joined
-
Last visited
-
Days Won
52
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Everything posted by Capuche
-
- script reward_woe -1,{ OnAgitEnd: callsub( L_reward, 0,19 ); OnAgitEnd2: callsub( L_reward, 24,33 ); L_reward: sleep 1000; set .@start, getarg(0); set .@end, getarg(1); for( set .@i, .@start; .@i <= .@end; set .@i, .@i +1 ) { set .@guild_id, getcastledata( .castle_map$[.@i],1 ); if( .@guild_id ) setd ".@points_"+ .@guild_id, getd( ".@points_"+ .@guild_id ) +1; } set .@size, query_sql( "SELECT `name`, `account_id` FROM `char` WHERE `online` = 1 and `guild_id` != 0 LIMIT 128", .@name$, .@account_id ); for ( set .@i, 0; .@i < .@size; set .@i, .@i +1 ) if( getd( ".@points_"+ getcharid( 2,.@name$[.@i] ) ) ) { attachrid .@account_id[.@i]; set #CASHPOINTS, #CASHPOINTS + .amount * getd( ".@points_"+ getcharid(2) ); dispbottom "you got "+ .amount +" cashpoints. Total: "+ #CASHPOINTS; } end; OnInit: set .amount, 100; // give 100 cashpoints setarray .castle_map$, "aldeg_cas01", "aldeg_cas02", "aldeg_cas03", "aldeg_cas04", "aldeg_cas05", "gefg_cas01", "gefg_cas02", "gefg_cas03", "gefg_cas04", "gefg_cas05", "payg_cas01", "payg_cas02", "payg_cas03", "payg_cas04", "payg_cas05", "prtg_cas01", "prtg_cas02", "prtg_cas03", "prtg_cas04", "prtg_cas05", "nguild_alde", "nguild_gef", "nguild_pay", "nguild_prt", "schg_cas01", "schg_cas02", "schg_cas03", "schg_cas04", "schg_cas05", "arug_cas01", "arug_cas02", "arug_cas03", "arug_cas04", "arug_cas05"; } ea doesn't support direct variable assignment. That means .@start = getarg(0);// doesn't work on eathena .@i++;// doesn't work on eathena set .@start, getarg(0);// work on eathena set .@i, .@i +1;// work on eathena
-
- script reward_woe -1,{ OnAgitEnd: callsub( L_reward, 0,19 ); OnAgitEnd2: callsub( L_reward, 24,33 ); L_reward: sleep 1000; .@start = getarg(0); .@end = getarg(1); for( .@i = .@start; .@i <= .@end; .@i++ ) { .@guild_id = getcastledata( .castle_map$[.@i],1 ); if( .@guild_id ) setd ".@points_"+ .@guild_id, getd( ".@points_"+ .@guild_id ) +1; } .@size = query_sql( "SELECT `name`, `account_id` FROM `char` WHERE `online` = 1 and `guild_id` != 0 LIMIT 128", .@name$, .@account_id ); for ( .@i = 0; .@i < .@size; .@i++ ) if( getd( ".@points_"+ getcharid( 2,.@name$[.@i] ) ) ) { attachrid .@account_id[.@i]; #CASHPOINTS = #CASHPOINTS + .amount * getd( ".@points_"+ getcharid(2) ); dispbottom "you got "+ .amount +" cashpoints. Total: "+ #CASHPOINTS; } end; OnInit: .amount = 100; // give 100 cashpoints setarray .castle_map$, "aldeg_cas01", "aldeg_cas02", "aldeg_cas03", "aldeg_cas04", "aldeg_cas05", "gefg_cas01", "gefg_cas02", "gefg_cas03", "gefg_cas04", "gefg_cas05", "payg_cas01", "payg_cas02", "payg_cas03", "payg_cas04", "payg_cas05", "prtg_cas01", "prtg_cas02", "prtg_cas03", "prtg_cas04", "prtg_cas05", "nguild_alde", "nguild_gef", "nguild_pay", "nguild_prt", "schg_cas01", "schg_cas02", "schg_cas03", "schg_cas04", "schg_cas05", "arug_cas01", "arug_cas02", "arug_cas03", "arug_cas04", "arug_cas05"; } give 100 cashpoints for all castle owner - guild member online at the end of the woe 1 and se EDIT : fix a typo
-
also check your bonus in item db pc_bonus: unknown type 0 1 means you have an unknown bonus
-
or - script at_ecall -1,{ OnInit: bindatcmd("@ec","at_ecall::OnEcall"); bindatcmd("@ecall","at_ecall::OnEcall"); end; OnEcall: if( !getcharid(2) ){dispbottom "You are not apart of a guild."; end;} if( getguildmasterid( getcharid(2) ) != getcharid(0) ){dispbottom "Can only be used by guild leader."; end;} if( gettimetick(2) < @delay_ecall ){dispbottom "Command Failed. Still on cooldown."; end;} progressbar "0x00FF00",5; //5 seconds is how the skill acts. getmapxy(.@m$,.@x,.@y,0); warpguild .@m$,.@x,.@y,getcharid(2); @delay_ecall = gettimetick(2) + 180; end; } if he logs out log in, he can use @ecall again without delay
-
prontera,150,175,5 script inin 75,{ select( "register" ); .@my_aid = getcharid(3); while( .@i < .size_aid && .aid_reg[.@i] != .@my_aid ) .@i++;// check if already register if ( .@i < .size_aid ) {// already register, can enter warp "geffen",0,0; end; } .@ip = getcharip(); if ( getd( ".ip_"+ .@ip ) ) {// check the ip dispbottom "access denied. same ip detected."; end; } setd ".ip_"+ .@ip, 1;// save the ip .aid_reg[.size_aid] = .@my_aid;// save the account id .size_aid++; warp "geffen",0,0; end; }
-
Do you use a specific castle in woe or all castle ?
-
//===== rAthena Script ======================================= //= Job Master //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.3 //===== Compatible With: ===================================== //= rAthena SVN r16114+ //===== Description: ========================================= //= A fully functional job changer. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.1 Fixed reset on Baby job change. //= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support. //= 1.3 Kagerou/Oboro added. //============================================================ prontera,153,193,6 script Job Master 123,{ function Job_Menu; function A_An; mes "[Job Master]"; if (Class > 4049) { mes "No more jobs are available."; close; } if (checkfalcon() || checkcart() || checkriding() || ismounting()) { mes "Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+((ismounting())?"mount":"")+" before proceeding."; close; } if (.SkillPointCheck && SkillPoint) { mes "Please use all your skill points before proceeding."; close; } set .@eac, eaclass(); set .@i, ((.ThirdClass)?roclass(.@eac&EAJ_UPPERMASK):Class); if (.@i > 6 && .@i < 22) { if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) { set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .Rebirth[1]-JobLevel; mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue."; close; } if (Class > 21) { mes "Switch to third class?"; next; Job_Menu(roclass(.@eac|EAJL_THIRD)); close; } while(1) { mes "Select an option."; next; set .@i, select(" ~ ^0055FF"+ jobname(roclass(.@eac|EAJL_UPPER)) +"^000000:"+((.ThirdClass)?" ~ ^FF0000Third Class^000000":"")+": ~ ^777777Cancel^000000"); if (.@i==3) close; mes "[Job Master]"; mes "Are you sure?"; next; Job_Menu(((.@i==1)? roclass(.@eac|EAJL_UPPER) :roclass(.@eac|EAJL_THIRD))); mes "[Job Master]"; } } set .@j1, roclass(.@eac|EAJL_2_1); set .@j2,roclass(.@eac|EAJL_2_2); if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) setarray .@exp[0],roclass(.@eac|EAJL_THIRD),99; if (Class == Job_Ninja) setarray .@exp[0],.@j1,70; if (.@exp[0] && .ThirdClass) { if (BaseLevel < .Rebirth[0] || JobLevel < .@exp[1]) { set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .@exp[1]-JobLevel; mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue."; close; } mes "Switch to "+jobname(.@exp[0])+"?"; next; Job_Menu(.@exp[0]); close; } if (.@eac&EAJL_2) if (.@eac&(EAJL_UPPER|EAJL_BABY) || roclass(.@eac|EAJL_UPPER) == -1) { mes "No more jobs are available."; close; } if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) { if (JobLevel < .JobReq[0]) mes "A job level of "+.JobReq[0]+" is required to change into the 1st Class."; else if (Class == 4001 && .LastJob && lastJob) { mes "Switch classes now?"; next; Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER)); } else switch(Class) { case 0: Job_Menu(1,2,3,4,5,6,23,4046,24,25,4023); case 4001: Job_Menu(4002,4003,4004,4005,4006,4007); case 4023: Job_Menu(4024,4025,4026,4027,4028,4029,4045); default: mes "An error has occurred."; break; } close; } if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1) mes "No more jobs are available."; else if (!(.@eac&EAJL_2) && JobLevel < .JobReq[1]) mes "A job level of "+.JobReq[1]+" is required to change into the 2nd Class."; else if (.LastJob && lastJob && (.@eac&EAJL_UPPER)) { mes "Switch classes now?"; next; Job_Menu(lastJob+4001); } else Job_Menu(.@j1,.@j2); close; function Job_Menu { while(1) { if (getargcount() > 1) { mes "Select a job."; set .@menu$,""; for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set .@menu$, .@menu$+" ~ "+jobname(getarg(.@i))+":"; set .@menu$, .@menu$+" ~ ^777777Cancel^000000"; next; set .@i, getarg(select(.@menu$)-1,0); if (!.@i) close; if ((.@i == 23 || .@i == 4045) && BaseLevel < .SNovice) { mes "[Job Master]"; mes "A base level of "+.SNovice+" is required to turn into a "+jobname(.@i)+"."; close; } mes "[Job Master]"; mes "Are you sure?"; next; } else set .@i, getarg(0); if (select(" ~ Change into ^0055FF"+jobname(.@i)+"^000000 class: ~ ^777777"+((getargcount() > 1)?"Go back":"Cancel")+"^000000") == 1) { mes "[Job Master]"; mes "You are now "+A_An(jobname(.@i))+"!"; if (.@i==4001 && .LastJob) set lastJob, Class; jobchange .@i; if (.@i==4001 || .@i==4023) resetlvl(1); specialeffect2 338; specialeffect2 432; if (.Platinum) callsub Get_Platinum; close; } if (getargcount() == 1) return; mes "[Job Master]"; } end; } function A_An { setarray .@A$[0],"a","e","i","o","u"; set .@B$, "_"+getarg(0); for(set .@i,0; .@i<5; set .@i,.@i+1) if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0); return "a "+getarg(0); } Get_Platinum: skill 142,1,0; switch(BaseClass) { case 0: if (Class !=23) skill 143,1,0; break; case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break; case 2: skill 157,1,0; break; case 3: skill 147,1,0; skill 148,1,0; break; case 4: skill 156,1,0; break; case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break; case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break; default: break; } switch(BaseJob) { case 7: skill 1001,1,0; break; case 8: skill 1014,1,0; break; case 9: skill 1006,1,0; break; case 10: skill 1012,1,0; skill 1013,1,0; break; case 11: skill 1009,1,0; break; case 12: skill 1003,1,0; skill 1004,1,0; break; case 14: skill 1002,1,0; break; case 15: skill 1015,1,0; skill 1016,1,0; break; case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break; case 17: skill 1005,1,0; break; case 18: skill 238,1,0; break; case 19: skill 1010,1,0; break; case 20: skill 1011,1,0; break; default: break; } return; OnInit: setarray .Rebirth[0],99,50; // Minimum base level, job level to rebirth OR change to third class setarray .JobReq[0],10,40; // Minimum job level to turn into 1st class, 2nd class set .ThirdClass,0; // Enable third classes? (1: yes / 0: no) set .SNovice,45; // Minimum base level to turn into Super Novice set .LastJob,1; // Enforce linear class changes? (1: yes / 0: no) set .SkillPointCheck,1; // Force player to use up all skill points? (1: yes / 0: no) set .Platinum,1; // Get platinum skills automatically? (1: yes / 0: no) end; }
-
case 3000:
-
prontera,150,175,5 script ouino 75,{ set .@poring, bg_monster(1,"prontera",150,175,"Poring",1002,""); unitwalk .@poring,160,175; sleep 5000; unitkill .@poring; end; } bg_monster + unitwalk + unitkill
-
use and countitem to check if the player has a specific card in inventory
-
yeah
-
Euphy WoE reward only gives guildmaster prize...
Capuche replied to HristDead's question in Scripting Support
in this option it's not set so all guild members are rewarded. -
Please help me insert a duplicate job checker on my script
Capuche replied to Freya Jorgenson's question in Scripting Support
prontera,134,169,6 script 7v7 Team Wars::teamwar 469,{ if (getgmlevel() >= 99){ menu "standard menu",standard,"reset",lend; } standard: if ( getcharid(1) == 0 ) { mes "your are not in a party"; close; } set $@members,2; // number of party members change this to your party size you want set $@start,0; getpartymember(getcharid(1)); set @partymembercount,$@partymembercount; if ( $@start == 1 ) { mes "The Sign Ups are currently unavailable because a match is in progress. Don't hesitate to try again in a few minutes!"; close; } if ( @partymembercount == $@members ) { if ( $@TeamID1 == getcharid(1) ) { mes "Do you wish to sign out your team?"; next; if (select("I Give up ~.","Never Say Quit !!")==2) close; announce "Team 1 : [ " + getpartyname($@TeamID1) + " ] has sign out. We need another Party to sign up now!",bc_yellow|bc_map; set $@TeamID1, 0; close; } if ($@TeamID2==getcharid(1)) { mes "Do you wish to sign out your team?"; next; if (select("I Give up ~.","Never Say Quit !!")==2) close; announce "Team 2 : [ " + getpartyname($@TeamID2) + " ] has sign out. We need another Party to sign up now!",bc_yellow|bc_map; set $@TeamID2, 0; close; } mes "Hello "+strcharinfo(0)+" what do you want?"; if (($@TeamID1!=0) && ($@TeamID2!=0)) { mes "The Sign Ups are currently unavailable because a match is in progress. Don't hesitate to try again in a few minutes!"; close; } if ( getpartyleader(getcharid(1),2) != getcharid(0) ) { mes "Only party leader have the right to sign up / out from the game with me.."; close; } mes "Choose your team to register."; switch(select("Red Team - [" + GetPartyName($@TeamID1) + "] :Blue Team - [" + GetPartyName($@TeamID2) + "]")) { case 1: mes "[ Team War ]"; if ($@TeamID1==0 || getpartyname($@TeamID1)=="null") { getpartymember(getcharid(1)),0; getpartymember(getcharid(1)),1; getpartymember(getcharid(1)),2; copyarray $@partymembercidt1[0],$@partymembercid[0],$@members; copyarray $@partymemberaidt1[0],$@partymemberaid[0],$@members; for (set .@i,0; .@i<$@members; set .@i,.@i+1) { if(isloggedin($@partymemberaidt1[.@i],$@partymembercidt1[.@i])){ set .@count,.@count+1; .@class = readparam( 19,$@partymembername$[.@i] ); if ( getd( ".@checkclass3_"+ .@class ) == 1 ){ .@duplicate_job3$ = .@duplicate_job3$ + ( getstrlen( .@duplicate_job3$ ) ? "," : "" ) + jobname( .@class ) ); setd ".@checkclass3_"+ .@class, 999; } else if ( getd( ".@checkclass3_"+ .@class ) == 0 ) setd ".@checkclass3_"+ .@class, 1; } } if(.@count < $@members) { mes "You need all your party members to be online to Register"; close; } else if( getstrlen( .@duplicate_job3$ ) ){ mes "You can't have more than 1 class of "+ .@duplicate_job3$; close; } set $@TeamID1, getcharid(1); initnpctimer; mes "Your Party is now subscribed, good luck!"; announce "Team 1 : [ " +getpartyname($@TeamID1)+ " ] has sign up For the Team War!",bc_blue|bc_map; doevent "teamwar::OnSubscriptionTeam"; close; } else { mes "I'm sorry! Another Team has sign up before you..."; close; } case 2: mes "[ Team War ]"; if ($@TeamID2==0 || getpartyname($@TeamID2)=="null") { getpartymember(getcharid(1)),1; getpartymember(getcharid(1)),2; copyarray $@partymembercidt2[0],$@partymembercid[0],$@members; copyarray $@partymemberaidt2[0],$@partymemberaid[0],$@members; for (set .@i,0; .@i<$@members; set .@i,.@i+1) { if(isloggedin($@partymemberaidt2[.@i],$@partymembercidt2[.@i])) set .@count,.@count+1; } if(.@count < $@members) { mes "You need all your party members to be online to Register"; close; } set $@TeamID2, getcharid(1); initnpctimer; mes "Your Party is now subscribed, good luck!"; announce "Team 2 : [ " +getpartyname($@TeamID2)+ " ] has sign up For the Team War!",bc_blue|bc_map; doevent "teamwar::OnSubscriptionTeam"; close; } else { mes "I'm sorry! Another Team has sign up before you..."; close; } } } else { mes "[Event Handler]"; mes "Please contact your party leader."; mes "Your team must have a party consisting of "+$@members+" members."; close; } OnSubscriptionTeam: getpartymember($@TeamID2),1; getpartymember($@TeamID2),2; copyarray $@partymembercidtc2[0],$@partymembercid[0],$@members; copyarray $@partymemberaidc2[0],$@partymemberaid[0],$@members; for (set .@i,0; .@i<$@members; set .@i,.@i+1) { if(isloggedin($@partymemberaidc2[.@i],$@partymembercidtc2[.@i])) { set .@countx,.@countx+1; .@class = readparam( 19,$@partymembername$[.@i] ); if ( getd( ".@checkclass_"+ .@class ) == 1 ){ .@duplicate_job$ = .@duplicate_job$ + ( getstrlen( .@duplicate_job$ ) ? "," : "" ) + jobname( .@class ) ); setd ".@checkclass_"+ .@class, 999; } else if ( getd( ".@checkclass_"+ .@class ) == 0 ) setd ".@checkclass_"+ .@class, 1; } } if(.@countx < $@members) { announce "Team War : "+getpartyname($@TeamID2)+"are not all online the match has been canceled",0; announce "Team War : registration for 2 new teams are now available",0; goto lend; } if ( $@TeamID2 && $@partymembercount != $@members ) { announce getpartyname($@TeamID2) +" has extra party members !", 0; goto lend; } else if( getstrlen( .@duplicate_job$ ) ){ announce getpartyname($@TeamID2) +" more than 1 class of "+ .@duplicate_job$ +" !", 0; goto lend; } getpartymember($@TeamID1),1; getpartymember($@TeamID1),2; copyarray $@partymembercidtc1[0],$@partymembercid[0],$@members; copyarray $@partymemberaidc1[0],$@partymemberaid[0],$@members; for (set .@i,0; .@i<$@members; set .@i,.@i+1) { if(isloggedin($@partymemberaidc1[.@i],$@partymembercidtc1[.@i])) { set .@countz,.@countz+1; .@class = readparam( 19,$@partymembername$[.@i] ); if ( getd( ".@checkclass2_"+ .@class ) == 1 ){ .@duplicate_job2$ = .@duplicate_job2$ + ( getstrlen( .@duplicate_job2$ ) ? "," : "" ) + jobname( .@class ) ); setd ".@checkclass2_"+ .@class, 999; } else if ( getd( ".@checkclass2_"+ .@class ) == 0 ) setd ".@checkclass2_"+ .@class, 1; } } if(.@countz < $@members) { announce "Team War : "+getpartyname($@TeamID1)+"are not all online the match has been canceled",0; announce "Team War : registration for 2 new teams are now available",0; goto lend; } if ( $@TeamID1 && $@partymembercount != $@members ) { announce getpartyname($@TeamID1) +" has extra party members !", 0; goto lend; } else if( getstrlen( .@duplicate_job2$ ) ){ announce getpartyname($@TeamID1) +" more than 1 class of "+ .@duplicate_job2$ +" !", 0; goto lend; } if($@TeamID1!=0 && $@TeamID2!=0){ announce "Team War : We have 2 Teams signed up now : "+getpartyname($@TeamID1)+" and "+getpartyname($@TeamID2)+".",bc_blue|bc_map; set @win1, 0; set @win2, 0; goto Onstart; } end; OnTimer50000: if (($@TeamID1!=0) && ($@TeamID2!=0)) { stopnpctimer; end; } stopnpctimer; set $@TeamID1, 0; set $@TeamID1, 0; announce "Team War : we lack teams to start registration for two teams are now available",0; end; OnStart: warpparty "guild_vs2",89,49,$@TeamID1; warpparty "guild_vs2",11,49,$@TeamID2; set $@start,1; end; lend: stopnpctimer; set $@TeamID1,0; set $@TeamID2,0; set $@start,0; set @win1,0; set @win2,0; set @partymembercount,$@members; announce "Thanks for joining!",0; end; OnTimer250000: Announce "Team War : No Party won due to time limit!",0; mapwarp "guild_vs2","prontera",156,191; goto lend; end; OnPCDieEvent: OnPCLogoutEvent: if(strcharinfo(3) != "guild_vs2") end; warp "prontera",156,191; for(set .@i, 0; .@i < $@members; set .@i, .@i + 1) { if ( $@partymembercidt1[.@i] == getcharid(0)) { deletearray $@partymembercidt1[.@i], 1; deletearray $@partymemberaidt1[.@i], 1; if( getarraysize($@partymembercidt1) == 0 ) { set @win2,getarraysize($@partymembercidt2); goto onwin; } } if ( $@partymembercidt2[.@i] == getcharid(0) ) { deletearray $@partymembercidt2[.@i], 1; deletearray $@partymemberaidt2[.@i], 1; if( getarraysize($@partymembercidt2) == 0 ) { set @win1,getarraysize($@partymembercidt1); goto onwin; } } } end; onwin: if (@win1==0) { warpparty "prontera",156,191,$@TeamID1; warpparty "prontera",156,191,$@TeamID2; Announce "Team War :"+GetPartyName($@TeamID2)+" won and got 3 RoK Star Badges!",0; for ( .@i = 0; .@i < @win2; .@i++ ) getitem 7905, rand(3,3), $@partymemberaidt2[.@i]; goto lend; } if (@win2==0) { warpparty "prontera",156,191,$@TeamID1; warpparty "prontera",156,191,$@TeamID2; Announce "Team War :"+GetPartyName($@TeamID1)+" won and got 3 RoK Star Badges!",0; for ( .@i = 0; .@i < @win1; .@i++ ) getitem 7905, rand(3,3), $@partymemberaidt1[.@i]; goto lend; } end; } guild_vs2 mapflag nosave SavePoint guild_vs2 mapflag nomemo guild_vs2 mapflag nobranch guild_vs2 mapflag pvp_noguild guild_vs2 mapflag nocommand 60 guild_vs2 mapflag noicewall guild_vs2 mapflag pvp guild_vs2 mapflag partylock I did't test it... give feedback -
bg_updatescore "guild_vs2", .score[1], .score[2];// <- block the move after this line for ( .@i = 0; .@i < .minplayer2start; .@i++ ){// block the players pcblockmove .team1aid[.@i],1; pcblockmove .team2aid[.@i],1; } sleep 5000;// add a delay of 5 secs for ( .@i = 0; .@i < .minplayer2start; .@i++ ){// unblock players if ( isloggedin( .team1aid[.@i] ) ) pcblockmove .team1aid[.@i],0; if ( isloggedin( .team2aid[.@i] ) ) pcblockmove .team2aid[.@i],0; } sleep 5000;// add a delay of 5 secs mapannounce "guild_vs2", "buff ready",0; for ( .@i = 5; .@i >= 0; .@i-- ){// mapannounce the count 5 4 3 sleep 1000; mapannounce "guild_vs2", "Start in "+ .@i +" seconds..",0; } like this? I gave you all you need now. Rearrange it as your content
-
Euphy WoE reward only gives guildmaster prize...
Capuche replied to HristDead's question in Scripting Support
-
//===== rAthena Script ======================================= //= Healer //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.0a //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Basic healer script. //============================================================ - script Healer -1,{ set .@Price,0; // Zeny required for heal set .@Buffs,1; // Also buff players? (1: yes / 0: no) set .@Delay,0; // Heal delay, in seconds if (@HD > gettimetick(2)) end; if (.@Price) { message strcharinfo(0),"Healing costs "+.@Price+" Zeny."; if (Zeny < .@Price) end; if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) end; set Zeny, Zeny-.@Price; } specialeffect2 EF_HEAL2; percentheal 100,100; if (.@Buffs) { if ( BaseLevel < 499 ){ sc_start SC_ASPDPOTION2,360000,0; sc_start SC_STRFood,360000,10; sc_start SC_AGIFood,360000,10; sc_start SC_VITFood,360000,10; sc_start SC_INTFood,360000,10; sc_start SC_DEXFood,360000,10; sc_start SC_LUKFood,360000,10; sc_start SC_HitFood,1200000,30; sc_start SC_FleeFood,1200000,30; sc_start SC_BATKFood,1200000,10; sc_start SC_MATKFood,120000,10; } specialeffect2 EF_INCAGILITY; sc_start SC_INCREASEAGI,240000,10; specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10; } if (.@Delay) set @HD, gettimetick(2)+.@Delay; end; } alberta,25,240,6 duplicate(Healer) Healer#alb 909 aldebaran,135,118,6 duplicate(Healer) Healer#alde 909 amatsu,200,79,4 duplicate(Healer) Healer#ama 909 ayothaya,207,169,6 duplicate(Healer) Healer#ayo 909 brasilis,194,221,6 duplicate(Healer) Healer#bra 909 comodo,184,158,6 duplicate(Healer) Healer#com 909 dewata,193,175,6 duplicate(Healer) Healer#dew 909 eclage,105,35,4 duplicate(Healer) Healer#ecl 909 einbech,142,244,4 duplicate(Healer) Healer#einbe 909 einbroch,57,202,6 duplicate(Healer) Healer#einbr 909 dicastes01,201,194,4 duplicate(Healer) Healer#dic 909 geffen,115,72,6 duplicate(Healer) Healer#gef 909 gonryun,156,122,6 duplicate(Healer) Healer#gon 909 hugel,89,150,6 duplicate(Healer) Healer#hug 909 izlude,125,118,5 duplicate(Healer) Healer#izl 909 lighthalzen,149,103,6 duplicate(Healer) Healer#li 909 louyang,225,103,4 duplicate(Healer) Healer#lou 909 malangdo,132,114,6 duplicate(Healer) Healer#mal 909 malaya,205,205,6 duplicate(Healer) Healer#malay 909 manuk,256,176,6 duplicate(Healer) Healer#man 909 mid_camp,203,289,6 duplicate(Healer) Healer#mid 909 mora,106,100,6 duplicate(Healer) Healer#mora 909 morocc,153,97,6 duplicate(Healer) Healer#mor 909 moscovia,215,194,6 duplicate(Healer) Healer#mos 909 niflheim,188,180,5 duplicate(Healer) Healer#nif 909 payon,179,106,4 duplicate(Healer) Healer#pay 909 prontera,162,193,4 duplicate(Healer) Healer#pront 909 rachel,125,116,6 duplicate(Healer) Healer#rac 909 splendide,201,153,4 duplicate(Healer) Healer#spl 909 thor_camp,249,74,4 duplicate(Healer) Healer#thor 909 umbala,129,132,4 duplicate(Healer) Healer#umb 909 veins,217,121,4 duplicate(Healer) Healer#ve 909 xmas,143,136,6 duplicate(Healer) Healer#xmas 909 yuno,164,45,4 duplicate(Healer) Healer#yuno 909 1/ http://rathena.org/board/topic/80057-homunculus-max-level/?p=186575 2/ in battle.c... 3/ to quote Akinari in http://rathena.org/board/tracker/issue-7518-lastest-rathena-no-luk-300-immune-to-status/
-
also there is a mistake in if(strcharinfo(0) == getequipid(4) == 6010 if <player name> == <something equiped> ???
-
Try npcskill
-
like constants monsters? db/.../mob_skill_db.txt // MobID,Dummy value (info only),State,SkillID,SkillLv,Rate,CastTime,Delay,Cancelable,Target,Condition type,Condition value,val1,val2,val3,val4,val5,Emotion,Chat 1738,Constant@NPC_SELFDESTRUCTION,attack,173,1,10000,1000,0,no,self,always,0,,,,,,, 1738,Constant@NPC_SELFDESTRUCTION,chase,173,1,2000,1000,0,no,self,always,0,,,,,,,
-
This npc use whisper system. whisper the npc npc:Sample then write in your chat map#512#10 to give x10 item id (512) to all player in the same map of you. -------------------------------------------------------------------- all#512#123 to give x123 item id (512) to all players online Only gmlevel 99 or highter can use this npc
-
prontera,150,150,0 script Warper 100,{ if ( already_warped ) end; warp "prontera",0,0; set already_warped, 1; end; }
-
all_equipment is a permission, not a command permissions: { all_equipment: true }
-
- already_warped = 1; + set already_warped, 1; don't forget to put your map in warp "<map>",<x>,<y>;
-
Yeah but it seems the emu doesn't support %r, but it's working with %I:%M:%S %p from my test
-
prontera,167,196,3 script nRO Server Time 864,{ end; OnInit: while( 1 ){ delwaitingroom; waitingroom " "+gettimestr( "%I:%M:%S %p",21 ),0; sleep 1000; } end; }