Jump to content

Hossam

Members
  • Posts

    92
  • Joined

  • Last visited

Posts posted by Hossam

  1. On 6/30/2017 at 4:20 PM, Kaze said:

    Hi please try this I'm not on my PC.

    
    -	script	hourly_reward_main	-1,{
    OnInit:
    	setarray .itemid,6379,522,12412,604,12221,16774,12103,12710,14296,14601,7929,12202,12203,12204,12205,12206,12207,7959;
    	setarray .amount,10,100,1,10,1,2,2,3,2,5,2,2,2,2,2,2,2,2;
    	.itemid_size = getarraysize( .itemid );
    	end;
    		
    OnMinute00:
    	.@size = query_sql( "SELECT `account_id`,`name` FROM `char` WHERE `online` = 1 ORDER BY RAND() LIMIT 1",.@aid,.@name$ );
    	for( .@i = 0; .@i < .@size; .@i++ ) {
    		if( checkvending( .@name$[.@i] ) || checkchatting( .@name$[.@i] ) ) end;
    	else if( .@aid )
    		.@i = rand( .itemid_size );
    		getitem .itemid[.@i],.amount[.@i],.@aid;
    		announce "Krizazone Server - Lucky Player ["+.@name$+"] has received "+.amount[.@i]+" x "+getitemname( .itemid[.@i] )+".",0;
    	}
    	end;
    }

    Let me know if it's working.

    not work

  2. 15 hours ago, Kaze said:

    Hi please try this I'm not on my PC.

    
    -	script	hourly_reward_main	-1,{
    OnInit:
    	setarray .itemid,6379,522,12412,604,12221,16774,12103,12710,14296,14601,7929,12202,12203,12204,12205,12206,12207,7959;
    	setarray .amount,10,100,1,10,1,2,2,3,2,5,2,2,2,2,2,2,2,2;
    	.itemid_size = getarraysize( .itemid );
    	end;
    		
    OnMinute00:
    	.@size = query_sql( "SELECT `account_id`,`name` FROM `char` WHERE `online` = 1 ORDER BY RAND() LIMIT 1",.@aid,.@name$ );
    	for( .@i = 0; .@i < .@size; .@i++ ) {
    		if( checkvending( .@name$[.@i] ) || checkchatting( .@name$[.@i] ) ) end;
    	else if( .@aid )
    		.@i = rand( .itemid_size );
    		getitem .itemid[.@i],.amount[.@i],.@aid;
    		announce "Krizazone Server - Lucky Player ["+.@name$+"] has received "+.amount[.@i]+" x "+getitemname( .itemid[.@i] )+".",0;
    	}
    	end;
    }

    Let me know if it's working.

    Thank you
    I will try it and I will tell you if it workThank you I will try it and I will tell you if it workss

  3. -	script	hourly_reward_main	-1,{
    	
    	OnInit:
    		setarray .itemid,6379,522,12412,604,12221,16774,12103,12710,14296,14601,7929,12202,12203,12204,12205,12206,12207,7959;
    		setarray .amount,10,100,1,10,1,2,2,3,2,5,2,2,2,2,2,2,2,2;
    
    		.itemid_size = getarraysize( .itemid );
    		end;
    		
    	OnMinute00:
    		query_sql( "SELECT `account_id`,`name` FROM `char` WHERE `online` = 1 ORDER BY RAND() LIMIT 1",.@aid,.@name$ );
    		if ( .@aid ) {
    			.@i = rand( .itemid_size );
    			getitem .itemid[.@i],.amount[.@i],.@aid;
    			announce "Krizazone Server - Lucky Player ["+.@name$+"] has receive ["+.amount[.@i]+"x "+getitemname( .itemid[.@i] )+"]!!",bc_all;
    		}
    		end;
    }

    i need help here
    this script send to all player online and all marchents autotrade
    i want make it to send to all player online not marchents autotrade
    any help ?

  4. help @Euphy
    BlackList not work why ?

    //===== rAthena Script =======================================
    //= Hunting Missions
    //===== By: ==================================================
    //= Euphy
    //===== Current Version: =====================================
    //= 1.1a
    //===== Description: =========================================
    //= Random hunting missions.
    //= Rewards are based on quest difficulty.
    //============================================================
    
    prontera,155,184,4	script	تحت الاختبار	653,{
    function Chk; function Cm;
    	mes "[Hunting Missions]";
    	mes "Hello, "+strcharinfo(0)+"!";
    	if (!#Mission_Delay) {
    		next;
    		mes "[Hunting Missions]";
    		mes "I can't find any records...";
    		mes "You must be new here!";
    		emotion e_omg;
    		next;
    		callsub Mission_Info;
    		emotion e_go;
    		set #Mission_Delay,1;
    		close;
    	}
    	mes rand(2)?"Working hard, as always...":"Not slacking, I hope...";
    	mes "Is there anything I can help";
    	mes "you with?";
    	mes " ";
    	mes "^777777~ You've completed ^0055FF"+Mission_Total+"^777777 mission"+((Mission_Total == 1)?"":"s")+". ~^000000";
    	next;
    	switch(select(((!Mission1)?" ~ New Mission::":": ~ Mission Status: ~ Abandon Mission")+": ~ Information: ~ Mission Shop: ~ View Top Hunters: ~ ^777777Cancel^000000")) {
    	case 1:
    		mes "[Hunting Missions]";
    		if (#Mission_Count) {
    			mes "You've started a mission";
    			mes "on another character.";
    			close;
    		}
    		if (#Mission_Delay > gettimetick(2) && .Delay) {
    			set .@i, #Mission_Delay-gettimetick(2);
    			if (.@i > 3600) set .@j$, (.@i/3600)+" hour"+(((.@i/3600) == 1)?"":"s");
    			else if (.@i > 60) set .@j$, (.@i/60)+" minute"+(((.@i/60) == 1)?"":"s");
    			else set .@j$, (.@i)+" second"+((.@i == 1)?"":"s");
    			mes "I'm afraid you'll have to wait "+.@j$+" before taking another mission.";
    			close;
    		}
    		mes "You must hunt:";
    		freeloop(1);
    		set .@size, getarraysize(.NoRange);
    		for (set .@i,0; .@i<.Quests; set .@i,.@i+1) {
    			set .@valid,0;
    			while (!.@valid) {
    				set .@valid,1;
    				set .@mob, rand(1001,1999);
    				// Is mob ID blacklisted?
    				if (compare(.Restrict$[0],""+.@mob) || compare(.Restrict$[1],""+.@mob)) set .@valid,0;
    				// Is mob ID interval blacklisted?
    				if (.@valid) for(set .@j,0; .@j<.@size; set .@j,.@j+2)
    					if (.@mob > .NoRange[.@j] && .@mob < .NoRange[.@j+1]) {
    						set .@valid,0;
    						break;
    					}
    				// Is mob a duplicate?
    				if (.@valid) for(set .@j,0; .@j<.@i; set .@j,.@j+1)
    					if (strmobinfo(1,.@mob) == strmobinfo(1,getd("Mission"+.@j))) {
    						set .@valid,0;
    						break;
    					}
    				// Is mob an MVP?
    				if (.@valid) if (getmonsterinfo(.@mob,22)) set .@valid,0;
    			}
    			setd "Mission"+.@i, .@mob;
    			setd "Mission"+.@i+"_",0;
    		}
    		set #Mission_Count, rand(.Count[0],.Count[1]);
    		freeloop(0);
    		callsub Mission_Status;
    		set @f,0;
    		next;
    		mes "[Hunting Missions]";
    		mes "Report back when";
    		mes "you've finished.";
    		mes "Good luck!";
    		close;
    	case 2:
    		mes "[Hunting Missions]";
    		mes "Mission status:";
    		callsub Mission_Status;
    		if (@f) { set @f,0; close; }
    		next;
    		mes "[Hunting Missions]";
    		mes "Oh, you're done!";
    		mes "Good work.";
    		mes "Here's your reward.";
    		emotion e_no1;
    		specialeffect2 377;
    		deletearray .@j[0], getarraysize(.@j);
    		for(set .@i,0; .@i<.Quests; set .@i,.@i+1) {
    			set .@j[.@i], getd("Mission"+.@i);
    			set .@j[.Quests], .@j[.Quests]+strmobinfo(3,.@j[.@i]);
    			set .@j[.Quests+1], .@j[.Quests+1]+strmobinfo(6,.@j[.@i]);
    			set .@j[.Quests+2], .@j[.Quests+2]+strmobinfo(7,.@j[.@i]);
    			setd "Mission"+.@i,0;
    			setd "Mission"+.@i+"_",0;
    		}
    		set #Mission_Points, #Mission_Points+(3+(.@j[.Quests]/.Quests/6));
    		getexp (#Mission_Count*.@j[.Quests+1]/5),(#Mission_Count*.@j[.Quests+2]/5);
    		set Zeny, Zeny+(#Mission_Count*.Quests*.@j[.@i]*.Multiplier);
    		set #Mission_Count,0;
    		if (.Delay) set #Mission_Delay, gettimetick(2)+(.Delay*3600);
    		set Mission_Total, Mission_Total+1;
    		if (Mission_Total == 1) query_sql("INSERT INTO `global_reg_value` (`char_id`,`str`,`value`,`type`,`account_id`) VALUES ("+getcharid(0)+",'Mission_Total','1',3,0)");
    		else query_sql("UPDATE `global_reg_value` SET `value` = "+Mission_Total+" WHERE char_id = "+getcharid(0)+" AND `str` = 'Mission_Total'");
    		close;
    	case 3:
    		mes "[Hunting Missions]";
    		mes "Do you really want to";
    		mes "abandon your mission?";
    		if (.Delay) mes "Your delay time will not be reset.";
    		next;
    		switch(select(" ~ Abandon...: ~ ^777777Cancel^000000")) {
    		case 1:
    			mes "[Hunting Missions]";
    			mes "Alright, I've dropped";
    			mes "your current mission.";
    			specialeffect2 462;
    			for(set .@i,0; .@i<.Quests; set .@i,.@i+1) {
    				setd "Mission"+.@i,0;
    				setd "Mission"+.@i+"_",0;
    			}
    			set #Mission_Count,0;
    			if (.Delay) set #Mission_Delay, gettimetick(2)+(.Delay*3600);
    			close;
    		case 2:
    			mes "[Hunting Missions]";
    			mes "I knew you were kidding!";
    			mes "Keep up the good work.";
    			emotion e_heh;
    			close;
    		}
    	case 4:
    		callsub Mission_Info;
    		close;
    	case 5:
    		mes "[Hunting Missions]";
    		mes "You have ^0055FF"+#Mission_Points+"^000000 Mission Points.";
    		mes "Use them well!";
    		callshop "mission_shop",1;
    		npcshopattach "mission_shop";
    		end;
    	case 6:
    		mes "[Hunting Missions]";
    		mes "The top hunters are:";
    		query_sql("SELECT `name`,CAST(`value` AS SIGNED) FROM `global_reg_value` LEFT JOIN `char` ON `global_reg_value`.char_id = `char`.char_id WHERE `global_reg_value`.str = 'Mission_Total' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 5",.@name$,.@val);
    		for(set .@i,0; .@i<5; set .@i,.@i+1)
    			mes "  [Rank "+(.@i+1)+"]  "+((.@name$[.@i] == "")?"^777777none":"^0055FF"+.@name$[.@i]+"^000000 : ^FF0000"+.@val[.@i]+" pt.")+"^000000";
    		close;
    	case 7:
    		mes "[Hunting Missions]";
    		mes "Nothing? Okay...";
    		emotion e_hmm;
    		close;
    	}
    
    Mission_Status:
    	set @f,0;
    	deletearray .@j[0], getarraysize(.@j);
    	for(set .@i,0; .@i<.Quests; set .@i,.@i+1) {
    		set .@j[.@i], getd("Mission"+.@i);
    		set .@j[.Quests], .@j[.Quests]+strmobinfo(3,.@j[.@i]);
    		set .@j[.Quests+1], .@j[.Quests+1]+strmobinfo(6,.@j[.@i]);
    		set .@j[.Quests+2], .@j[.Quests+2]+strmobinfo(7,.@j[.@i]);
    		mes " > "+Chk(getd("Mission"+.@i+"_"),#Mission_Count)+strmobinfo(1,.@j[.@i])+" ("+getd("Mission"+.@i+"_")+"/"+#Mission_Count+")^000000";
    	}
    	set .@Mission_Points, 3+(.@j[.Quests]/.Quests/6);
    	set .@Base_Exp, #Mission_Count*.@j[.Quests+1]/5;
    	set .@Job_Exp, #Mission_Count*.@j[.Quests+2]/5;
    	set .@Zeny, #Mission_Count*.Quests*.@j[.@i]*.Multiplier;
    	next;
    	mes "[Hunting Missions]";
    	mes "Mission rewards:";
    	mes " > Mission Points: ^0055FF"+.@Mission_Points+"^000000";
    	mes " > Base Experience: ^0055FF"+Cm(.@Base_Exp)+"^000000";
    	mes " > Job Experience: ^0055FF"+Cm(.@Job_Exp)+"^000000";
    	mes " > Zeny: ^0055FF"+Cm(.@Zeny)+"^000000";
    	return;
    
    Mission_Info:
    	mes "[Hunting Missions]";
    	mes "If you so choose, I can assign";
    	mes "you a random hunting quest.";
    	mes "Some are easier than others, but";
    	mes "the rewards increase with difficulty.";
    	next;
    	mes "[Hunting Missions]";
    	mes "Missions points are shared";
    	mes "amongst all your characters.";
    	if (.Delay) mes "Delay time is, too.";
    	mes "You can't take missions on";
    	mes "multiple characters at once.";
    	next;
    	mes "[Hunting Missions]";
    	mes "You can start a quest";
    	if (.Delay) mes "every "+((.Delay == 1)?"hour.":.Delay+" hours.");
    	else mes "whenever you want.";
    	mes "That's everything~";
    	return;
    
    function Chk {
    	if (getarg(0) < getarg(1)) { set @f,1; return "^FF0000"; }
    	else return "^00FF00"; }
    
    function Cm {
    	set .@str$, getarg(0);
    	for(set .@i,getstrlen(.@str$)-3; .@i>0; set .@i,.@i-3)
    		set .@str$, insertchar(.@str$,",",.@i);
    	return .@str$; }
    
    OnBuyItem:
    	set @cost,0;
    	for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1)
    		for(set .@j,0; .@j<getarraysize(.Shop); set .@j,.@j+2)
    			if (@bought_nameid[.@i] == .Shop[.@j]) {
    				set @cost, @cost+(.Shop[.@j+1]*@bought_quantity[.@i]);
    				break;
    			}
    	mes "[Hunting Missions]";
    	if (@cost > #Mission_Points) mes "You don't have enough Mission Points.";
    	else {
    		for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1) {
    			getitem @bought_nameid[.@i], @bought_quantity[.@i];
    			dispbottom "Purchased "+@bought_quantity[.@i]+"x "+getitemname(@bought_nameid[.@i])+".";
    		}
    		set #Mission_Points, #Mission_Points-@cost;
    		mes "Deal completed.";
    		emotion e_cash;
    	}
    	set @cost,0;
    	deletearray @bought_nameid[0], getarraysize(@bought_nameid);
    	deletearray @bought_quantity[0], getarraysize(@bought_quantity);
    	close;
    
    OnNPCKillEvent:
    	if (!#Mission_Count || !Mission1) end;
    	for(set .@i,0; .@i<.Quests; set .@i,.@i+1) {
    		if (strmobinfo(1,killedrid) == strmobinfo(1,getd("Mission"+.@i))) {
    			if (getd("Mission"+.@i+"_") < #Mission_Count) {
    				set .@j, getd("Mission"+.@i+"_")+1;
    				setd "Mission"+.@i+"_", .@j;
    				dispbottom "[Hunting Mission] Killed "+.@j+" of "+#Mission_Count+" "+strmobinfo(1,killedrid)+".";
    			}
    			break;
    		}
    	}
    	end;
    
    OnInit:
    	set .Delay,3;		// Quest delay, in hours (0 to disable).
    	set .Quests,4;		// Number of subquests per quest (increases rewards).
    	set .Multiplier,60;	// Multiplier for Zeny reward calculation.
    	setarray .Count[0],	// Min and max monsters per subquest (increases rewards).
    		40,70;
    	setarray .Shop[0],	// Reward items: <ID>,<point cost> (about 10~20 points per hunt).
    		2899,500,18830,1000,18780,3000,20762,2500,19095,500,5376,350,7619,100,7620,100,6438,350,6439,350,12908,50,12903,50,12904,50,12905,50,12906,50,12907,50,7776,100,12412,50,14297,100;
    	.Blacklist$ =           // Blacklisted mob IDs.
    		"1038,1039,1046,1059,1062,1078,1079,1080,1081,1082,"+
    		"1083,1088,1085,1086,1087,1089,1090,1091,1092,1093,"+
    		"1096,1112,1115,1120,1142,1147,1150,1157,1159,1182,"+
    		"1183,1185,1186,1190,1200,1203,1204,1205,1212,1220,"+
    		"1221,1230,1232,1234,1235,1245,1244,1250,1251,1252,"+
    		"1259,1262,1268,1272,1283,1288,1289,1290,1293,1294,"+
    		"1295,1296,1298,1299,1300,1301,1302,1303,1304,1305,"+
    		"1306,1307,1308,1309,1311,1312,1313,1320,1324,1325,"+
    		"1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,"+
    		"1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,"+
    		"1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,"+
    		"1356,1357,1358,1359,1360,1361,1362,1363,1373,1388,"+
    		"1395,1396,1397,1398,1399,1418,1492,1502,1511,1515,"+
    		"1582,1583,1588,1618,1623,1626,1630,1634,1635,1636,"+
    		"1638,1639,1640,1641,1642,1643,1644,1645,1646,1648,"+
    		"1649,1650,1651,1647,1658,1676,1677,1678,1679,1681,"+
    		"1685,1686,1688,1704,1705,1706,1707,1708,1709,1710,"+
    		"1711,1712,1719,1720,1721,1732,1734,1750,1751,1754,"+
    		"1755,1765,1768,1779,1783,1785,1792,1796,1797,1802,"+
    		"1812,1815,1816,1829,1830,1831,1832,1839,1845,1846,"+
    		"1870,1871,1873,1874,1876,1877,1878,1885,1894,1905,"+
    		"1906,1908,1909,1910,1911,1913,1914,1917,1918,1919,"+
    		"1920,1921,1929,1934,1941,1946,1951,1953,1954,1956,"+
    		"1958,1959,1960,1961,1966,1974,1980,1990,1991,1992,";
    
    	npcshopdelitem "mission_shop",512;
    	for (.@i = 0; .@i < getarraysize(.Shop); .@i += 2)
    		npcshopadditem "mission_shop", .Shop[.@i], .Shop[.@i+1];
    	end;
    }
    -	shop	mission_shop	-1,2899:-500,18830:-1000,18780:-3000,20762:-2500,19095:-500,5376:-350,7619:-100,7620:-100,6438:-350,6439:-350,12908:-50,12903:-50,12904:-50,12905:-50,12906:-50,12907:-100,7776:-200,12412:-50,14297:-100

    help please

  5. //===== rAthena Script =======================================
    //= Hunting Missions
    //===== By: ==================================================
    //= Euphy
    //===== Current Version: =====================================
    //= 1.1a
    //===== Description: =========================================
    //= Random hunting missions.
    //= Rewards are based on quest difficulty.
    //============================================================
    
    prontera,155,184,4	script	تحت الاختبار	653,{
    function Chk; function Cm;
    	mes "[Hunting Missions]";
    	mes "Hello, "+strcharinfo(0)+"!";
    	if (!#Mission_Delay) {
    		next;
    		mes "[Hunting Missions]";
    		mes "I can't find any records...";
    		mes "You must be new here!";
    		emotion e_omg;
    		next;
    		callsub Mission_Info;
    		emotion e_go;
    		set #Mission_Delay,1;
    		close;
    	}
    	mes rand(2)?"Working hard, as always...":"Not slacking, I hope...";
    	mes "Is there anything I can help";
    	mes "you with?";
    	mes " ";
    	mes "^777777~ You've completed ^0055FF"+Mission_Total+"^777777 mission"+((Mission_Total == 1)?"":"s")+". ~^000000";
    	next;
    	switch(select(((!Mission1)?" ~ New Mission::":": ~ Mission Status: ~ Abandon Mission")+": ~ Information: ~ Mission Shop: ~ View Top Hunters: ~ ^777777Cancel^000000")) {
    	case 1:
    		mes "[Hunting Missions]";
    		if (#Mission_Count) {
    			mes "You've started a mission";
    			mes "on another character.";
    			close;
    		}
    		if (#Mission_Delay > gettimetick(2) && .Delay) {
    			set .@i, #Mission_Delay-gettimetick(2);
    			if (.@i > 3600) set .@j$, (.@i/3600)+" hour"+(((.@i/3600) == 1)?"":"s");
    			else if (.@i > 60) set .@j$, (.@i/60)+" minute"+(((.@i/60) == 1)?"":"s");
    			else set .@j$, (.@i)+" second"+((.@i == 1)?"":"s");
    			mes "I'm afraid you'll have to wait "+.@j$+" before taking another mission.";
    			close;
    		}
    		mes "You must hunt:";
    		freeloop(1);
    		set .@size, getarraysize(.NoRange);
    		for (set .@i,0; .@i<.Quests; set .@i,.@i+1) {
    			set .@valid,0;
    			while (!.@valid) {
    				set .@valid,1;
    				set .@mob, rand(1001,1999);
    				// Is mob ID blacklisted?
    				if (compare(.Restrict$[0],""+.@mob) || compare(.Restrict$[1],""+.@mob)) set .@valid,0;
    				// Is mob ID interval blacklisted?
    				if (.@valid) for(set .@j,0; .@j<.@size; set .@j,.@j+2)
    					if (.@mob > .NoRange[.@j] && .@mob < .NoRange[.@j+1]) {
    						set .@valid,0;
    						break;
    					}
    				// Is mob a duplicate?
    				if (.@valid) for(set .@j,0; .@j<.@i; set .@j,.@j+1)
    					if (strmobinfo(1,.@mob) == strmobinfo(1,getd("Mission"+.@j))) {
    						set .@valid,0;
    						break;
    					}
    				// Is mob an MVP?
    				if (.@valid) if (getmonsterinfo(.@mob,22)) set .@valid,0;
    			}
    			setd "Mission"+.@i, .@mob;
    			setd "Mission"+.@i+"_",0;
    		}
    		set #Mission_Count, rand(.Count[0],.Count[1]);
    		freeloop(0);
    		callsub Mission_Status;
    		set @f,0;
    		next;
    		mes "[Hunting Missions]";
    		mes "Report back when";
    		mes "you've finished.";
    		mes "Good luck!";
    		close;
    	case 2:
    		mes "[Hunting Missions]";
    		mes "Mission status:";
    		callsub Mission_Status;
    		if (@f) { set @f,0; close; }
    		next;
    		mes "[Hunting Missions]";
    		mes "Oh, you're done!";
    		mes "Good work.";
    		mes "Here's your reward.";
    		emotion e_no1;
    		specialeffect2 377;
    		deletearray .@j[0], getarraysize(.@j);
    		for(set .@i,0; .@i<.Quests; set .@i,.@i+1) {
    			set .@j[.@i], getd("Mission"+.@i);
    			set .@j[.Quests], .@j[.Quests]+strmobinfo(3,.@j[.@i]);
    			set .@j[.Quests+1], .@j[.Quests+1]+strmobinfo(6,.@j[.@i]);
    			set .@j[.Quests+2], .@j[.Quests+2]+strmobinfo(7,.@j[.@i]);
    			setd "Mission"+.@i,0;
    			setd "Mission"+.@i+"_",0;
    		}
    		set #Mission_Points, #Mission_Points+(3+(.@j[.Quests]/.Quests/6));
    		getexp (#Mission_Count*.@j[.Quests+1]/5),(#Mission_Count*.@j[.Quests+2]/5);
    		set Zeny, Zeny+(#Mission_Count*.Quests*.@j[.@i]*.Multiplier);
    		set #Mission_Count,0;
    		if (.Delay) set #Mission_Delay, gettimetick(2)+(.Delay*3600);
    		set Mission_Total, Mission_Total+1;
    		if (Mission_Total == 1) query_sql("INSERT INTO `global_reg_value` (`char_id`,`str`,`value`,`type`,`account_id`) VALUES ("+getcharid(0)+",'Mission_Total','1',3,0)");
    		else query_sql("UPDATE `global_reg_value` SET `value` = "+Mission_Total+" WHERE char_id = "+getcharid(0)+" AND `str` = 'Mission_Total'");
    		close;
    	case 3:
    		mes "[Hunting Missions]";
    		mes "Do you really want to";
    		mes "abandon your mission?";
    		if (.Delay) mes "Your delay time will not be reset.";
    		next;
    		switch(select(" ~ Abandon...: ~ ^777777Cancel^000000")) {
    		case 1:
    			mes "[Hunting Missions]";
    			mes "Alright, I've dropped";
    			mes "your current mission.";
    			specialeffect2 462;
    			for(set .@i,0; .@i<.Quests; set .@i,.@i+1) {
    				setd "Mission"+.@i,0;
    				setd "Mission"+.@i+"_",0;
    			}
    			set #Mission_Count,0;
    			if (.Delay) set #Mission_Delay, gettimetick(2)+(.Delay*3600);
    			close;
    		case 2:
    			mes "[Hunting Missions]";
    			mes "I knew you were kidding!";
    			mes "Keep up the good work.";
    			emotion e_heh;
    			close;
    		}
    	case 4:
    		callsub Mission_Info;
    		close;
    	case 5:
    		mes "[Hunting Missions]";
    		mes "You have ^0055FF"+#Mission_Points+"^000000 Mission Points.";
    		mes "Use them well!";
    		callshop "mission_shop",1;
    		npcshopattach "mission_shop";
    		end;
    	case 6:
    		mes "[Hunting Missions]";
    		mes "The top hunters are:";
    		query_sql("SELECT `name`,CAST(`value` AS SIGNED) FROM `global_reg_value` LEFT JOIN `char` ON `global_reg_value`.char_id = `char`.char_id WHERE `global_reg_value`.str = 'Mission_Total' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 5",.@name$,.@val);
    		for(set .@i,0; .@i<5; set .@i,.@i+1)
    			mes "  [Rank "+(.@i+1)+"]  "+((.@name$[.@i] == "")?"^777777none":"^0055FF"+.@name$[.@i]+"^000000 : ^FF0000"+.@val[.@i]+" pt.")+"^000000";
    		close;
    	case 7:
    		mes "[Hunting Missions]";
    		mes "Nothing? Okay...";
    		emotion e_hmm;
    		close;
    	}
    
    Mission_Status:
    	set @f,0;
    	deletearray .@j[0], getarraysize(.@j);
    	for(set .@i,0; .@i<.Quests; set .@i,.@i+1) {
    		set .@j[.@i], getd("Mission"+.@i);
    		set .@j[.Quests], .@j[.Quests]+strmobinfo(3,.@j[.@i]);
    		set .@j[.Quests+1], .@j[.Quests+1]+strmobinfo(6,.@j[.@i]);
    		set .@j[.Quests+2], .@j[.Quests+2]+strmobinfo(7,.@j[.@i]);
    		mes " > "+Chk(getd("Mission"+.@i+"_"),#Mission_Count)+strmobinfo(1,.@j[.@i])+" ("+getd("Mission"+.@i+"_")+"/"+#Mission_Count+")^000000";
    	}
    	set .@Mission_Points, 3+(.@j[.Quests]/.Quests/6);
    	set .@Base_Exp, #Mission_Count*.@j[.Quests+1]/5;
    	set .@Job_Exp, #Mission_Count*.@j[.Quests+2]/5;
    	set .@Zeny, #Mission_Count*.Quests*.@j[.@i]*.Multiplier;
    	next;
    	mes "[Hunting Missions]";
    	mes "Mission rewards:";
    	mes " > Mission Points: ^0055FF"+.@Mission_Points+"^000000";
    	mes " > Base Experience: ^0055FF"+Cm(.@Base_Exp)+"^000000";
    	mes " > Job Experience: ^0055FF"+Cm(.@Job_Exp)+"^000000";
    	mes " > Zeny: ^0055FF"+Cm(.@Zeny)+"^000000";
    	return;
    
    Mission_Info:
    	mes "[Hunting Missions]";
    	mes "If you so choose, I can assign";
    	mes "you a random hunting quest.";
    	mes "Some are easier than others, but";
    	mes "the rewards increase with difficulty.";
    	next;
    	mes "[Hunting Missions]";
    	mes "Missions points are shared";
    	mes "amongst all your characters.";
    	if (.Delay) mes "Delay time is, too.";
    	mes "You can't take missions on";
    	mes "multiple characters at once.";
    	next;
    	mes "[Hunting Missions]";
    	mes "You can start a quest";
    	if (.Delay) mes "every "+((.Delay == 1)?"hour.":.Delay+" hours.");
    	else mes "whenever you want.";
    	mes "That's everything~";
    	return;
    
    function Chk {
    	if (getarg(0) < getarg(1)) { set @f,1; return "^FF0000"; }
    	else return "^00FF00"; }
    
    function Cm {
    	set .@str$, getarg(0);
    	for(set .@i,getstrlen(.@str$)-3; .@i>0; set .@i,.@i-3)
    		set .@str$, insertchar(.@str$,",",.@i);
    	return .@str$; }
    
    OnBuyItem:
    	set @cost,0;
    	for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1)
    		for(set .@j,0; .@j<getarraysize(.Shop); set .@j,.@j+2)
    			if (@bought_nameid[.@i] == .Shop[.@j]) {
    				set @cost, @cost+(.Shop[.@j+1]*@bought_quantity[.@i]);
    				break;
    			}
    	mes "[Hunting Missions]";
    	if (@cost > #Mission_Points) mes "You don't have enough Mission Points.";
    	else {
    		for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1) {
    			getitem @bought_nameid[.@i], @bought_quantity[.@i];
    			dispbottom "Purchased "+@bought_quantity[.@i]+"x "+getitemname(@bought_nameid[.@i])+".";
    		}
    		set #Mission_Points, #Mission_Points-@cost;
    		mes "Deal completed.";
    		emotion e_cash;
    	}
    	set @cost,0;
    	deletearray @bought_nameid[0], getarraysize(@bought_nameid);
    	deletearray @bought_quantity[0], getarraysize(@bought_quantity);
    	close;
    
    OnNPCKillEvent:
    	if (!#Mission_Count || !Mission1) end;
    	for(set .@i,0; .@i<.Quests; set .@i,.@i+1) {
    		if (strmobinfo(1,killedrid) == strmobinfo(1,getd("Mission"+.@i))) {
    			if (getd("Mission"+.@i+"_") < #Mission_Count) {
    				set .@j, getd("Mission"+.@i+"_")+1;
    				setd "Mission"+.@i+"_", .@j;
    				dispbottom "[Hunting Mission] Killed "+.@j+" of "+#Mission_Count+" "+strmobinfo(1,killedrid)+".";
    			}
    			break;
    		}
    	}
    	end;
    
    OnInit:
    	set .Delay,3;		// Quest delay, in hours (0 to disable).
    	set .Quests,4;		// Number of subquests per quest (increases rewards).
    	set .Multiplier,60;	// Multiplier for Zeny reward calculation.
    	setarray .Count[0],	// Min and max monsters per subquest (increases rewards).
    		40,70;
    	setarray .Shop[0],	// Reward items: <ID>,<point cost> (about 10~20 points per hunt).
    		2899,500,18830,1000,18780,3000,20762,2500,19095,500,5376,350,7619,100,7620,100,6438,350,6439,350,12908,50,12903,50,12904,50,12905,50,12906,50,12907,50,7776,100,12412,50,14297,100;
    	.Blacklist$ =           // Blacklisted mob IDs.
    		"1038,1039,1046,1059,1062,1078,1079,1080,1081,1082,"+
    		"1083,1088,1085,1086,1087,1089,1090,1091,1092,1093,"+
    		"1096,1112,1115,1120,1142,1147,1150,1157,1159,1182,"+
    		"1183,1185,1186,1190,1200,1203,1204,1205,1212,1220,"+
    		"1221,1230,1232,1234,1235,1245,1244,1250,1251,1252,"+
    		"1259,1262,1268,1272,1283,1288,1289,1290,1293,1294,"+
    		"1295,1296,1298,1299,1300,1301,1302,1303,1304,1305,"+
    		"1306,1307,1308,1309,1311,1312,1313,1320,1324,1325,"+
    		"1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,"+
    		"1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,"+
    		"1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,"+
    		"1356,1357,1358,1359,1360,1361,1362,1363,1373,1388,"+
    		"1395,1396,1397,1398,1399,1418,1492,1502,1511,1515,"+
    		"1582,1583,1588,1618,1623,1626,1630,1634,1635,1636,"+
    		"1638,1639,1640,1641,1642,1643,1644,1645,1646,1648,"+
    		"1649,1650,1651,1647,1658,1676,1677,1678,1679,1681,"+
    		"1685,1686,1688,1704,1705,1706,1707,1708,1709,1710,"+
    		"1711,1712,1719,1720,1721,1732,1734,1750,1751,1754,"+
    		"1755,1765,1768,1779,1783,1785,1792,1796,1797,1802,"+
    		"1812,1815,1816,1829,1830,1831,1832,1839,1845,1846,"+
    		"1870,1871,1873,1874,1876,1877,1878,1885,1894,1905,"+
    		"1906,1908,1909,1910,1911,1913,1914,1917,1918,1919,"+
    		"1920,1921,1929,1934,1941,1946,1951,1953,1954,1956,"+
    		"1958,1959,1960,1961,1966,1974,1980,1990,1991,1992,";
    
    	npcshopdelitem "mission_shop",512;
    	for (.@i = 0; .@i < getarraysize(.Shop); .@i += 2)
    		npcshopadditem "mission_shop", .Shop[.@i], .Shop[.@i+1];
    	end;
    }
    -	shop	mission_shop	-1,2899:-500,18830:-1000,18780:-3000,20762:-2500,19095:-500,5376:-350,7619:-100,7620:-100,6438:-350,6439:-350,12908:-50,12903:-50,12904:-50,12905:-50,12906:-50,12907:-100,7776:-200,12412:-50,14297:-100

    help please
    I added some monsters from the black list, but the monsters were not banned
    Please help

    and how i can add mob_db on sql ?

    Thanks

  6. On 5/31/2017 at 4:30 AM, Ninja said:

    What does this mean? Does it mean that he can summon items at will? or do you mean that he uses a lot of programs?

     

    i dont know he can send item to all mab

  7. On 3/21/2017 at 4:58 PM, Freya said:

    Hello, I assume you're saying 10 points. Then please change
     

    
        .point_amt = 1;    // Normal points gained.
    to
        .point_amt = 10;    // Normal points gained.

    .
     

    and how i can change point to this item 6379 ?

  8. -	script	cashpoints	-1,{
     
    OnInit:
        announce "The system have been reloaded, please relog again to get more points.", bc_all;
     
        .point_name$ = "cash points";
        .point_amt = 1;    // Normal points gained.
        .dlimit = 600;    // Stop points if afk greater then in seconds. 600s = 10 minutes
        .enable = 1;
        .level = 0;
        .online_time = 360; // One hour = 3600 seconds
     
        bindatcmd "ht", "cashpoints::OnAtcommand", 0, 100;
        end;
     
    OnPCLoginEvent:
        if (BaseLevel >= .level)
        {
            #idle = 0;
            @backup_time = 0;
     
            if (!#acctick || #acctick > .online_time)
                #acctick = gettimetick(2) + .online_time;
            else
                #acctick += gettimetick(2);
     
            while(.enable)
            {
                @idle_time = checkidle();
     
                if (checkvending() >= 1 || checkchatting() == 1 || @idle_time >= .dlimit)
                {
                    #acctick += @idle_time; // Add idle time
                    #idle = 1;
                    dispbottom "The hourly points event haulted because you were vending, chatting, or idle.";
                    dispbottom "Please relog again.";
                }
                else
                {
                    sleep2 1000;
     
                    @backup_time = .@time_left = #acctick - gettimetick(2);
     
                    if (.@time_left <= 0)
                    {
                        #RP += .point_amt;
                        #acctick = gettimetick(2) + .online_time;
                        dispbottom "Gained " + .point_amt + " " + .point_name$ + ". Total " + #RP + " points.";
                    }
                    else
                    {
                        .@time_left = .online_time - .@time_left;
                        .@Time$ = "";
                        .@Minutes = .@time_left / 60;
                        .@time_left -= (.@Minutes * 60);
     
                        if (.@Minutes > 1)
                            .@Time$ += .@Minutes + " minutes, ";
                        else if (.@Minutes > 0)
                            .@Time$ += .@Minutes + " minute, ";
     
                        if (.@time_left > 1 || .@time_left == 0)
                            .@Time$ += .@time_left + " seconds";
                        else if (.@time_left == 1)
                            .@Time$ += .@time_left + " second";
     
                        if (.@Minutes == 15 && .@time_left == 0 || .@Minutes == 30 && .@time_left == 0 || .@Minutes == 45 && .@time_left == 0)
                            dispbottom "You spend a total of [" + .@Time$ + "] playing.";
                    }
                }
     
                if (#idle)
                    break;
            }
        }
        end;
     
    OnPCLogoutEvent:
        // BackUP online time
        if (BaseLevel >= .level)
        {
            if (@backup_time)
                #acctick = @backup_time;
        }
        end;
     
    OnAtcommand:
        if (BaseLevel >= .level)
        {
            if (#idle)
            {
                .@Time$ = "";
                .@Minutes = @idle_time / 60;
                .@time_left = @idle_time - (.@Minutes * 60);
     
                if (.@Minutes > 1)
                    .@Time$ += .@Minutes + " minutes, ";
                else if (.@Minutes > 0)
                    .@Time$ += .@Minutes + " minute, ";
     
                if (.@time_left > 1 || .@time_left == 0)
                    .@Time$ += .@time_left + " seconds";
                else if (.@time_left == 1)
                    .@Time$ += .@time_left + " second";
     
                dispbottom "You been idle for " + .@Time$ + ". Please relog again.";
            }
            else
            {
                .@time_left = @backup_time;
                .@Time$ = "";
                .@Minutes = .@time_left / 60;
                .@time_left -= (.@Minutes * 60);
     
                if (.@Minutes > 1)
                    .@Time$ += .@Minutes + " minutes, ";
                else if (.@Minutes > 0)
                    .@Time$ += .@Minutes + " minute, ";
     
                if (.@time_left > 1 || .@time_left == 0)
                    .@Time$ += .@time_left + " seconds";
                else if (.@time_left == 1)
                    .@Time$ += .@time_left + " second";
     
                dispbottom "You have [" + .@Time$ + "] left in able to gain a reward points.";
            }
        }
        end;
    }

    i want this script get item 6379 1h=10 
    any help ?

  9. //===== rAthena Script =======================================
    //= Unofficial Fallen Angel Wing (FAW) Enchants
    //===== By: ==================================================
    //= Nerfwood
    //===== Current Version: =====================================
    //= 1.0
    //===== Compatible With: =====================================
    //= rAthena Project
    //===== Description: =========================================
    //= Enchants FAW as per iROWiki's information
    //= Dialogue are unofficial
    //===== Additional Comments: =================================
    //= 1.0 First Version
    //============================================================
    
    //Decreasing Chance of Enchantment
    // 60% low, 30% mid, 10% high for 1st & 2nd enchant slot
    //40% low, 30% mid, 20% high, 10% special for 3rd enchant slot
    function	script	EnchantStat_1	{
    
    	.chance = rand(1,10);
    	
    	if(@card2 && @card3) { //For 4th Slot aka 3rd Enchant Slot
    		
    		if(.chance<5) .x=0; 
    		else if(.chance<7) .x=1; 
    		else if(.chance<9) .x=2; 
    		else .x=3;
    		
    	}
    	else {	//For 2nd and 3rd card slot aka 1st and 2nd Enchant Slot
    
    		if(.chance<7) .x=0; 
    		else if(.chance<10) .x=1; 
    		else .x=2; 
    	}
    	return getelementofarray(getvariableofnpc( getd(".enc" + getarg(0) )  , "Valkyrie#faw"), .x );
    	
    }
    
    
    
    	
    //Equal Chance of Enchanting	
    function	script	EnchantStat_0	{
    	if(@card2 && @card3)
    		return  getelementofarray(getvariableofnpc( getd(".enc" + getarg(0) )  , "Valkyrie#faw"), rand(0,3) );
    	else
    		return  getelementofarray(getvariableofnpc( getd(".enc" + getarg(0) )  , "Valkyrie#faw"), rand(0,2) );
    		
    }
    
    
    //=======MAIN NPC
    
    moc_para01,180,23,3	script	Valkyrie#faw	403,{
    	mes .npc$;
    	mes "I am here to enchant the",
    		"magnificent ^000099Fallen Angel Wing^000000.",
    		"Would you like to enchant yours?";
    	if(countitem(2589)) {
    		set .@menu$, "Enchant Fallen Angel Wing";
    	}
    	else .@menu$="";
    	next;
    	switch(select("Information:" + .@menu$ + ":Reset Enchantment"))
    	{
    		case 1: goto OnInformation;
    		case 2: goto OnEnchantNow;
    		case 3: goto OnResetEnchant;
    		default: close;
    	}
    
    OnInformation:
    	mes .npc$,
    		"I can enchant your",
    		"^000099Fallen Angel Wing^000000 for",
    		(.cost?callfunc("F_InsertComma",.cost)+"z":"free")+" to give it various.", 
    		"effects. In fact, I can do it",
    		"twice if its refinement level is",
    		"+7 ~ +8, and thrice if its",
    		"+9 and above.";
    	next;
    	mes .npc$,
    		"The 3rd enchantment has a",
    		"chance to be more powerful",
    		"than the first two.";
    	next;
    	mes .npc$,
    		"There is no chance to",
    		"fail, so enchant away",
    		"as much as you like.";
    	next;	
    	mes .npc$,
    		"But if you're not happy",
    		"with the results, you can",
    		"reset the enchantments",
    		"for ^009900"+ callfunc("F_InsertComma",.cost2) + "z^000000.";
    	next;
    	mes .npc$,
    		"That's about everything.";
    		close;
    		
    OnEnchantNow:	
    	mes .npc$;
    	if( (getequipid(EQI_GARMENT)!=2589) ) {
    		mes "Please equip your",
    			"^000099Fallen Angel Wing^000000 if",
    			"you want to have it enchanted.";
    		if(!.autoequip) close;	
    		next;
    		if(select("Equip:Don't Equip")==2) close;
    		equip 2589;
    		mes .npc$;
    	}
    	.@refeq = getequiprefinerycnt(EQI_GARMENT);
    	if(.@refeq<7) .@refeq2 = 1;
    	else if(.@refeq>8) .@refeq2 = 3;
    	else .@refeq2 = 2;
    	
    	mes "You have a ^000099+" +.@refeq + " Fallen Angel Wing^000000.",
    		"It can have a total of " + .@refeq2 + " enchantment"  +( .@refeq2>1?"s.":".")+" Please";
    	mes "select your preferred","enchantment.";
    	next;
    	setd ".@enc$", select("Fighting Enchant:Magic Enchant:Archer Enchant:Critical/Fatal Enchant:Max HP Enchant:Max SP Enchant:ASPD Enchant:STR Enchant:AGI Enchant:DEX Enchant:VIT Enchant:INT Enchant:LUK Enchant");
    	if(.cost) callsub OnCostlyEnchant;
    	
    	@card1 = getequipcardid(5,0);
    	@card2 = getequipcardid(5,1);
    	@card3 = getequipcardid(5,2);
    	@card4 = getequipcardid(5,3);
    	
    	if( @card2 && @card3 && @card4) {
    		mes .npc$,
    		"Hmm.. it seems that all", 
    		"slots have already been enchanted.";
    		close;
    	}
    	
    	.@EnStat =   callfunc( (.chancetype?"EnchantStat_1":"EnchantStat_0"), .@enc$) ;
    	
    	if(!@card2) callsub OnFawEnchant , .@EnStat , @card3 , @card4 , .@refeq;	
    	else if(!@card3 && .@refeq>6) callsub OnFawEnchant , @card2 , .@EnStat , @card4 , .@refeq;
    	else if(!@card4 && .@refeq>8) callsub OnFawEnchant , @card2 , @card3 , .@EnStat , .@refeq;
    	else {
    		mes .npc$,
    		"Sorry, but your",
    		"^000099Fallen Angel Wing^000000's",
    		"refinement level is too", 
    		"low to continue";
    		close;
    	}
    	
    	mes .npc$,
    		"Your ^000099Fallen Angel Wing^000000 has",
    		"been enchanted with ^000099"+getitemname(.@EnStat)+"^000000.";
    	close;
    
    OnFawEnChant:
    	delitem2 2589, 1, 1, getarg(3), 0, @card1, @card2, @card3, @card4;
    	getitem2 2589, 1, 1, getarg(3) , 0, @card1, getarg(0), getarg(1), getarg(2);
    	equip 2589;
    	specialeffect2 1019;
    	specialeffect2 98;
    	return;
    
    	
    OnResetEnchant:
    	mes .npc$,
    		"This will cost " + callfunc("F_InsertComma",.cost2) + "z.",
    		"Are you sure?";
    	next;
    	if(select("Yes:No")==2) close;
    	mes .npc$;
    	if(Zeny<1000000) {
    		mes "You don't have enough zeny.";
    		close;
    	}
    	Zeny -= 1000000;
    	mes "Your ^000099Fallen Angel Wing^000000's",
    		"enchantments have been reset.";
    	.@refeq = getequiprefinerycnt(EQI_GARMENT);
    	@card1 = getequipcardid(5,0);
    	@card2 = getequipcardid(5,1);
    	@card3 = getequipcardid(5,2);
    	@card4 = getequipcardid(5,3);
    	delitem2 2589, 1, 1, .@refeq, 0, @card1, @card2, @card3, @card4;
    	getitem2 2589, 1, 1, .@refeq, 0, @card1, 0, 0, 0;
    	equip 2589;
    	specialeffect2 261;
    	specialeffect2 119;
    	close;
    	
    //Only called when .cost is defined	
    OnCostlyEnchant:	
    	if(Zeny<.cost) {
    		
    		mes .npc$,
    			"You don't have enough zeny.";
    		close;
    	}
    	Zeny -= .cost;
    	return;
    	
    	
    	
    	
    OnInit:
    	.npc$ = "[^AA0000Valkyrie^000000]";
    	setarray .enc1[0], 4809,4808,4820, 4821;	//Fighting 3~5
    	setarray .enc2[0], 4812,4826,4827, 4828;	//Magic 4~6
    	setarray .enc3[0], 4832,4833,4834, 4835;	//Expert Arc 1~3
    	setarray .enc4[0], 4863,4864,4865, 4866;	//Fatal 1~3
    	setarray .enc5[0], 4861,4862,4867, 4868;	//MHPP 1~3%
    	setarray .enc6[0], 4870,4800,4871, 4801;	//MaxSP 25,50,75
    	setarray .enc7[0], 4869,4872,4873, 4807;	//ASPD 1~3
    //	setarray .enc7[0], 4869,4872,4873, 4881;	//ASPD 1~3
    	setarray .enc8[0], 4702,4703,4704, 4853;	//STR 3~5 | Special Str
    	setarray .enc9[0], 4731,4732,4733, 4854;	//AGI 2~4
    	setarray .enc10[0], 4722,4723,4724, 4857;	//DEX 3~5
    	setarray .enc11[0], 4742,4743,4744, 4855;	//VIT 3~5
    	setarray .enc12[0], 4712,4713,4714, 4856;	//INT 3~5
    	setarray .enc13[0], 4752,4753,4754, 4858;	//LUK 3~5
    	// 1 = 60% low, 30% mid, 10% high for 1st & 2nd enchant slot && 40% low, 30% mid, 20% high, 10% special for 3rd enchant slot
    	// 0 = Equal Chance
    	.chancetype = 1;
    	//Turn on Equip Selection if garment is unequipped? 1 = Yes
    	.autoequip =1;
    	//Cost for Enchanting. It's free in iRO
    	//.cost=0;
    	//Cost to reset | Costs 1Mz in iRO
    	.cost2 = 1000000;
    }

    hey guys need help here
    enchant faw warp and have problem
    only enchant 1 times and can't resetenchant
    and can only enchant 1 times 
    faw +0 1 times +7 1 times +9 1 times
    but he gave 1 time if u have +9
    help please

     

  10. On 3/17/2017 at 4:40 AM, Freya said:

    Hello @Hossam. There are separated methods on how to edit the item info in-game and it bases on your client's date. If you're using a 2012 (though I am not sure) above client, then you'll have to use a ItemInfo.lub file located on your client file and if you're using a 2012 (again, I am not sure) below client, then you won't be using ItemInfo.lub.

    ty for help <3

  11. On 3/16/2017 at 3:07 AM, Freya said:

    ,S

     

    On 3/16/2017 at 3:07 AM, Freya said:

    Hello Hossam, in your item_db which is located to your db files. Locate this.

    
    // ID,AegisName,Name,Type,Buy,Sell,Weight,ATK[:MATK],DEF,Range,Slots,Job,Class,Gender,Loc,wLV,eLV[:maxLevel],Refineable,View,{ Script },{ OnEquip_Script },{ OnUnequip_Script }

    Read and absorb what is posted above and look at other examples under it. Also be very sure to be thorough on adding a custom item.
    As for the item info, locate ItemInfo on your client files/data; read and absorb. 

    ty bro
    and how i can edit item info ? in game

  12. On 3/11/2017 at 2:18 PM, Emistry said:
    
    prontera,155,181,5	script	Random Item	4_F_KAFRA1,{
    	
    	if ( #COOLDOWN > gettimetick(2) ) {
    		mes "Come back again after 24 hours.";
    	}
    	else {
    		if ( rand(100) < 50 ) {
    			.@item = F_Rand( 501,502,503,504,505 );
    			getitem .@item,1;
    			mes "Gained "+getitemname( .@item )+".";
    		}
    		else {
    			mes "Failed to get any items.";
    		}
    		#COOLDOWN = gettimetick(2) + ( 24 * 3600 );
    	}
    	close;
    }

     

    Can you make it a prize each IP
    Only 1 acc from ip

  13. On 3/11/2017 at 1:52 AM, Promise said:

    really?...

     

    
    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>,...
    		7828, 4;
    	end;
    OnStart:

     

    
    	.minplayer2start = 2;      // minimum player

     

    .minplayer2start = 5;

     

     

    ty bro <3

  14. //===== rAthena Script =======================================
    //= Battleground: PVP
    //===== By: ==================================================
    //= AnnieRuru
    //===== Current Version: =====================================
    //= 1.0
    //===== Compatible With: =====================================
    //= rAthena Project
    //===== Description: =========================================
    //= A simple battleground script:
    //= Kill players from the other team.
    //===== Additional Comments: =================================
    //= 1.0 First version, edited. [Euphy]
    //============================================================
    
    -	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>,...
    		7828, 4;
    	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$ );
    	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] = .minplayer2start;
    	bg_updatescore "guild_vs3", .score[1], .score[2];
    
    	// match duration
    	sleep .eventlasting * 1000;
    
    	// end match, destroy Battleground, reset NPCs
    	if ( .score[1] > .score[2] ) {
    		mapannounce "guild_vs3", "- Red Team is victorious! -", bc_map;
    		callsub L_Reward, 1;
    	}
    	else if ( .score[1] < .score[2] ) {
    		mapannounce "guild_vs3", "- Blue Team is victorious! -", bc_map;
    		callsub L_Reward, 2;
    	}
    	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:
    	for ( .@i = 0; .@i < getd(".team"+ getarg(0) +"count"); .@i++ )
    		getitem .rewarditem[0], .rewarditem[1], getd(".team"+ getarg(0) +"aid["+ .@i +"]" );
    	return;
    
    // "OnDeath" event
    OnRedDead:  callsub L_Dead, 1;
    OnBlueDead: callsub L_Dead, 2;
    L_Dead:
    	.score[ getarg(0) ]--;
    	bg_updatescore "guild_vs3", .score[1], .score[2];
    	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;
    	bg_leave;
    	if ( !.score[ getarg(0) ] )
    		awake strnpcinfo(0);
    	sleep2 1250;
    	percentheal 100,100;
    	end;
    
    // "OnQuit" event
    OnRedQuit:  callsub L_Quit, 1;
    OnBlueQuit: callsub L_Quit, 2;
    L_Quit:
    	.score[ getarg(0) ]--;
    	bg_updatescore "guild_vs3", .score[1], .score[2];
    	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 ( !.score[ getarg(0) ] )
    		awake strnpcinfo(0);
    	end;
    }
    
    prontera,138,169,6	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;
    }
    
    prontera,138,163,6	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	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

    need help how i can make this script 5vs5
    now 2vs2
    any help ?

    Thank You

×
×
  • Create New...