Jump to content

kayko11

Members
  • Content Count

    3
  • Joined

  • Last visited

Posts posted by kayko11


  1. Thanks @meko which is better the script above or this one?
     

    function	script	box____	{
    	setarray .i1[1],14003,14003,12914,12914,12913,12913,12900,12900,13990,13990,14158,14158,12909,12909,14004,14004,12221,12221,7776,7776; // Common Items
    	set .i1rand,rand(1,20); // Randomize Common Items; just change max amount if you add items
    	setarray .i2[1],12213,6320; // Rare Items
    	set .i2rand,rand(1,2); // Randomize Rare Items; just change max amount if you add items
    	setarray .i3[1],19599,20221,19952,19664,19954,20313,19589,19596; // Super Rare Items
    	set .i3rand,rand(1,8); //Randomize Super Rare Items; just change max amount if you add items
    	set .chance, rand(100);
    
    		// Super Rare Item 3%
    		if (.chance == 3){
    		getitem .i3[.i3rand],1;
    		announce "["+strcharinfo(0)+"] won a ["+getitemname(.i3[.i3rand])+"] from the Lucky Egg.",0;
    		end;
    		} 
    
    		// Rare Item 15%
    		else if (.chance == 15){
    		getitem .i2[.i2rand],1;
    		announce "["+strcharinfo(0)+"] won a ["+getitemname(.i2[.i2rand])+"] from the Lucky Egg.",0;
    		end;
    		} 
    
    		// Common Items
    		else {
    		getitem .i1[.i1rand],1;
    		end; 
    		}
    }

     


  2. function	script	box____	{
    	setarray .@reward,  14003, 100,
    						14003, 100,
    						12914, 100,
    						12914, 100,
    						12913, 100,
    						12913, 100,
    						12900, 100,
    						12900, 100,
    						13990, 100,
    						13990, 100,
    						14158, 100,
    						14158, 100,
    						12909, 100,
    						12909, 100,
    						14004, 100,
    						14004, 100,
    						12221, 100,
    						12221, 100,
    						7776, 100,
    						7776, 100,
    						12213, 15,
    						6320, 15,
    						19599, 3,
    						20221, 3,
    						19952, 3,
    						19664, 3,
    						19954, 3,
    						20313, 3,
    						19589, 3,
    						19596, 3;
    						
    	set .@size, getarraysize( .@reward );
    	for( set .@i, 1; .@i < .@size; .@i += 2 ) {
    		.@percent[.@i] = .@total + .@reward[.@i];
    		.@total += .@reward[.@i];
    	}
    	.@r = rand( .@total +1 );
    	for( set .@i, 1; .@i < .@size; .@i += 2 )
    		if( .@percent[.@i] > .@r )
    			break;
    	getitem .@reward[ .@i-1 ], 1;
    	end;
    }

    How can I make the 3% chance to be announced in all maps?

    and >=15% there will be no announcement.


  3. Hello guys how can I integrate this code. I hope @AnnieRuru can help me editing her script

    if (.MacCheck){
    		query_sql("SELECT last_unique_id FROM `login` WHERE account_id = "+getcharid(3)+"", .@last_unique_id$);
    		query_sql("SELECT account_id FROM `login` WHERE last_unique_id = '"+.@last_unique_id$+"'", .@AccountId2);
    		if(getarraysize(.@AccountId2) > .MacCheck){
    			message strcharinfo(0),"Sorry, Joining BG PVP is limited to 1 account "+.MacCheck+" per computer.";
    			end;
    		}
    	}

    to this code?

    //===== rAthena Script =======================================
    //= Battleground: PVP
    //===== By: ==================================================
    //= AnnieRuru
    //===== Current Version: =====================================
    //= 1.1
    //===== Compatible With: =====================================
    //= rAthena Project
    //===== Description: =========================================
    //= A simple battleground script:
    //= Kill players from the other team.
    //===== Additional Comments: =================================
    //= 1.0 First version, edited. [Euphy]
    //= 1.1 Use up to date battleground script commands [AnnieRuru]
    //============================================================
    
    -	script	bg_pvp#control	-1,{
    OnInit:
    	.minplayer2start = 2;      // minimum players to start (ex. if 3vs3, set to 3)
    	.eventlasting    = 20*60;  // event duration before auto-reset (20 minutes * seconds)
    	setarray .rewarditem[0],   // rewards for the winning team: <item>,<amount>,...
    		501, 10;
    	end;
    OnStart:
    	if ( getwaitingroomstate( 0, .rednpcname$ ) < .minplayer2start || getwaitingroomstate( 0, .bluenpcname$ ) < .minplayer2start )
    		end;
    
    	// create Battleground and teams
    	.red = waitingroom2bg( "guild_vs3", 13,50, strnpcinfo(0)+"::OnRedQuit", strnpcinfo(0)+"::OnRedDead", .rednpcname$ );
    	.blue = waitingroom2bg( "guild_vs3", 86,50, strnpcinfo(0)+"::OnBlueQuit", strnpcinfo(0)+"::OnBlueDead", .bluenpcname$ );
    	delwaitingroom .rednpcname$;
    	delwaitingroom .bluenpcname$;
    	bg_warp .red, "guild_vs3", 13,50;
    	bg_warp .blue, "guild_vs3", 86,50;
    	.red_score = .blue_score = .minplayer2start;
    	bg_updatescore "guild_vs3", .red_score, .blue_score;
    
    	// match duration
    	sleep .eventlasting * 1000;
    
    	// end match, destroy Battleground, reset NPCs
    	if ( .red_score > .blue_score ) {
    		mapannounce "guild_vs3", "- Red Team is victorious! -", bc_map;
    		callsub L_Reward, .red;
    	}
    	else if ( .blue_score > .red_score ) {
    		mapannounce "guild_vs3", "- Blue Team is victorious! -", bc_map;
    		callsub L_Reward, .blue;
    	}
    	else
    		mapannounce "guild_vs3", "- The match has ended in a draw! -", bc_map;
    	bg_warp .red, "prontera",152,178;
    	bg_warp .blue, "prontera",154,178;
    	bg_destroy .red;
    	bg_destroy .blue;
    	donpcevent .rednpcname$ +"::OnStart";
    	donpcevent .bluenpcname$ +"::OnStart";
    	end;
    
    L_Reward:
    	bg_get_data getarg(0), 1;
    	for ( .@i = 0; .@i < $@arenamemberscount; ++.@i )
    		getitem .rewarditem[0], .rewarditem[1], $@arenamembers[.@i];
    	return;
    
    // "OnDeath" event
    OnRedDead:  callsub L_Dead, .red_score;
    OnBlueDead: callsub L_Dead, .blue_score;
    L_Dead:
    	set getarg(0), getarg(0) -1;
    	bg_updatescore "guild_vs3", .red_score, .blue_score;
    	bg_leave;
    	if ( !getarg(0) )
    		awake strnpcinfo(0);
    	sleep2 1250;
    	percentheal 100,100;
    	end;
    
    // "OnQuit" event
    OnRedQuit:  callsub L_Quit, .red_score;
    OnBlueQuit: callsub L_Quit, .blue_score;
    L_Quit:
    	set getarg(0), getarg(0) -1;
    	bg_updatescore "guild_vs3", .red_score, .blue_score;
    	percentheal 100, 100;
    	if ( !getarg(0) )
    		awake strnpcinfo(0);
    	end;
    }
    
    splendide,196,144,5	script	Red Team#bg_pvp	733,{
    	end;
    OnInit:
    	sleep 1;
    	set getvariableofnpc( .rednpcname$, "bg_pvp#control" ), strnpcinfo(0);
    OnStart:
    	waitingroom "Red Team", getvariableofnpc( .minplayer2start, "bg_pvp#control" ) +1, "bg_pvp#control::OnStart", getvariableofnpc( .minplayer2start, "bg_pvp#control" );
    	end;
    }
    
    splendide,196,145,5	script	Blue Team#bg_pvp	734,{
    	end;
    OnInit:
    	sleep 1;
    	set getvariableofnpc( .bluenpcname$, "bg_pvp#control" ), strnpcinfo(0);
    OnStart:
    	waitingroom "Blue Team", getvariableofnpc( .minplayer2start, "bg_pvp#control" ) +1, "bg_pvp#control::OnStart", getvariableofnpc( .minplayer2start, "bg_pvp#control" );
    	end;
    }
    
    guild_vs3	mapflag	gvg	off
    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
    guild_vs3	mapflag	hidemobhpbar

     

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.