-
Posts
567 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Yoona
-
Hello, I hope Annie can read this post since it's her script. All i want to do is, Every game has 3 Rounds. So if the Player Died they will be teleported but can't move and cannot be hit by other team. until the round is done. then with a timer after they can start fighting. and change the place into bat_b01. thanks! - script custom_bg#control -1,{ OnInit: set .minplayer2start, 7; // minimum player to start ... please do not set to 1 setarray .rewarditem, 22001, 200, // reward to the winning team 22001, 50; // reward to the losing team set .startingscore, 30; // score at start set .eventlasting, 20*60; // event last 20 minutes or the system abort itself set .red_cloth, 1; // color value from red clothing set .blue_cloth, 2; // color value from blue clothing set .grey_cloth, 3; // color value from grey clothing end; OnStart: if ( getwaitingroomstate( 0, .rednpcname$ ) < .minplayer2start || getwaitingroomstate( 0, .bluenpcname$ ) < .minplayer2start ) { announce " [ Battle Ground DeathMatch System ] Blue Team : "+ getwaitingroomstate( 0, .bluenpcname$ ) + "/" + .minplayer2start + ". Red Team : "+ getwaitingroomstate( 0, .rednpcname$ ) + "/" + .minplayer2start,bc_all,0x00CED1; end; } .red = waitingroom2bg( "guild_vs3", 13,50, strnpcinfo(0)+"::OnredQuit", strnpcinfo(0)+"::OnredDead", .rednpcname$ ); copyarray .team1aid, $@arenamembers, $@arenamembersnum; .team1count = .minplayer2start; .blue = waitingroom2bg( "guild_vs3", 86,50, strnpcinfo(0)+"::OnblueQuit", strnpcinfo(0)+"::OnblueDead", .bluenpcname$ ); copyarray .team2aid, $@arenamembers, $@arenamembersnum; .team2count = .minplayer2start; delwaitingroom .rednpcname$; delwaitingroom .bluenpcname$; bg_warp .red, "guild_vs3", 13,50; bg_warp .blue, "guild_vs3", 86,50; .score[1] = .score[2] =.startingscore; bg_updatescore "guild_vs3", .score[1], .score[2]; callsub L_setleader, 1; callsub L_setleader, 2; for ( .@i = 0; .@i < .minplayer2start; .@i++ ) { attachrid .team1aid[.@i]; @clotes_color = getlook( look_clothes_color ); setlook look_clothes_color, ( .leader_aid[1] == getcharid(3) )? .grey_cloth : .red_cloth; } for ( .@i = 0; .@i < .minplayer2start; .@i++ ) { attachrid .team2aid[.@i]; @clotes_color = getlook( look_clothes_color ); setlook look_clothes_color, ( .leader_aid[2] == getcharid(3) )? .grey_cloth : .blue_cloth; } sleep .eventlasting * 1000; if ( .score[1] > .score[2] ) { mapannounce "guild_vs3", "red side wins !", 0; callsub L_reward, 1, 0; callsub L_reward, 2, 2; } else if ( .score[1] < .score[2] ) { mapannounce "guild_vs3", "blue side wins !", 0; callsub L_reward, 2, 0; callsub L_reward, 1, 2; } else { mapannounce "guild_vs3", "Draw !", 0; callsub L_reward, 1, 2; callsub L_reward, 2, 2; } bg_warp .red, "prontera",152,178; bg_warp .blue, "prontera",154,178; bg_destroy .red; bg_destroy .blue; donpcevent .rednpcname$ +"::OnStart"; donpcevent .bluenpcname$ +"::OnStart"; .leader_aid[1] = .leader_aid[2] = 0; for ( .@i = 0; .@i < .team1count; .@i++ ) { attachrid .team1aid[.@i]; setlook look_clothes_color, @clotes_color; @clotes_color = 0; } for ( .@i = 0; .@i < .team2count; .@i++ ) { attachrid .team2aid[.@i]; setlook look_clothes_color, @clotes_color; @clotes_color = 0; } end; L_reward: for ( .@i = 0; .@i < getd(".team"+ getarg(0) +"count"); .@i++ ) getitem .rewarditem[ getarg(1) ], .rewarditem[ getarg(1) +1 ], getd(".team"+ getarg(0) +"aid["+ .@i +"]" ); return; OnredDead: callsub L_dead, 1; OnblueDead: callsub L_dead, 2; L_dead: if ( .leader_aid[ getarg(0) ] != getcharid(3) ) .score[ getarg(0) ]--; else { callsub L_setleader, getarg(0); .score[ getarg(0) ] -= 2; } bg_updatescore "guild_vs3", .score[1], .score[2]; if ( .score[ getarg(0) ] <= 0 ) awake strnpcinfo(0); sleep2 1250; percentheal 100,100; end; OnredQuit: callsub L_quit, 1, .red; OnblueQuit: callsub L_quit, 2, .blue; L_quit: percentheal 100, 100; while ( getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ) != getcharid(3) && .@i < getd(".team"+ getarg(0) +"count") ) .@i++; deletearray getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ), 1; setd ".team"+ getarg(0) +"count", getd(".team"+ getarg(0) +"count") -1; if ( .leader_aid[ getarg(0) ] == getcharid(3) ) callsub L_setleader, getarg(0); setlook look_clothes_color, @clotes_color; @clotes_color = 0; if ( bg_get_data( getarg(1), 0 ) > 1 ) end; .score[ getarg(0) ] = 0; awake strnpcinfo(0); end; L_setleader: while ( ( .@tmp = getd( ".team"+ getarg(0) +"aid["+ rand( getd(".team"+ getarg(0) +"count") ) +"]" ) ) == playerattached() ); .leader_aid[ getarg(0) ] = .@tmp; .@origin = playerattached(); attachrid .leader_aid[ getarg(0) ]; addtimer 1, strnpcinfo(0) +"::Onteam"+ getarg(0) +"leader"; attachrid .@origin; return; Onteam1leader: callsub L_lead, 1, 548; Onteam2leader: callsub L_lead, 2, 549; L_lead: while ( .leader_aid[ getarg(0) ] == getcharid(3) ) { specialeffect2 getarg(1); sleep2 1000; } end; } turbo_room,106,117,3 script Red Team 733,{ end; OnInit: sleep 50; set getvariableofnpc( .rednpcname$, "custom_bg#control" ), strnpcinfo(0); OnStart: waitingroom "Red Team", getvariableofnpc( .minplayer2start, "custom_bg#control" ) +1, "custom_bg#control::OnStart", 1; end; } turbo_room,93,117,5 script Blue Team 734,{ end; OnInit: sleep 50; set getvariableofnpc( .bluenpcname$, "custom_bg#control" ), strnpcinfo(0); OnStart: waitingroom "Blue Team", getvariableofnpc( .minplayer2start, "custom_bg#control" ) +1, "custom_bg#control::OnStart", 1; end; } guild_vs3 mapflag battleground 2 guild_vs3 mapflag nosave SavePoint guild_vs3 mapflag nowarp guild_vs3 mapflag nowarpto guild_vs3 mapflag noteleport guild_vs3 mapflag nomemo guild_vs3 mapflag nopenalty guild_vs3 mapflag nobranch guild_vs3 mapflag noicewall
-
yeah ... probably.... npc/instances/EndlessTower.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/npc/instances/EndlessTower.txt b/npc/instances/EndlessTower.txt index ace43e6..0710ad5 100644 --- a/npc/instances/EndlessTower.txt +++ b/npc/instances/EndlessTower.txt @@ -231,6 +231,10 @@ e_tower,81,105,0 script Tower Protection Stone 406,{ mes "After making a reservation, you have to talk to NPC behind and select the menu 'Enter the Dungeon' to enter the dungeon."; close; case 2: + if ( upper != 2 ) { + mes "3rd job only"; + close; + } callsub L_Enter,0,1; case 3: mes "I will move you to Alberta."; @@ -243,6 +247,10 @@ e_tower,81,105,0 script Tower Protection Stone 406,{ } switch(select("Enter the "+.@md_name$+":Return to Alberta:Cancel")) { case 1: + if ( upper != 2 ) { + mes "3rd job only"; + close; + } callsub L_Enter,1,1; case 2: mes "I will move you to Alberta."; @@ -1327,6 +1335,7 @@ OnEnable: OnTouch_: getitem 6000,1; //Dark_Ashes + etower_points += 100; warp instance_mapname("2@tower"),52,354; end; @@ -1482,6 +1491,7 @@ OnEnable: end; OnTouch_: + etower_points += 100; warp instance_mapname("3@tower"),52,354; end; } @@ -1576,6 +1586,7 @@ OnEnable: OnTouch_: getitem 6000,1; //Dark_Ashes + etower_points += 100; warp instance_mapname("4@tower"),52,354; end; @@ -1691,6 +1702,7 @@ OnEnable: OnTouch_: getitem 6000,1; //Dark_Ashes + etower_points += 100; warp instance_mapname("5@tower"),101,72; end; @@ -2172,6 +2184,7 @@ OnMyMobDead: mes "[Lost Souls]"; mes "Farewell, young adventurer. I wish you good luck."; close2; + etower_points += 100; warp "alberta",223,36; end; I didn't test, just based on my understandingfor no.3 .... has lots of point currency shop lying around ... Annie should i change this one if ( upper != 2 ) { into if ( upper != 3 ) { ? because i tried it and trans can enter but 3rd job class can't.
-
@Patskie so im just gonna paste it on my Endless Tower script?
-
Hi Sonic, How can you make this event to be automated? Should it be look like this right? OnMinute5: sonicxxx: announce "[ Poring Hoster ]: Poring Soccer Event has just started!!!",bc_all; sleep 3000; announce "[ Poring Hoster ]: For those who wants to register, please make two party of 5 players each.",bc_all; sleep 2500; announce "[ Poring Hoster ]: After ready then go to the left portal near Stylist NPC! ",bc_all; enablenpc "poringballwarp"; initnpctimer; end;
-
@Patskie sorry but still new with scripting. where should i add those?
-
Hey Guys! How's everything going here at rAthena! Can i request something ? What I'm Looking for is : First : Endless Tower Job Restrictions ( Below 3rd Jobs can't enter ) Second : Each Floor they Finish. Party Members will receive 10 Endless Tower Points. Third : A shop that only Endless Tower Points are allowed. Thanks in Advance Have a Safe Day ahead !
-
Ohh, i see silly me sorry i didn't see that Thanks Emistry!
-
While i was adding more maps this error pops out. Help? [Error]: Loading NPC file: npc/custom/classrestriction.txt script error on npc/custom/classrestriction.txt line 84 script:add_word: invalid word. A word consists of undercores and/or alphanumeric characters, and valid variable prefixes/postfixes. 79 : "prtg_cas01","63", 80 : "prtg_cas02","64", 81 : "prtg_cas03","3", 82 : "prtg_cas04","2", 83 : "prtg_cas05","1"; * 84 : '"'prtg_cas02","64",
-
go to trunk/conf/battle/monster.conf then find // The HP rate of MVPs. (Note 2) mvp_hp_rate: 100 // The HP rate of normal monsters (that is monsters that are not MVP's) (Note 2) monster_hp_rate: 100 Replace each by your desired Percentage ( this one is x3 ) // The HP rate of MVPs. (Note 2) mvp_hp_rate: 300 // The HP rate of normal monsters (that is monsters that are not MVP's) (Note 2) monster_hp_rate: 300
-
Remove menu "Convert ^ff0000"+getitemname(9524)+"^000000 to ^ff0000"+getitemname(7179)+"^000000", L_PODS, "Nevermind", L_Cancel; Add menu "Convert ^ff0000"+getitemname(9524)+"^000000 to ^ff0000"+getitemname(7179)+"^000000", L_PODS, "Convert ^ff0000"+getitemname(7179)+"^000000 to ^ff0000"+getitemname(9524)+"^000000", L_PODS2, "Nevermind", L_Cancel; Then add this Line L_PODS2: next; mes "[Trader]"; mes "How many you want to exchange?"; mes "^ff0000Note^000000: 1 "+getitemname(7179)+" is 1,000 "+getitemname(9524)+""; input .@count; if (.@count == 0) close; if (countitem(7179) < .@count*1) goto L_Noitem; delitem 7179,.@count*1; getitem 9524,.@count*1000; specialeffect2 248; close; Whole Script didn't test it =) prontera,147,157,5 script BC - PODS 100,{ mes "[Trader]"; mes "You currently have ^ff0000"+countitem(9524)+"^000000 "+getitemname(9524)+""; menu "Convert ^ff0000"+getitemname(9524)+"^000000 to ^ff0000"+getitemname(7179)+"^000000", L_PODS, "Convert ^ff0000"+getitemname(7179)+"^000000 to ^ff0000"+getitemname(9524)+"^000000", L_PODS2, "Nevermind", L_Cancel; L_PODS: next; mes "[Trader]"; mes "How many you want to exchange?"; mes "^ff0000Note^000000: 1,000 "+getitemname(9524)+" is 1 "+getitemname(7179)+""; input .@count; if (.@count == 0) close; if (countitem(9524) < .@count*1000) goto L_Noitem; delitem 9524,.@count*1000; getitem 7179,.@count*1; specialeffect2 248; close; L_PODS2: next; mes "[Trader]"; mes "How many you want to exchange?"; mes "^ff0000Note^000000: 1 "+getitemname(9524)+" is 1,000 "+getitemname(7179)+""; input .@count; if (.@count == 0) close; if (countitem(7179) < .@count*1) goto L_Noitem; delitem 7179,.@count*1; getitem 9524,.@count*1000; specialeffect2 248; close; L_Noitem: next; mes "[Trader]"; mes "[ ^ff0000X^000000 ] Insufficient "+getitemname(9524)+""; close; L_Cancel: mes "[Trader]"; mes "Feel free to use my service anytime!"; close; end; }
-
go to your trunk/npc/custom/.. paste it inside the custom folder then open.. which you can see that inside npc folder. scripts_custom or try this one " Click Me "
-
Can anyone help me with this please? i just want to add require items to change their Headgear into Costume HG. please Here the script // ------------------------------------------------------------------------------- // Script Name : Headgear to Costume converter >> Costume to Headgear converter // ------------------------------------------------------------------------------- // Description : // - Allows a user to convert the equipped headgear (on Top, Mid or Low) into a // costume item. It will remove any card and refine of the Item. // - Allows a user to restore the equipped costume headgear (on Top, Mid or Low) // into its original form. It will not return any card or refine of the item. // ------------------------------------------------------------------------------- - script Costume Clown -1,{ mes "[Clown]"; mes "Here you can convert your headgears into a Costume Headgear or restore to its Original form."; switch(select("I want to convert.:I want to restore.:No thanks.")) { case 1: next; mes "Please, select what to convert."; mes "Remember, cards and refine will be removed."; next; setarray .@Position$[1],"Top","Mid","Low"; setarray .@Position[1], 1, 9, 10; set .@Menu$,""; for( set .@i, 1; .@i < 5; set .@i, .@i + 1 ) { if( getequipisequiped(.@Position[.@i]) ) set .@Menu$, .@Menu$ + .@Position$[.@i] + "-" + "[" + getequipname(.@Position[.@i]) + "]"; set .@Menu$, .@Menu$ + ":"; } set .@Part, .@Position[ select(.@Menu$) ]; if( !getequipisequiped(.@Part) ) { mes "[Clown]"; mes "Your not wearing anything there..."; close; } mes "[Clown]"; mes "You want to Costume your " + getitemname(getequipid(.@Part)) + "?"; next; if( select("Yes, proceed:No, I am sorry.") == 2 ) { mes "[Clown]"; mes "Need some time to think about it, huh?"; mes "Alright, I can understand."; close; } costume .@Part; // Convert the Headgear mes "[Clown]"; mes "Done, enjoy your costume headgear."; close; case 2: next; mes "Please, select what to restore."; mes "Remember, I will only restore it back without refine and cards."; next; setarray .@Position$[1],"Top","Mid","Low"; setarray .@Position[1], 13, 12, 11; set .@Menu$,""; for( set .@i, 1; .@i < 5; set .@i, .@i + 1 ) { if( getequipisequiped(.@Position[.@i]) ) set .@Menu$, .@Menu$ + .@Position$[.@i] + "-" + "[" + getequipname(.@Position[.@i]) + "]"; set .@Menu$, .@Menu$ + ":"; } set .@Part, .@Position[ select(.@Menu$) ]; if( !getequipisequiped(.@Part) ) { mes "[Clown]"; mes "Your not wearing anything there..."; close; } mes "[Clown]"; mes "You want to restore your " + getitemname(getequipid(.@Part)) + "?"; next; if( select("Yes, proceed:No, I am sorry.") == 2 ) { mes "[Clown]"; mes "Need some time to think about it, huh?"; mes "Alright, I can understand."; close; } a = getequipid(.@Part); delitem a,1; getitem a,1; mes "[Clown]"; mes "Done, enjoy your restored headgear."; close; case 3: mes "[Clown]"; mes "Very well. Return at once if you seek my services."; close; } } // -------------------------------------------------------------------------- // Use duplicates to put your npc on different cities // -------------------------------------------------------------------------- prontera,155,181,4 duplicate(Costume Clown) Costume Clown#1 715
-
as you can see, on the description. it will add stats but instead it deduct the stats. example on the picture Str 50 + -24 Agi 1 + - 1 How can, I correct this one?
-
Try this. poringsoccerv3.txt
-
What should be the problem with this? i've tried any job that needs to use arrow. Problem Solve! Thanks!
-
@Topic Creator can you put a required item to change the item into a costume item? please
-
@Bump! can anyone help me? @bump!
-
I would suggest that look for a Restrict Job, i think i saw that here at rAthena.
-
you need source modification.
-
Yes, it is working
-
Hello can someone help me out with this script? What i want is to put a required item to change the item into a costume item that can be configurable thanks! // ------------------------------------------------------------------------------- // Script Name : Headgear to Costume converter >> Costume to Headgear converter // ------------------------------------------------------------------------------- // Description : // - Allows a user to convert the equipped headgear (on Top, Mid or Low) into a // costume item. It will remove any card and refine of the Item. // - Allows a user to restore the equipped costume headgear (on Top, Mid or Low) // into its original form. It will not return any card or refine of the item. // ------------------------------------------------------------------------------- - script Costume Clown -1,{ mes "[Clown]"; mes "Here you can convert your headgears into a Costume Headgear or restore to its Original form."; switch(select("I want to convert.:I want to restore.:No thanks.")) { case 1: next; mes "Please, select what to convert."; mes "Remember, cards and refine will be removed."; next; setarray .@Position$[1],"Top","Mid","Low"; setarray .@Position[1], 1, 9, 10; set .@Menu$,""; for( set .@i, 1; .@i < 5; set .@i, .@i + 1 ) { if( getequipisequiped(.@Position[.@i]) ) set .@Menu$, .@Menu$ + .@Position$[.@i] + "-" + "[" + getequipname(.@Position[.@i]) + "]"; set .@Menu$, .@Menu$ + ":"; } set .@Part, .@Position[ select(.@Menu$) ]; if( !getequipisequiped(.@Part) ) { mes "[Clown]"; mes "Your not wearing anything there..."; close; } mes "[Clown]"; mes "You want to Costume your " + getitemname(getequipid(.@Part)) + "?"; next; if( select("Yes, proceed:No, I am sorry.") == 2 ) { mes "[Clown]"; mes "Need some time to think about it, huh?"; mes "Alright, I can understand."; close; } costume .@Part; // Convert the Headgear mes "[Clown]"; mes "Done, enjoy your costume headgear."; close; case 2: next; mes "Please, select what to restore."; mes "Remember, I will only restore it back without refine and cards."; next; setarray .@Position$[1],"Top","Mid","Low"; setarray .@Position[1], 13, 12, 11; set .@Menu$,""; for( set .@i, 1; .@i < 5; set .@i, .@i + 1 ) { if( getequipisequiped(.@Position[.@i]) ) set .@Menu$, .@Menu$ + .@Position$[.@i] + "-" + "[" + getequipname(.@Position[.@i]) + "]"; set .@Menu$, .@Menu$ + ":"; } set .@Part, .@Position[ select(.@Menu$) ]; if( !getequipisequiped(.@Part) ) { mes "[Clown]"; mes "Your not wearing anything there..."; close; } mes "[Clown]"; mes "You want to restore your " + getitemname(getequipid(.@Part)) + "?"; next; if( select("Yes, proceed:No, I am sorry.") == 2 ) { mes "[Clown]"; mes "Need some time to think about it, huh?"; mes "Alright, I can understand."; close; } a = getequipid(.@Part); delitem a,1; getitem a,1; mes "[Clown]"; mes "Done, enjoy your restored headgear."; close; case 3: mes "[Clown]"; mes "Very well. Return at once if you seek my services."; close; } } // -------------------------------------------------------------------------- // Use duplicates to put your npc on different cities // -------------------------------------------------------------------------- prontera,155,181,4 duplicate(Costume Clown) Costume Clown#1 715
-
Thanks! it works!
-
The latest revision at Github is different. i wish someone can help me about this one. I got this error 1>..\src\map\atcommand.c(1204): error C2059: syntax error : 'if'
-
will this diff costume item compatible with the latest GIT ?
-
I got this error Im using the latest Revision now 1>..\src\map\vending.c(240): warning C4020: 'pc_paycash' : too many actual parameters 1>..\src\map\vending.c(241): warning C4020: 'pc_getcash' : too many actual parameters