Jump to content

Yoona

Members
  • Posts

    567
  • Joined

  • Last visited

Posts posted by Yoona

  1. 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
    
  2.  

    @Patskie so im just gonna paste it on my Endless Tower script?

    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 understanding

    for 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.

  3. Sorry, I miss out a line..

     

    Should be fixed now:

     

    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;
    
  4. Hey Guys! How's everything going here at rAthena!  /lv

     

    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 !  /no1

  5. 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",
    
    
  6. 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
    
    • Upvote 1
  7. 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;
    }
    
  8. 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
    
  9. 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
    
×
×
  • Create New...