Jump to content

cahadeyelo

Members
  • Posts

    170
  • Joined

  • Last visited

Posts posted by cahadeyelo

  1. Can someone turn my script into payable triggered Poring Catcher Event.

     

    -	script	Poring Catcher Event	-1,{
    
    OnClock0010:
    OnClock0110:
    OnClock0210:
    OnClock0310:
    OnClock0410:
    OnClock0510:
    OnClock0610:
    OnClock0710:
    OnClock0810:
    OnClock0910:
    OnClock1010:
    OnClock1110:
    OnClock1210:
    OnClock1310:
    OnClock1410:
    OnClock1510:
    OnClock1610:
    OnClock1710:
    OnClock1810:
    OnClock1910:
    OnClock2010:
    OnClock2110:
    OnClock2210:
    OnClock2310:
    	mapwarp "pvp_n_1-2.gat","prontera",155,182;
    	announce "Poring Catcher Event starts in a minute.",0,0xFFA500;
    	killmonsterall "pvp_n_1-2";
    	setmapflag "pvp_n_1-2",mf_noskill;
    	setmapflag "pvp_n_1-2",mf_nocommand,2;
    	sleep2 60000;
    	set .Spawn,10;
    	monster "pvp_n_1-2",0,0,"Poring",1002,.Spawn,"Poring Catcher Event::OnMobKilled";
    	monster "pvp_n_1-2",0,0,"Poning",1002,30,"Poring Catcher Event::OnMobLose";
    	monster "pvp_n_1-2",0,0,"Poirng",1002,10,"Poring Catcher Event::OnMobLose";
    	monster "pvp_n_1-2",0,0,"Porings",1002,10,"Poring Catcher Event::OnMobLose";
    	monster "pvp_n_1-2",0,0,"Porlng",1002,10,"Poring Catcher Event::OnMobLose";
    	monster "pvp_n_1-2",0,0,"Porring",1002,10,"Poring Catcher Event::OnMobLose";
    	monster "pvp_n_1-2",0,0,"Porong",1002,10,"Poring Catcher Event::OnMobLose";
    	monster "pvp_n_1-2",0,0,"Pirong",1002,10,"Poring Catcher Event::OnMobLose";
    	announce "Poring(s) have been spawned in pvp_n_1-2.",0,0xFFA500;
    	initnpctimer;
    	end;
    
    OnTimer60000:
    	if(getmapusers("pvp_n_1-2") == 0){
    	announce "Poring Catcher Event has ended.",0,0xFFA500;
    	killmonsterall "pvp_n_1-2";
    	stopnpctimer;
    	end;
    	}
    	if(mobcount("pvp_n_1-2","Poring Catcher Event::OnMobKilled")== 1) {
    	announce "There is "+.Spawn+" Poring left in pvp_n_1-2.",0,0xFFA500;
    	initnpctimer;
    	end;
    	}
    	announce "There are "+.Spawn+" Poring(s) left in pvp_n_1-2.",0,0xFFA500;
    	initnpctimer;
    	end;
    
    OnMobKilled:
    	set .Spawn, .Spawn - 1;
    	set #CASHPOINTS,#CASHPOINTS + 1;
    	dispbottom "Gained : 1 Point(s). Total : "+ #CASHPOINTS +" RoK Point(s).";
    	warp "prontera",155,182;
    	if (.Spawn) announce "[ "+strcharinfo(0)+" ] has killed a Poring. There's still "+.Spawn+" Poring(s) left.",bc_map,0xFFA500;
    	else {
    		announce "Poring Catcher Event has ended. All the Poring(s) has been killed.",0,0xFFA500;
    		removemapflag "pvp_n_1-2",mf_noskill;
    		removemapflag "pvp_n_1-2",mf_nocommand,2;
    		stopnpctimer;
    	}
    	end;
    
    OnMobLose:
    	warp "prontera",155,182;
    	end;
    }

     

  2. how can i fix this script that it'll only give the item #30004 to the first player that completed his/her 3 minutes of staying ingame after my server launching.

    -	script	SGH_POINTS	-1,{
    
    OnPCLoginEvent:
    	addtimer 60000,"SGH_POINTS::OnSghGet";
    	end;
        
    OnSghGet:
    	getmapxy( .@new$, .@x, .@y, 0 );
    	if( .@new$ == "new_1-1" ) {
    	set SGH_MINUTE_P, SGH_MINUTE_P + 1;
    	dispbottom "Gained : 1 Point(s). Total : "+SGH_MINUTE_P+" Minute(s).";
    	}
    	if ( SGH_MINUTE_P == 3 ){
    	getitem 30004,1;
    	$sghreward = 1;
    	end;
    	}
    	addtimer 60000,"SGH_POINTS::OnSghGet";
    	end;
    
    OnInit:
    	if ($sghreward = 1) end;
    }

     

  3. On 12/11/2016 at 5:26 AM, Tokei said:

    It's easier to create custom script commands (it is more reliable than using SQL and it is faster). Plus, you'll be able to have more freedom if you want to add more guild options:

    
    script.c
    
    /*==========================================
     *------------------------------------------*/
    BUILDIN_FUNC(getguildinfo)
    {
    	struct guild *g = NULL;
    	int result = 0;
    
    	if ((g = guild_search(script_getnum(st,2))) != NULL) {
    		int type = script_getnum(st,3);
    
    		switch(type) {
    			case 0:
    				result = g->guild_lv;
    				break;
    			case 1:
    				result = g->connect_member;
    				break;
    			case 2:
    				script_pushstrcopy(st, g->name);
    				return SCRIPT_CMD_SUCCESS;
    			//case 3:
    			//  etc...
    			//	break;
    			default:
    				ShowError("buildin_getguildinfo: unknown type '%d'.\n", type);
    				script_pushint(st, 0);
    				return SCRIPT_CMD_FAILURE;
    		}
    	}
    
    	script_pushint(st, result);
    	return SCRIPT_CMD_SUCCESS;
    }
    
    def method:
    BUILDIN_DEF(getguildinfo,"ii"),

     

    Recompile your server, then your event would be:

    
    OnPCLoadMapEvent:
    	if (getmapflag(strcharinfo(3), mf_gvg_castle)) {
    		.@guild_id = getcharid(2);
    		
    		if (BaseLevel < 175 || .@guild_id == 0 || getguildinfo(.@guild_id, 0) < 43 || getguildinfo(.@guild_id, 1) < 7) {
    			dispbottom "[ Server ]: You don't have a guild or your Base Level isn't high enough.", 0x00ff00;
    			warp "prontera", 155, 182;
    		}
    	}
    	
    	end;

     

    sir can you extend the src code you made and add  the total castle count of a guild

  4. Just want to request a script or code that will help this script to give to the kriemhild guild leader owner the item ID# 7146's amount depends on how many castles they're owned.

    SIEGE_P:
    	set @GID,getcharid(2);
    	set .@GID, GetCastleData("prtg_cas01",1);
    	set .Map$,"prtg_cas01";
    	if ( agitcheck() ){ message strcharinfo(0), "You can't get any guild profit if there's a war."; end; }
    	if ( SIEGEPOINTS < 1 ){ message strcharinfo(0), "You don't have any Siege Point(s)."; end; }
    	if ( MaxWeight <= Weight * 2 ){ message strcharinfo(0), "You can't get any profit if you're over weight."; end; }
    	if ( @inventorylist_count > 95 ){ message strcharinfo(0), "Remove some of your inventory item(s) to get your profit."; end; }
    	if( strcharinfo(0) == getguildmaster( getcastledata( .Map$,1 ) ) ){
    	getitem 7146,10;
    	getitem 30004,SIEGEPOINTS*100;
    	set SIEGEPOINTS,0;
    	end;
    	}
    }

     

  5. Can i request a script that restricting them to go inside the castle if the online guild members are below 7.

    -	script	woe_restriction	-1,{
    
    OnPCLoadMapEvent:
    	query_sql "SELECT guild_lv FROM guild WHERE guild_id = "+getcharid(2), .@guild_lv;
    	if( getmapflag(strcharinfo(3),mf_gvg_castle)){ if((BaseLevel < 175) || (getcharid(2) == 0) || (.@guild_lv < 43) ) { warp "prontera",155,182; dispbottom "[ Server ]: You doesn't have a guild or you don't have enough Base Level."; } }
    	end;
    }
    aldeg_cas01	mapflag	loadevent
    aldeg_cas02	mapflag	loadevent
    aldeg_cas03	mapflag	loadevent
    aldeg_cas04	mapflag	loadevent
    aldeg_cas05	mapflag	loadevent
    gefg_cas01	mapflag	loadevent
    gefg_cas02	mapflag	loadevent
    gefg_cas03	mapflag	loadevent
    gefg_cas04	mapflag	loadevent
    gefg_cas05	mapflag	loadevent
    payg_cas01	mapflag	loadevent
    payg_cas02	mapflag	loadevent
    payg_cas03	mapflag	loadevent
    payg_cas04	mapflag	loadevent
    payg_cas05	mapflag	loadevent
    prtg_cas01	mapflag	loadevent
    prtg_cas02	mapflag	loadevent
    prtg_cas03	mapflag	loadevent
    prtg_cas04	mapflag	loadevent
    prtg_cas05	mapflag	loadevent
    schg_cas01	mapflag	loadevent
    schg_cas02	mapflag	loadevent
    schg_cas03	mapflag	loadevent
    schg_cas04	mapflag	loadevent
    schg_cas05	mapflag	loadevent
    arug_cas01	mapflag	loadevent
    arug_cas02	mapflag	loadevent
    arug_cas03	mapflag	loadevent
    arug_cas04	mapflag	loadevent
    arug_cas05	mapflag	loadevent
    nguild_alde	mapflag	loadevent
    nguild_gef	mapflag	loadevent
    nguild_pay	mapflag	loadevent
    nguild_prt	mapflag	loadevent

     

  6. i've created this custom shield 

    30562,Arcana_Valkyrie_Shield,Arcana Valkyrie Shield,4,,,1000,,5,,1,0xFFFFFFFF,63,2,32,,1,1,1,{},{},{}

    but some of royal guard skills don't work that needs a shield if i used my custom shield...why?

  7. why my script keeps adding up points even there's no war in progress?

     

    -	script	Siege Points	-1,{
    
    OnPCLoginEvent:
    	attachnpctimer ""+strcharinfo(0)+"";
    	initnpctimer;
    	end;
    	
    OnTimer60001:
    	if(checkvending() >= 1) {
    	dispbottom "The Siege Point(s) stopped because you were vending. Please relog if you wish to start again.";
    	stopnpctimer;
    	end;
    	}
    	getmapxy( .@map$, .@x, .@y, 0 );
    	if(@map$ == .@map$ && @x == .@x && @y == .@y) {
    	set @afk, @afk + 1;
    	}
    	else {
    	set @afk, 0;
    	}
    	set @map$, .@map$; set @x, .@x; set @y, .@y;
    	if(@afk == 5) {
    	dispbottom "The Siege Point(s) stopped because you were idle for 5 minutes. Please relog if you wish to start again.";
    	stopnpctimer;
    	end;
    	}
    
    OnTimer60002:
    	getmapxy( .@woe$, .@x, .@y, 0 );
    	if( agitcheck() || .@woe$ == "prtg_cas01" ) {
    	set SIEGEPOINTS,SIEGEPOINTS + 1;
    	dispbottom "Gained : 1 Point(s). Total : "+ SIEGEPOINTS +" Siege Point(s).";
    	}
    	if( !agitcheck() || .@woe$ == "prtg_cas01" ) {
    	stopnpctimer;
    	end;
    	}
    	getmapxy( .@map$, .@x, .@y, 0 );
    	if(.@map$ == "sec_pri") {
    	dispbottom "The Siege Point(s) was disabled in Jail.";
    	stopnpctimer;
    	end;
    	}
    	if(@map$ == .@map$ && @x == .@x && @y == .@y) {
    	set @afk, @afk + 1;
    	stopnpctimer;
    	initnpctimer;
    	end;
    	}
    }

     

  8. Why everytime we used the Card Remover, the compounded bound card will turned into non bounded?

    prt_in,28,73,4	script	Wise Old Woman#0	78,{
    
    	.@weight = 100 * Weight / MaxWeight;
    	if (90 <= .@weight) {
    	mes "[ Wise Old Woman ]";
    	mes "You're currently at ^FF0000" + .@weight + "%^000000 of your maximum weight.";
    	next;
    	mes "[ Wise Old Woman ]";
    	mes "Please remove some items before claiming it.";
    	close; }
    	getinventorylist;
    	if( @inventorylist_count > 50 ){
    	mes "[ Wise Old Woman ]";
    	mes "Your inventory slot is getting full, please remove some items before claiming it.";
    	close; }
    	mes "[ Wise Old Woman ]";
    	mes "Okay I'm going to remove the card(s) to your equipment now and you need a ^3355FFStar Crumb^000000, ^3355FFYellow Gemstone^000000 and ^3355FF100,000^000000z.";
    	next;
    	setarray .@indices[1], EQI_HEAD_TOP, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_MID, EQI_HEAD_LOW;
    		for(set .@i,1; .@i<=10; set .@i,.@i+1) {
    		if (getequipisequiped(.@indices[.@i])) {
    			set .@menu$, .@menu$ + F_getpositionname(.@indices[.@i]) + " - [ " + getequipname(.@indices[.@i]) + " ]";
    			set .@equipped,1;
    		}
    		set .@menu$, .@menu$ + ":";
    	}
    		set .@part, .@indices[ select(.@menu$) ];
    		if(!getequipisequiped(.@part)) {
    			mes "[ Wise Old Woman ]";
    			mes "Young one... Your not wearing anything there that I can remove cards from.";
    			close;
    		}
    		if(getequipcardcnt(.@part) == 0) {
    			mes "[ Wise Old Woman ]";
    			mes "Young one... There's no card(s) compounded on that item. I can do nothing with it, I'm afraid.";
    			close;
    		}
    		set .@cardcount,getequipcardcnt(.@part);
    	if ( countitem(1000) < 1  || countitem(715) < 1 ) { close; }
    	if ( Zeny < 100000) { close; }
    	delitem 1000,1;
    	delitem 715,1;
    	set Zeny,Zeny - 100000;
    	successremovecards .@part;
    	end;
    }
    
  9. i tried your codes, now it gives me error on line 10 and 20

    -	script	orc_face	-1,{
    
    OnInit:
    	setitemscript 601,"{ if ( !@orc_face ) itemskill \"AL_TELEPORT\",1; }";
    	setitemscript 602,"{ if ( !@orc_face ) itemskill \"AL_TELEPORT\",3; }";
    	end;
    
    OnPCKillEvent:
    	if( baselevel < 175 || killedrid == getcharid(3) || getstatus( SC_ORCISH ) ) { end; }
    	if( getcharip() == getcharip(name2rid(killedrid)) ) { end; }
    	if( !getstatus(SC_ORCISH,0,getcharid(0,rid2name(killedrid))) ) { sc_start SC_ORCISH,60000,10,10000,SCSTART_NOTICKDEF,killedrid; set @orc_face, @orc_face + 1, getcharid(0,rid2name(killedrid)); }
    	set FAMEPOINTS,FAMEPOINTS + 1;
    	dispbottom "Gained : "+ 1 +" Point(s). Total : "+ FAMEPOINTS +" Fame Point(s).";
    	end;
    	
    OnPCDieEvent:
    	@orc_face = 0;
    	sc_end SC_ORCISH;
    	if( baselevel < 175 || killerrid == getcharid(3) || killerrid > 2999999 || killerrid == NULL ) { end; }
    	if( getcharip() == getcharip(name2rid(killedrid)) ) { end; }
    	set KARMAPOINTS,KARMAPOINTS + 1;
    	dispbottom "Gained : "+ 1 +" Point(s). Total : "+ KARMAPOINTS +" Karma Point(s).";
    	end;
    }
    
    
×
×
  • Create New...