Jump to content

Quazy

Members
  • Posts

    44
  • Joined

  • Last visited

Posts posted by Quazy

  1. hi guys i need some help i got this error in my map server 

    im using EinherjarRO script and i got this error in image below! 

    i hope you can help me thanks!

     

    //===== EinherjarRO Scripts ================================== 
    //= Daily Prize, OnPCLoginEvent
    //===== By: ================================================== 
    //= Stolao
    //===== Current Version: ===================================== 
    //= 1.59
    //===== Compatible With: ===================================== 
    //= rAthena SVN
    //===== Description: ========================================= 
    //= A reward system for players who play more frequently
    //===== Comments: ============================================
    //= Maybe Make .MinWait an array mins,days,weeks,months,years;
    //===== Additional Comments: =================================
    //= For Older See Forums
    //= 1.51 Changed set .@g formula and move lower into script
    //= 1.52 Replace all disbottom -> message
    //= 1.53 Changed Format to Include minuets instead of just hours
    //= 1.54 Made Time till next rewards display dynamic
    //= 1.55 Changed a forgotten  .PointType$ -> getd(.@TT[1])
    //= 1.56 changed .@XT -> .@XT$
    //= 1.57 Added Atoi where nessisary
    //= 1.58 Fixed a swapped .@x and .@x+1
    //= 1.59 Serveral Edit Undocumented to fix
    //===== Contact Info: ========================================
    //= [Stolao] 
    //= Email: [email protected]
    //============================================================
    -	script	LOGIN	-1,{
    OnWhisperGlobal:
    OnLoginCmnd:
    OnPCLoginEvent:
    	if(.Rest){
    		set @login, (gettime(7) * 365 * 24 * 60) + (gettime(8) * 24 * 60) + (gettime(3) * 60) + gettime(2);
    		query_sql("SELECT REPLACE (`last_ip`,'.','_') FROM `login` WHERE `account_id` = "+getcharid(3),@ip$); if((getd("$G_LIP_"+@ip$)+(60*60*24)) <= @c) setd("$G_LIP_"+@ip$,@c);
    		if(@login > #LastDailyReward + .MaxWait ){
    			set #logintimer, 0;
    			set @login, 0;
    		}
    		
    		set .@rest, (gettime(7) * 365 * 24 * 60) + (gettime(8) * 24 * 60) + (gettime(3) * 60) + .Rest;
    		message strcharinfo(0),"[ Daily Rewards ]: to collect reward you must remain logged in for "+ ( @login - .@rest ) +" Minuets";
    	}
    	set .@i, (gettime(7) * 365 * 24 * 60) + (gettime(8) * 24 * 60) + (gettime(3) * 60) + gettime(2);
    	if(.@i - .Rest >= (#LastDailyReward + .MinWait)){
    		sleep2 100 + ( .Rest * 60000 ) - ( .@i - #logintimer );
    		if(.@i < #LastDailyReward + .MaxWait){	set #DRewardCon, #DRewardCon + 1;
    		} else {	set #DRewardCon, 0;	}
    		set .@g, (#DRewardCon > getarraysize(.Rewards$)) ? (getarraysize(.Rewards$)-1) : #DRewardCon;
    		explode(.@XT$,.Rewards$[.@g],"|");
    		for(set .@x,0; .@x < getarraysize(.@XT$); set .@x,.@x + 1){
    			set .@TT[.@x], atoi(.@XT$[.@x]);
    		}
    		if(.Mode & 1 && .@TT[4]){	//[Note]: I need to figure out a checkweight for all items tired atm lol, for now ill leave it missing
    			for(set .@x,4; .@x < getarraysize(.@TT); set .@x,.@x + 2){	getitem  .@TT[.@x], .@TT[.@x+1];	message strcharinfo(0),"[ Daily Rewards ]: Recived "+  .@TT[.@x+1] +" "+ getitemname(.@TT[.@x]);	}
    		}
    		if(.Mode & 2){
    			if(.@TT[0]){	set zeny,zeny + .@TT[0];	message strcharinfo(0),"[ Daily Rewards ]: Recived "+ .@TT[0] +"z";	}
    			if(.@TT[1]){	setd getd(.Points$[0]),getd(.Points$[0]) + .@TT[1];	message strcharinfo(0),"[ Daily Rewards ]: Recived "+ .@TT[1] +" "+.Points$[1];	}
    		}
    		if(.Mode & 4 && (.@TT[3] || .@TT[4])) getexp .@TT[3], .@TT[4];
    		if(.Mode & 8){
    			for(set .@x,0; .@x < getarraysize(.BuffInfo); set .@x,.@x + 4){
    				if(#DRewardCon % .BuffInfo[.@x + 1] == 0)
    					sc_start .BuffInfo[.@x], .BuffInfo[.@x + 2] * 60000, .BuffInfo[.@x + 3];
    			}
    		}
    		message strcharinfo(0),"[ Daily Rewards ]: You have collected your daily reward, for "+#DRewardCon+" day"+((#DRewardCon > 1)?"s":"")+" in a row.";
    		cutin .Pic$[.@g],4;
    		set #LastDailyReward, .@i;
    		set #logintimer, 0;
    		set @login, 0;
    	} else {
    		set .@days,(#LastDailyReward + .MinWait - .@i)/60/24;
    		set .@hours,((#LastDailyReward + .MinWait - .@i)/60)%24;
    		set .@mins,(#LastDailyReward + .MinWait - .@i)%60;
    		message strcharinfo(0),"[ Daily Rewards ]: You have "+ ((.@days) ? .@days +":Days " : "") +""+ ((.@hours) ? .@hours +":Hours " : "") +""+ ((.@mins) ? .@mins +":Minutes " : "") +"till your next reward";
    	}
    end;
    OnPCLogoutEvent:
    	if(@login){
    		set .@i, (gettime(7) * 365 * 24 * 60) + (gettime(8) * 24 * 60) + (gettime(3) * 60) + gettime(2);
    		set #logintimer, .@i - @login + #logintimer;
    		set @login, 0;
    	}
    return;
    end;
    OnInit:
    waitingroom ">->Daily Rewards",0;
    
    
    	//Basic Settings
    	//   1: Item | 2: Points | 4: Exp  
    	//   8: Gain Buffs Every X Consecutive Days logged in
    	//     (a bit value, e.g. 3 = Items & Points from Multi)
    	set .Mode,1 + 2 + 4 + 8;
    
    	//To Enable @ Command '@loginreward' unslash next lines
    	// * Needs extra commands for typos
    	bindatcmd("daily"	,"LOGIN::OnLoginCmnd",0,99);
    
    	//Enable Delay if @afk or @autotrade are available to players
    	//  remove // to enable certain command checks
    	//bindatcmd("at"	,"LOGIN::OnPCLogoutEvent",0,99);
    	//bindatcmd("autotrade"	,"LOGIN::OnPCLogoutEvent",0,99);
    	//bindatcmd("AT"	,"LOGIN::OnPCLogoutEvent",0,99);
    	//bindatcmd("Autotrade"	,"LOGIN::OnPCLogoutEvent",0,99);
    	//bindatcmd("afk"	,"LOGIN::OnPCLogoutEvent",0,99);
    	//bindatcmd("AFK"	,"LOGIN::OnPCLogoutEvent",0,99);
    	
    
    	//Minimum Minuets Between Collecting Daily Reward
    	//   Day: 22*60 - 24*60
    	//   Week: 10080
    	set .MinWait,24*60;
    
    	//Minuets Before Lose Consecutive Daily Reward
    	//   Day: 48*60 - 50*60
    	//   Week: 20160
    	set .MaxWait,3000;
    
    	//Number of mins after logging before collecting prize
    	set .Rest,60;
    
    	//Point Type
    	//   [0] Points earned
    	//   [1] Point name in mes
    	setarray .Points$,"#KAFRAPOINTS","K-Points";
    
    	// Consecutive Days Buff
    	// Each buff contains 4 variables (32 Total Max)
    	// <Type>,<Days>,<Duration>,<Rate>, // Buff 1
    	// <Type>,<Days>,<Duration>,<Rate>, // Buff 2
    	//   ...;
    	//
    	//  Example: 188,7,45,3
    	//    -Every 7th consecutive day logged in Player gains +3 Str for 45 mins
    	//
    	//  Type is 188, which references which SC_ to use, SC_INCSTR in this example
    	//     -For a full list of SC_ visit the db/const.txt
    	//  Days is days buff is applied, in this example 7, so every 7th day, 14,21,28....
    	//  Duration is buff duration is Minuits, in this example 45 mins
    	//  Rate is buff strength, in this example player gains 3 Str
    	//setarray .BuffInfo	,260,2,360,1	// Life Insurance for 360 Mins Every 2nd Day
    				//,198,3,120,10	// +10% Hp for 120 Mins Every 3th Day
    				//,196,5,120,25	// +25 Flee for 120 Mins Every 5th Day
    				//,257,7,240,50;	// +50% Exp for 240 Mins Every 7th Day
    
    	// Daily Prize items (max 128 days):
    	//   "<Zeny>|<Points>|<BaseExp>|<JobExp>|<itemID-1>|<amount-1>|<itemID-2>|<amount-2>...etc", // Day 1
    	//   "<Zeny>|<Points>|<BaseExp>|<JobExp>|<itemID-1>|<amount-1>|<itemID-2>|<amount-2>...etc"  // Day 2
    	//   ...;
    	// Total length of any days string must be 255 or shorter
    	// * If players login longer than the last set
    	//   day, they will keep getting the last prize.
    setarray .Rewards$,
    "0|0|0|0|14232|1", // Day 1: 5 Free Ticket for Kafra Storage
    "0|0|0|0|6090|2", // Day 2: 5 Free Ticket for Kafra Transportation
    "0|0|0|0|7227|15", // Day 3: 1 Battle Manual
    "0|0|0|0|12766|1", // Day 4: 1 JOB Battle Manual
    "0|0|0|0|12210|1", // Day 5: 1 Bubble Gum
    "0|0|0|0|12211|3", // Day 6: 3 Kafra Card
    "0|0|0|0|601|1", // Day 7: ######### 1 Random Box ##########
    "0|0|0|0|11503|50", // Day 8: 50 Siege White Potions
    "0|0|0|0|11504|20", // Day 9: 20 Siege Blue Potions
    "0|0|0|0|12411|1", // Day 10: 1 HE Battle Manual
    "0|0|0|0|12016|5", // Day 11: 5 Speed Potion
    "0|0|0|0|12216|10", // Day 12: 10 LV10 Agil Scroll
    "0|0|0|0|12215|10", // Day 13: 10 LV10 Blessing Scroll
    "0|0|0|0|601|1", // Day 14: ######### 1 Random Box ##########
    "0|0|0|0|12622|1", // Day 15: 1 Boarding Halter
    "0|0|0|0|12214|2", // Day 16: 2 Convex Mirror
    "0|0|0|0|12103|1", // Day 17: 1 Bloody Branch
    "0|0|0|0|6910|1", // Day 18: 1 Enriched Oridecon
    "0|0|0|0|6911|1", // Day 19: 1 Enriched Eluminium
    "0|0|0|0|14003|3", // Day 20: 3 Elite Siege Supply Box
    "0|0|0|0|601|1", // Day 21: ######### 1 Random Box ##########
    "0|0|0|0|6286|1", // Day 22: 1 Gym Pass
    "0|0|0|0|12535|1", // Day 23: 1 Yggdrasil Berry
    "0|0|0|0|12817|3", // Day 24: 3 Old Card Album
    "0|0|0|0|6833|10", // Day 25: 10 Token of Ziegfried
    "0|0|0|0|12261|2", // Day 26: 2 Miracle Medicine
    "0|0|0|0|601|1", // Day 27: ######### 1 IGames Hat ##########
    "0|0|0|0|601|1"; // Day 28: ######### 1 Random Box ##########
     
    setarray .Pic$,
    "Daily_01", //pic with day1 highlighted
    "Daily_02", //pic with day2 highlighted
    "Daily_03", //pic with day3 highlighted
    "Daily_04", //pic with day4 highlighted
    "Daily_05", //pic with day5 highlighted
    "Daily_06", //pic with day6 highlighted
    "Daily_07", //pic with day7 highlighted
    "Daily_08", //pic with day8 highlighted
    "Daily_09", //pic with day8 highlighted
    "Daily_10", //pic with day8 highlighted
    "Daily_11", //pic with day8 highlighted
    "Daily_12", //pic with day8 highlighted
    "Daily_13", //pic with day8 highlighted
    "Daily_14", //pic with day8 highlighted
    "Daily_15", //pic with day8 highlighted
    "Daily_16", //pic with day8 highlighted
    "Daily_17", //pic with day8 highlighted
    "Daily_18", //pic with day8 highlighted
    "Daily_19", //pic with day8 highlighted
    "Daily_20", //pic with day8 highlighted
    "Daily_21", //pic with day8 highlighted
    "Daily_22", //pic with day8 highlighted
    "Daily_23", //pic with day8 highlighted
    "Daily_24", //pic with day8 highlighted
    "Daily_25", //pic with day8 highlighted
    "Daily_26", //pic with day8 highlighted
    "Daily_27", //pic with day8 highlighted
    "Daily_28"; //pic with day8 highlighted
     
    end;
    }

     

    123.png

  2. 		{ MAP_ECLAGE,      110,  39 }, // 35=Eclage
    		{ MAP_INVEK,      161,  168 }, // 38=Invek
    		{ MAP_DARKNESS,      161,  168 }, // 37=Darkness
    		{ MAP_GLEMIOR,      109,  362 }, // 0=Glemior
    		{ MAP_CELL_ARENA,      161,  168 }, // 39=Cell arena
    		{ MAP_CHRYFLD,      161,  168 }, // 40=Chryfld
    	};
    
    
    this is the part of my atcommand.c

     

  3. hi guys i need some help! 

     

    so i add some custom map in my server the map name is Dark_Moon map the files is fine but somehow in my atcommand.c in source file when i recompile it stop there i think its because of "_"?

  4. 18 hours ago, HappyMan said:

    sir im using that event npc and it is 100% working.

    but not working on me sir i tried to use your original script what i edit is just the npc location and the time so i can test it but the problem is the same. it doesnt count how many monster left to advance to round 2 when the player killed all the monster the npc only keep counting how many players left in the devil square

  5. //   Made:By Kirlein (Tyirial Script Concept)  //
    // Devil Square based off the mmorpg Muonline  //
    // Have Fun and feel free to leave suggestions //
    //          Leave This intacted                //
    // +   Translated by Stillhard aka Dewa        //
    // +  Add times for 24 hours of play :P        //
    // +  Add a little bit infos for newbie users  //
    //      Completely rewrite by ~AnnieRuru~      //
    // +  Tested with rAthena 17101                //
    // http://rathena.org/board/topic/77632-devil-square/
    /////////////////////////////////////////////////
    
    geffen,107,148,5	script	Devil Square	100,{
    	mes "[Devil Square Guardian]";
    	mes "Welcome to the entrance door to ^FF0000Devil Square^000000";
    	mes "If you failed or die, the door will be closed and you have to wait until it start to open again";
    	next;
    	if ( select ( "Enter", "Info", "Cancel " ) == 3 ) {
    		mes "[Devil Square Guardian]";
    		mes "See ya";
    		close;
    	}
    	else if ( @menu == 2 ) { // Info
    		mes "[Devil Square Guardian]";
    		mes "There are 3 level monster you'll encounter";
    		mes "Each level the enemies will grow stronger";
    		mes "If you succeded to win all 3 level monster, you'll get the opportunity to open 10 Treasure Box with items, equips, and rare cards inside!!";
    		close;
    	}
    	else if ( .start != 1 ) { // time
    		mes "[Devil Square Guardian]";
    		mes "Devil Square is now closed";
    		mes "It'll be open again at:";
    		mes "00:00 , 02:00 , 04:00 , 06:00"; // display your time here
    		mes "08:00 , 10:00 , 12:00 , 14:00";
    		mes "16:00 , 18:00 , 20:00 , 22:00";
    		close;
    	}
    	else if ( baselevel < 70 || zeny < 20000 ) { // requirement
    		mes "[Devil Square Guardian]";
    		mes "Minimum base level to enter is 70";
    		mes "The registration fee is 20,000z";
    		close;
    	}
    	else if ( .register_num >= .register_limit ) { // room FULL
    		mes "[Devil Square Guardian]";
    		mes "I'm sorry but the Devil Square is FULL";
    		mes "Maximum users to enter is "+ .register_limit +" players";
    		close;
    	}
    	zeny = zeny - 20000;
    	announce strcharinfo(0)+" has entered the Devil Square", bc_npc;
    	percentheal 100,100;
    	warp "ordeal_1-1",183,182;
    	.register_aid[ .register_num ] = getcharid(3);
    	.register_num++;
    	end;
    
    OnInit:
    	.register_limit = 10; // maximum amount of players can play in this event
    	.ann_survive = 30000; // the rate at which announce the players that still survive in devil square, in mili-seconds
    	bindatcmd "devilsquare", strnpcinfo(0)+"::Onatcmd", 99,100;
    	end;
    
    Onatcmd:
    	if ( compare( .@atcmd_parameters$, "on" ) || compare( .@atcmd_parameters$, "start" ) ) {
    		if ( .start )
    			dispbottom "Devil Square Event already started.";
    		else
    			goto L_Start;
    	}
    	else if ( compare( .@atcmd_parameters$, "off" ) || compare( .@atcmd_parameters$, "end" ) ) {
    		if ( !.start )
    			dispbottom "Devil Square Event not yet start.";
    		else
    			goto L_End;
    	}
    	else if ( !.start ) {
    		dispbottom "Devil Square Event is currently not running.";
    		dispbottom "Use "+ .@atcmd_command$ +" on | start to start the event.";
    		dispbottom "Use "+ .@atcmd_command$ +" off | end to end this event";
    	}
    	else if ( .start == 1 )
    		dispbottom "Devil Square Event is currently accepting participations.";
    	else
    		dispbottom "Devil Square Event is currently running. Currently on Round "+ .round +" with "+ .mob +" mobs left.";
    	end;
    
    L_Start:
    OnClock0000: // yeah I know about OnMinute ... it just that more people knows better using OnClock
    OnClock0200:
    OnClock0400:
    OnClock0600:
    OnClock0800:
    OnClock1000:
    OnClock1200:
    OnClock1400:
    OnClock1539:
    OnClock1800:
    OnClock2000:
    OnClock2200:
    	if ( .start ) end;
    	.start = 1;
    	disablenpc "Exit#DS";
    	mapannounce "ordeal_1-1","Devil Square is now closed", bc_map;
    	getmapxy .@map$, .@x, .@y, 1;
    	mapwarp "ordeal_1-1", .@map$, .@x, .@y;
    	killmonsterall "ordeal_1-1";
    	announce "Devil Square is OPENED NOW!! 2 Minutes until it starts..!!", bc_all;
    	sleep 30000;
    	announce "Devil Square will begin in 1 minutes..!!", bc_all;
    	sleep 30000;
    	announce "Devil Square will begin in 1 minutes..!!", bc_all;
    	sleep 30000;
    	announce "Devil Square will begin in 1 minutes..!!", bc_all;
    	sleep 10000;
    	announce "Devil Square will begin in 1 minutes..!!", bc_all;
    	sleep 10000;
    	announce "Devil Square is STARTED NOW !!", bc_all;
    	if ( !.register_num )
    		goto L_End;
    	.start = 2;
    	donpcevent strnpcinfo(0)+"::OnSurvive";
    	.round = 1;
    	.mob = 27;
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] JUGGERNAUT",2399,1,strnpcinfo(0)+"::Ondevildead";
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] TOAD",1089,15,strnpcinfo(0)+"::Ondevildead";
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] MEW",2393,5,strnpcinfo(0)+"::Ondevildead";
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] THANATOS",1708,2,strnpcinfo(0)+"::Ondevildead";
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] HIGH WIZARD",1645,1,strnpcinfo(0)+"::Ondevildead";
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] SANTA PORING",1062,3,strnpcinfo(0)+"::Ondevildead";
    	end;
    
    Ondevildead:
    	.mob--;
    	if ( .mob == 25 || .mob == 5 )
    		announce "Devil Square : "+ .mob +" mobs to enter the 2nd round", bc_map;
    	else if ( .mob == 0 ) {
    		announce "Devil Square will enter to 2nd round", bc_map;
    		goto Ondevil2;
    	}
    	end;
    
    Ondevil2:
    	.round = 2;
    	.mob = 17;
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] JUGGERNAUT",2399,1,strnpcinfo(0)+"::Ondevildead2";
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] MUTANT DRAGONOID",1262,10,strnpcinfo(0)+"::Ondevildead2";
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] SANTA PORING",1062,3,strnpcinfo(0)+"::Ondevildead2";
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] VALKYRIE RANDGRIS",1751,1,strnpcinfo(0)+"::Ondevildead2";
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] LORD KNIGHT",1646,1,strnpcinfo(0)+"::Ondevildead2";
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] HIGH PRIEST",1649,1,strnpcinfo(0)+"::Ondevildead2";
    	end;
    
    Ondevildead2:
    	.mob--;
    	if ( .mob == 25 || .mob == 5 )
    		announce "Devil Square : "+ .mob +" mobs left to enter the 3rd round", bc_map;
    	else if ( !.mob ) {
    		announce "Devil Square will enter to 3rd round", bc_map;
    		goto Ondevil3;
    	}
    	end;
    
    Ondevil3:
    	.round = 3;
    	.mob = 13;
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] JUGGERNAUT",2399,1,strnpcinfo(0)+"::Ondevildead3";
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] ENTWEIHEN CROTHEN",1957,3,strnpcinfo(0)+"::Ondevildead3";
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] BAKONAWA",2409,1,strnpcinfo(0)+"::Ondevildead3";
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] ASSASSIN CROSS EREMES",1647,2,strnpcinfo(0)+"::Ondevildead3";
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] WHITESMITH HARWORD",1648,1,strnpcinfo(0)+"::Ondevildead3";
    	areamonster "ordeal_1-1",183,182,246,244,"[DS] SANTA PORING",1062,5,strnpcinfo(0)+"::Ondevildead3";
    	end;
    
    Ondevildead3:
    	.mob--;
    	if ( .mob == 25 || .mob == 5 )
    		announce "Devil Square : "+ .mob +" mobs left to VICTORY", bc_map;
    	else if ( !.mob ) {
    		announce "Devil Square : CONGRATULATION - 10 Treasure Boxs will be yours now", bc_map;
    		goto Ondevil4;
    	}
    	end;
    
    Ondevil4:
    	.round = 4;
    	.mob = 15;
    	monster "ordeal_1-1",231,250,"Treasure Box",1324,5,strnpcinfo(0)+"::Onboxdead";
    	monster "ordeal_1-1",234,247,"Treasure Box",1328,10,strnpcinfo(0)+"::Onboxdead";
    	end;
    
    Onboxdead:
    	.mob--;
    	announce "Devil Square : "+ strcharinfo(0) +" has opened the treasure box at Devil Square", bc_all;
    	if ( !.mob )
    		goto L_End;
    	end;
    
    L_End:
    	killmonsterall "ordeal_1-1";
    	enablenpc "Exit#DS";
    	deletearray .register_aid;
    	.start = .round = .mob = .register_num = 0;
    	end;
    
    OnPCDieEvent:
    OnPCLogoutEvent:
    	if ( .start && strcharinfo(3) == "ordeal_1-1" ) {
    		while ( .register_aid[.@i] != getcharid(3) && .@i < .register_num ) .@i++;
    		deletearray .register_aid[.@i], 1;
    		.register_num--;
    		if ( !.register_num ) {
    			announce "All players failed to survive at Devil Square", bc_all;
    			killmonsterall "ordeal_1-1";
    			goto L_End;
    		}
    	}
    	end;
    
    OnSurvive:
    	while ( .start == 2 ) {
    		mapannounce "ordeal_1-1", .register_num +" players is still survive at Devil Square", bc_map;
    		sleep .ann_survive;
    	}
    	end;
    }
    
    ordeal_1-1,246,245,7	script	Exit#DS	51,{
    	mes "[Exit]";
    	mes "See ya";
    	next;
    	warp "SavePoint", 0,0 ;
    	close;
    }
    
    ordeal_1-1	mapflag	nowarp
    ordeal_1-1	mapflag	nowarpto
    ordeal_1-1	mapflag	noteleport
    ordeal_1-1	mapflag	nosave	SavePoint
    ordeal_1-1	mapflag	nomemo
    ordeal_1-1	mapflag	nobranch
    ordeal_1-1	mapflag	nopenalty
    ordeal_1-1	mapflag	noicewall

     

     

    i cant trigger round 2 even if all the monster are killed. 6 players survived please help thanks!

  6. On 12/9/2016 at 5:23 PM, Skorm said:

    You're missing a curly at the end?

    
    -	script	kjbfksjhfkd	-1,{
    OnPCKillEvent:
    	if (killerrid != getcharid(3))
    		if (( agitcheck() || agitcheck2() ) && compare(strcharinfo(3),"g_cas"))
    			getitem 512,3;
    	end;
    }

     

    it works now! thank you scorm and emistry! :)

  7. 8 hours ago, Emistry said:

    sometime it's good thing if you did check the previous edited post.

    
    compare(strcharinfo(3),"cas_g")

    has been fixed to

    
    compare(strcharinfo(3),"g_cas")

     

    thanks for reply emisty! but still player cant get any items when they killed someone during war of emperium :(

     

    321.png

    i also tried this  one but its not working

    -	script	kjbfksjhfkd	-1,{
    OnPCKillEvent:
    	if (killerrid != getcharid(3)) {
    		if (( agitcheck() || agitcheck2() ) && compare(strcharinfo(3),"g_cas")) {
    			getitem 512,3;
    		}
        }
        end;

     

  8. On 11/25/2016 at 3:16 AM, Omnipotent said:

    Just replace 

    
    bindatcmd("autopot",strnpcinfo(0)+"::OnCommand");

    with

    
    bindatcmd("autopot",strnpcinfo(0)+"::OnCommand",1);

     

    the first comment works sir! thank you very much! i forgot to reload hahaha!

     

    btw sir can you make it autopotion detect SP too? because euphys autopotion only detects HP. can you make it for SP too? so champion's asura can spam ^_^ 

     

    THANK YOU VERY MUCH for the help!

  9. this is the script i used on my server. i hope it help you! 

     

     

    invek,174,141,5	script	Ca Seller	100,{
        mes "Welcome to card seller ... meh lazy to say";
        next;
        if ( select ( "Normal Cards", "Mini-boss Cards", "MVP Cards" ) == 1 ) {
            .@s = select( .alphabet_menu$ ) -1;
            close2;
            callshop "card_mob#"+ .alphabet$[.@s], 1;
            end;
        }
        close2;
        callshop "card_mob#"+( ( @menu == 2 )? "miniboss":"MVP" ), 1;
        end;
    OnInit:
        freeloop 1;
        .@total = query_sql("select distinct left( name_japanese, 1 ) as aaa from item_db right join mob_db on item_db.id = mob_db.dropcardid where ~mode & 32 and type = 6 group by name_japanese order by aaa", .alphabet$ );
        for ( .@i = 0; .@i < .@total; .@i++ ) {
            .alphabet_menu$ = .alphabet_menu$ + .alphabet$[.@i] +" Cards:";
            .@nb = query_sql( "select item_db.id from item_db right join mob_db on item_db.id = mob_db.dropcardid where ~mode & 32 and type = 6 and left( name_japanese, 1 ) = '"+ .alphabet$[.@i] +"' group by name_japanese order by name_japanese limit 128", .@id );
            npcshopdelitem "card_mob#"+ .alphabet$[.@i], 501;
            for ( .@j = 0; .@j < .@nb; .@j++ )
                npcshopadditem "card_mob#"+ .alphabet$[.@i], .@id[.@j], 1000000;
        }
        .@nb = query_sql( "select item_db.id from item_db right join mob_db on item_db.id = mob_db.dropcardid where mode & 32 and type = 6 and mexp = 0 group by item_db.id order by name_japanese limit 128", .@id );
        npcshopdelitem "card_mob#miniboss", 501;
        for ( .@i = 0; .@i < .@nb; .@i++ )
            npcshopadditem "card_mob#miniboss", .@id[.@i], 1000000;
        npcshopdelitem "card_mob#miniboss", 4147; // lol ... ok me lazy already
        .@nb = query_sql( "select item_db.id from item_db right join mob_db on item_db.id = mob_db.dropcardid where mode & 32 and type = 6 and mexp != 0 group by item_db.id order by name_japanese limit 128", .@id );
        npcshopdelitem "card_mob#MVP", 501;
        for ( .@i = 0; .@i < .@nb; .@i++ )
            npcshopadditem "card_mob#MVP", .@id[.@i], 1000000;
        freeloop 0;
        end;
    }
    -	shop	card_mob#A	-1,501:1000
    -	shop	card_mob#B	-1,501:1000
    -	shop	card_mob#C	-1,501:1000
    -	shop	card_mob#D	-1,501:1000
    -	shop	card_mob#E	-1,501:1000
    -	shop	card_mob#F	-1,501:1000
    -	shop	card_mob#G	-1,501:1000
    -	shop	card_mob#H	-1,501:1000
    -	shop	card_mob#I	-1,501:1000
    -	shop	card_mob#J	-1,501:1000
    -	shop	card_mob#K	-1,501:1000
    -	shop	card_mob#L	-1,501:1000
    -	shop	card_mob#M	-1,501:1000
    -	shop	card_mob#N	-1,501:1000
    -	shop	card_mob#O	-1,501:1000
    -	shop	card_mob#P	-1,501:1000
    -	shop	card_mob#Q	-1,501:1000
    -	shop	card_mob#R	-1,501:1000
    -	shop	card_mob#S	-1,501:1000
    -	shop	card_mob#T	-1,501:1000
    -	shop	card_mob#U	-1,501:1000
    -	shop	card_mob#V	-1,501:1000
    -	shop	card_mob#W	-1,501:1000
    -	shop	card_mob#X	-1,501:1000
    -	shop	card_mob#Y	-1,501:1000
    -	shop	card_mob#Z	-1,501:1000
    -	shop	card_mob#miniboss	-1,501:1000
    -	shop	card_mob#MVP	-1,501:1000

     

  10. //===== rAthena Script =======================================
    //= Auto-Potion
    //===== By: ==================================================
    //= Euphy
    //===== Current Version: =====================================
    //= 1.0
    //===== Compatible With: =====================================
    //= rAthena Project
    //===== Description: =========================================
    //= Provides an @autopot command to automatically use potions
    //= when hit (i.e. 'autobonus2').
    //===== Additional Comments: =================================
    //= 1.0 First version. [Euphy]
    //============================================================
    
    -	script	#autopot	-1,{
    OnInit:
    	bindatcmd("autopot",strnpcinfo(0)+"::OnCommand");
    	end;
    
    L_Help:
    	dispbottom "Available commands:";
    	dispbottom "    @autopot <item id> {<min hp % [1..100]> {<delay [50..1000]>}}";
    	dispbottom "    @autopot <on|off>";
    	dispbottom "    @autopot list";
    	dispbottom "    @autopot info";
    	dispbottom "    @autopot help";
    	return;
    
    L_Info:
    	dispbottom "------ Auto-Potion Information ------";
    	dispbottom "POTION:  " + getitemname(@autopot_id) + " (" + @autopot_id + ")";
    	dispbottom "MIN HP:   " + @autopot_min + " %";
    	dispbottom "DELAY:    " + @autopot_delay + " ms";
    	dispbottom "---------------------------------------------";
    	return;
    
    L_Start:
    	.@potion = getarg(0);
    	.@min    = getarg(1);
    	.@delay  = getarg(2);
    	if (.@min   < 1  || .@min   > 100)  .@min   = 90;
    	if (.@delay < 50 || .@delay > 1000) .@delay = 50;  // lower values will increase server strain
    	switch (.@potion) {
    		case 501:
    		case 507:
    		case 545:
    		case 569: .@effect = EF_POTION1; break;
    		case 502: .@effect = EF_POTION2; break;
    		case 503:
    		case 508:
    		case 546:
    		case 579:
    		case 11500: .@effect = EF_POTION3; break;
    		case 504:
    		case 509:
    		case 547:
    		case 11501:
    		case 11503:
    		case 11548: .@effect = EF_POTION4; break;
    		case 512:
    		case 513:
    		case 515:
    		case 516:
    		case 548:
    		case 549:
    		case 550:
    		case 582:
    		case 607: .@effect = EF_POTION7; break;
    		default: .@effect = EF_EXIT; break;
    	}
    
    	if (BaseLevel < getiteminfo(.@potion,12)) {
    		message strcharinfo(0), "Your base level is too low to use '" + getitemname(.@potion) + "'.";
    		end;
    	}
    
    	@autopot_id    = .@potion;
    	@autopot_min   = .@min;
    	@autopot_delay = .@delay;
    	@autopot_eff   = .@effect;
    	@autopot_none  = 0;
    	bonus_script "{ callfunc \"start_autopot\"; }",86400,8,0,SI_INCHEALRATE;
    
    	message strcharinfo(0), "Auto-Potion started.";
    	callsub L_Info;
    	return;
    
    OnCommand:
    	if (!getarraysize(.@atcmd_parameters$)) {
    		message strcharinfo(0), "Invalid syntax.";
    		callsub L_Help;
    		end;
    	}
    
    	.@command$ = strtolower(.@atcmd_parameters$[0]);
    
    	if (.@command$ == "on") {
    		if (@autopot_min)
    			message strcharinfo(0), "Auto-Potion is already on.";
    		else if (@autopot_min_) {
    			@autopot_min  = @autopot_min_;
    			@autopot_min_ = 0;
    			message strcharinfo(0), "Auto-Potion enabled.";
    			callsub L_Info;
    		} else {
    			message strcharinfo(0), "Auto-Potion has not been set.";
    			callsub L_Help;
    		}
    		end;
    	} else if (.@command$ == "off") {
    		if (!@autopot_min)
    			message strcharinfo(0), "Auto-Potion is already off.";
    		else {
    			@autopot_min_ = @autopot_min;
    			@autopot_min  = 0;
    			message strcharinfo(0), "Auto-Potion disabled.";
    		}
    		end;
    	} else if (.@command$ == "list") {  // credits to AnnieRuru
    		getinventorylist;
    		for (; .@i < @inventorylist_count; .@i++) {
    			if (getiteminfo(@inventorylist_id[.@i],2) == IT_HEALING) {
    				.@items[.@count] = @inventorylist_id[.@i];
    				.@menu$ = .@menu$ + sprintf("~ ^0055FF%s^000000 (%dx):", getitemname(@inventorylist_id[.@i]), countitem(@inventorylist_id[.@i]));
    				.@count++;
    			}
    		}
    		if (.@count) {	// 'mes' window needed if player is hit during selection
    			mes "[ Auto-Potion ]";
    			mes "Select a healing item.";
    			.@select = select(.@menu$ + "   ^777777Cancel^000000") - 1;
    			if (.@select != .@count)
    				callsub L_Start, .@items[.@select], 0, 0;
    			close2;
    		} else
    			message strcharinfo(0), "There are no healing items in your inventory.";
    		end;
    	} else if (.@command$ == "info") {
    		if (@autopot_min) {
    			message strcharinfo(0), "Auto-Potion information is displayed below.";
    			callsub L_Info;
    		} else
    			message strcharinfo(0), "Auto-Potion is not enabled.";
    		end;
    	} else if (.@command$ == "help") {
    		message strcharinfo(0), "List of commands is displayed below.";
    		callsub L_Help;
    		end;
    	} else {
    		.@potion = atoi(.@atcmd_parameters$[0]);
    		if (getiteminfo(.@potion,2) != IT_HEALING) {
    			message strcharinfo(0), getitemname(.@potion) + " is not a healing item.";
    			end;
    		}
    		callsub L_Start, .@potion, atoi(.@atcmd_parameters$[1]), atoi(.@atcmd_parameters$[2]);
    		end;
    	}
    }
    
    function	script	start_autopot	{
    	if (@autopot_active) end;
    	@autopot_active = 1;
    	while (Hp && Hp * 100 / MaxHp < @autopot_min) {
    		if (!countitem(@autopot_id)) {
    			if (@autopot_none <= gettimetick(2)) {
    				@autopot_none = gettimetick(2) + 10;
    				dispbottom "There are no '" + getitemname(@autopot_id) + "' in your inventory.";
    			}
    			break;
    		}
    		if (getstatus(SC_BERSERK) || getstatus(SC_SATURDAYNIGHTFEVER) || getstatus(SC_GRAVITATION) ||
    		    getstatus(SC_TRICKDEAD) || getstatus(SC_HIDING) || getstatus(SC__SHADOWFORM) || getstatus(SC__INVISIBILITY) ||
    		    getstatus(SC__MANHOLE) || getstatus(SC_KAGEHUMI) || getstatus(SC_HEAT_BARREL_AFTER))
    			break;
    		if (getstatus(SC_STONE) || getstatus(SC_FREEZE) || getstatus(SC_STUN) || getstatus(SC_SLEEP))
    			;
    		else {
    			delitem @autopot_id,1;
    			consumeitem @autopot_id;
    			specialeffect2 @autopot_eff;
    		}
    		sleep2 @autopot_delay;
    	}
    	@autopot_active = 0;
    	autobonus2 "{}",10000,1,BF_WEAPON|BF_MAGIC;
    	end;
    }

     

    Hello Guys!  can you help me with my problem? can someone please help me how to make this auto potion works only for group id 1 or higher only? thank you!!

×
×
  • Create New...