Jump to content

Zaon

Members
  • Posts

    60
  • Joined

  • Last visited

Posts posted by Zaon

  1. Hi

     

    Currently, the Land Protector in my server does not work against Meteor Storm, Lord of Vermilion and Storm Gust splash damage.

     

    What do I change so Land Protector will work on splash damage?

     

    I'm using the latest rAthena SVN.

     

    Thanks.

     

    Preview:

     

     

    M8XiqlQ.jpg

     

    UcApcuN.jpg

     

     

  2. You didn't make my edits correctly, forgot to edit this part:

     

    78650d40f0.png

    Ohh damn.

     

    is this part the same as your quote?

    struct item_data *item;
     
    nullpo_retr(ITEM_EQUIP_ACK_FAIL, sd);
     
    item = sd->inventory_data[n];
    

    Nevermind. I fixed it, thank you for pointing out my mistake and helping me :D

     

    Oh sorry, I fixed the problem with the item restrictions but the weight factor is still there. Do you know how to remove it?

  3. Hello.

     

    I used this src edit / npc script that Sehrentos fixed and got it to properly work on my server by changing this line

    -  if (i == EQI_AMMO || i == EQI_COSTUME_TOP || i == EQI_COSTUME_MID || i == EQI_COSTUME_LOW) // Costume item edit
    +  if (i == EQI_AMMO || i == EQI_COSTUME_HEAD_TOP || i == EQI_COSTUME_HEAD_MID || i == EQI_COSTUME_HEAD_LOW) // Costume item edit
    

    My problem is that the items that are turned into costumes still retain their Weight, Level Requirements and Class Restrictions.

     

    I found this fix for rAmod but when I tried to apply it to my server, it returned an error. (see spoiler)

     

    74f91e4e39.png

     

    Anyone know how to fix this?

  4. No problem, the script is working like a charm.

     

    For anyone looking for the 'fixed' script, I'll post it below. Credits to PandaLovesHamster and everyone who worked on this script.

    //Modified by - PandaLovesHamster
    //Custom Guild Limiter
    
    ayothaya,171,144,5	script	Guild Limiter 	833,{
    
    // this part registers the guild
    	function sf {
    		function s;
    		.@a = getarg(2);
    		.@len = getarg(3);
    		return (
    			sprintf( getarg(0),
    				s(.@a, .@len, getarg(1)), s(.@a++, .@len, getarg(1)),
    				s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)),
    				s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), 
    				s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), 
    				s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1))
    			)
    			+(( .@a+1 < .@len )?":Next":":")
    			+(( .@a-11 > 0 )?":Back":":")
    			+":Cancel"
    		);
    		function s {
    			if( getarg(0) >= getarg(1) ) return "";
    			else {
    				.@name$ = getguildname(getelementofarray(getarg(2),getarg(0)));
    				return .@name$=="null"?"":.@name$;
    			}
    		};
    	};
    	function nex { return((getarg(0)+10)<getarg(1)?getarg(0)+10:getarg(1)-(getarg(1)%10)); };
    	function bac { return((getarg(0)-10)>=0?getarg(0)-10:0); };
    
    	if(getgmlevel()>=80 ) {
    		mes .Npc_Name$;
    		mes "Hello Mr. GM what would you like to do?";
    		next;
    		switch( select("Add/Remove Guilds:Clear Guild Data:Player Menu:Cancel") ) {
    			case 1:
    				mes .Npc_Name$;
    				mes "Would you like to add or remove a guild?";
    				.@a_len = getarraysize($App_Guilds);
    				.@format$ = "%s:%s:%s:%s:%s:%s:%s:%s:%s:%s";
    				next;
    				if( select("Remove:Add") == 1 ) {
    					while( .@a != 9999 ) {
    						select( sf( .@format$, $App_Guilds, .@a, .@a_len ) );
    						switch( @menu ) {
    							case 11: .@a = nex( .@a, .@a_len ); break;
    							case 12: .@a = bac( .@a ); break;
    							case 13: end;
    							
    							default:
    								.@select = .@a+@menu-1;
    								mes .Npc_Name$;
    								mes "You've selected ^0000FF["+getguildname($App_Guilds[.@select])+"]^000000 guild. Would you like to remove them from the accepted guilds?";
    								next;
    								if( select("Yes:No") == 1 ) {
    									deletearray($App_Guilds[.@select],1);
    									mes .Npc_Name$;
    									mes "The guild has been removed!";
    								}
    								close;
    						}
    					}
    				} else {
    					mes .Npc_Name$;
    					mes "Please input guild name or masters name.";
    					next;
    					input(.@input$);
    					.@len = query_sql( "Select `guild_id` from `guild` where `name` like '%"+escape_sql(.@input$)+"%' or `master` like '%"+escape_sql(.@input$)+"%';",.@guild_id );
    					while( .@a != 9999 ) {
    						select( sf( .@format$, .@guild_id, .@a, .@len ) );
    						switch( @menu ) {
    							case 11: .@a = nex( .@a, .@len ); break;
    							case 12: .@a = bac( .@a ); break;
    							case 13: end;
    							
    							default:
    								.@select = .@a+@menu-1;
    								.@a_len = getarraysize($App_Guilds);
    								for(.@b=0;.@b<.@a_len;.@b++)
    									if( $App_Guilds[.@b]==.@guild_id[.@select] ) {
    										mes .Npc_Name$;
    										mes "You've selected ^0000FF["+getguildname(.@guild_id[.@select])+"]^000000 guild. I'm sorry but that guild has already been added to the accepted list.";
    										close;
    									}
    								mes .Npc_Name$;
    								mes "You've selected ^0000FF["+getguildname(.@guild_id[.@select])+"]^000000 guild. Would you like to add them to the accepted guilds?";
    								next;
    								if( select("Yes:No") == 1 ) {
    									.@a_len = getarraysize($App_Guilds);
    									if( .@a_len>=128 ) {
    										mes .Npc_Name$;
    										mes "I'm sorry but the accepted list is full please make some room and try again...";
    									} else {
    										mes .Npc_Name$;
    										mes "The guild was successfully added!";
    										$App_Guilds[.@a_len] = .@guild_id[.@select];
    									}
    								}
    								close;
    						}
    					}
    				}
    			case 2:
    				mes .Npc_Name$;
    				mes "Are you sure you want to clear the guild data?!";
    				next;
    				if( select("Yes!:No!")==1 ) {
    					mes .Npc_Name$;
    					mes "This is you last chance. Are you surely sure as sure can be?";
    					next;
    					if( select("Surly!:No, wait... Where am I?!!")==1 )
    						deletearray($App_Guilds);
    				}
    				if( @menu==1 ) {
    					mes .Npc_Name$;
    					mes "The deed is done...";
    				} else {
    					mes .Npc_Name$;
    					mes "Wow that was a close one... Have a nice day!";
    				}
    				close;
    				
    			case 3: break;
    			
    			case 4:
    				mes .Npc_Name$;
    				mes "Alright, have a nice day!";
    				close;
    		}
    	}
    
    	.@len = getarraysize($App_Guilds);
    	for( .@i=0; .@i <= .@len; .@i++ ) {
    		if( getcharid(2) == $App_Guilds[.@i] )
    			set .@Guild_Check, .@Guild_Check+1;
    	}
    
    	
    // This part ejects players when they are in the map 
    	OnPCLoadMapEvent:
    	if( getcharid(2) == $App_Guilds[.@i] ){
    	.count = 0;
    	.@origin = getcharid(3);
    	addrid 3, 0, getcharid(2);
    	if ( strcharinfo(3) == .checkmap$ )
    		.count++;
    	if ( !.@origin ) end;
    	if ( .count > 5 ) { // 5 means only 5 players per guild allowed in a map.
    		message strcharinfo(0), "Your guild members are over the limit";
    		sleep2 1000;
    		warp "SavePoint", 0,0;
    	}
    	}
    	end;
    OnInit:
    	setarray .@checkmap$, "arug_cas01", "arug_cas02", "arug_cas03", "arug_cas04", "arug_cas05", "schg_cas01", "schg_cas02", "schg_cas03", "schg_cas04", "schg_cas05";
    	.@len = getarraysize( .@checkmap$ );
    	for ( .@i = 0; .@i < .@size; .@i++ ) {
    		setmapflag .@checkmap$[.@i], mf_loadevent;
    		setd "."+ .@checkmap$[.@i], 1;
    	}
    	end;
    }
    
    -	script	kjdhfkjshf	-1,{
    OnPCLoadMapEvent:
    	if ( getmapflag( strcharinfo(3), mf_gvg_castle ) && ( agitcheck() || agitcheck2() )) {
    	.@len = getarraysize($App_Guilds);
    	for( .@i=0; .@i <= .@len; .@i++ ) {
    		if( getcharid(2) == $App_Guilds[.@i] )
    			set .@Guild_Check, .@Guild_Check+1;}
    	}
    	if( .@Guild_Check < 1 ) {
    		dispbottom "Your guild has not yet been approved, please contact the GMs";
    		sleep2 3000;
    		warp "SavePoint",0,0;
    		end;
    	}
    	if( !getcharid(2) ) {
    		dispbottom "Sorry only members of a guild may enter a castle.";
    		sleep2 3000;
    		warp "SavePoint",0,0;
    		end;
    	}
    	end;
    OnInit:
    	setarray .castles$[0],
    		"prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05",
    		"payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05",
    		"gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05",
    		"aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05",
    		"arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05",
    		"schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05";
    	for ( .@i = 0; .@i < 30; .@i++ )
    		setmapflag .castles$[.@i], mf_loadevent;
    	end;
    }	
    
  5. Wow! Thank you very much for sharing your script Panda /no1

     

    You forgot to add a right curly here.

    for( .@i=0; .@i <= .@len; .@i++ ) {
    		if( getcharid(2) == $App_Guilds[.@i] )
    			set .@Guild_Check, .@Guild_Check+1;
    

    after .@Guild_Check+1;

     

    and you forgot to add

            sleep2 1500;
    	warp "SavePoint",0,0;
    

    after 

    if( !getcharid(2) ) {
    		dispbottom "Sorry only members of a guild may enter a castle.";
    

    I fixed my side, it works like a charm. Thank you again!

  6. Hello,

     

    I saw a reply on this post about having a guild registration npc.

     

    What does this NPC do exactly?

     

    1. Only admins (GM Level 99) can access this npc.

    2. Guilds can be registered for WoE SE Castles (Arunafeltz and Schwarzwald) by admins manually.

    3. Checks if a guild is registered or not, if not they will be warped out.

    4. Admins can set how many "online members" a guild is allowed to enter the castle, if the "online members" are more than the setting, the guild cannot enter the castle.

     

    I read Stolao's reply but I don't know how to make this script, I've only just begun basic scripting.

     

    I'm also using a script that warps people outside the castle if they don't have a guild.

     

    Here's the script I'm using (I've only added the castle that I'm using [schg_cas03 viblainn])

    -	script	CastleBlocker	-1,{
    OnInit:
    // Add more castle maps here:
    setarray .map$,"prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05","schg_cas03";
    set .map_size,getarraysize(.map$);
    for (.@i = 0; .@i < .map_size; .@i++)
    setmapflag .map$[.@i],mf_loadevent;
    end;
    
    OnPCLoadMapEvent:
    for (.@i = 0; .@i < .map_size; .@i++)
    	if (strcharinfo(3) == .map$[.@i]) {
            if(!getcharid(2)) {
    			mes "Sorry, you are not in a guild!";
    			close2;
    			warp "[email protected]<script data-cfhash='f9e31' type="text/javascript">/*  */</script>",194,208;
    		}
    		break;
    	}
    end;
    }
    
    

    Thanks to anyone who will try to help :)

  7. Nvm, I just made an npc that uses @glvl 16 so they can get e-call themselves.

     

     

    ------------------------------------------------------------------------------------

     

    Hello,

     

    I'm requesting for an NPC that checks if you are in a guild, and if you are the guild master of the guild.

    If you are the guild master, the NPC will give you the following skills:

     

    Approval Lv 1

    Guardian Research Lv 1

    Guild Extension Lv 10

    Battle Orders Lv 1

    Regeneration Lv 1

    Emergency Call Lv 1

     

    I've tried scripting it myself, but it doesn't give me any skills.

    quiz_00,60,14,3	script	Guild Skill Giver	789,{
    
    		.@GID = getcharid(2);
    	
    	mes .npc$;
    	if(!.@GID) {
    			
    			mes "You are not in a guild.";
    			close;
    			
    		}
    	else if (strcharinfo(0) != getguildmaster(.@GID)){
    			mes "You are not a Guild Master.";
    			close;
    			
    		}
    		
    	mes	"You now have Emergency Call.";
    	
    	guildskill 10000,1;
    	guildskill 10004,10;
    	guildskill 10002,1;
    	guildskill 10010,1;
    	guildskill 10011,1;
    	guildskill 10013,1;
    
    		close;
    		end;
    
    	
    
    	
    OnInit:
    	.npc$="[^990000Guild Skill Giver^000000]";
    
    }

    It successfully checks if you are in a guild and if you are the guild master, but it doesn't give me any skills.

     

    I've also tried changing 

            guildskill 10000,1;
    	guildskill 10004,10;
    	guildskill 10002,1;
    	guildskill 10010,1;
    	guildskill 10011,1;
    	guildskill 10013,1;
    
       to
    
            guildskill 10000,1,0;
    	guildskill 10004,10,0;
    	guildskill 10002,1,0;
    	guildskill 10010,1,0;
    	guildskill 10011,1,0;
    	guildskill 10013,1,0;
    

    but it still didn't work.

  8. I'm having problems adding a session onto the controller.

     

    I'm trying to add a session from Wednesday 22:00 till Thursday 00:00 but the menu only allows 22:00 till 23:00.

     

    How do I fix this?

     

    Thanks.

     

    EDIT: I'm using Euphy's WoE Controller

     

    -------------------------------

     

    I "solved" it by changing my server's timezone -12hrs.

  9.  

    Does anyone know how to change default 2nd job sprites into sprites with palettes applied to them?

     

    Cheers.

    you need to recolor the default 2nd job sprites by itself and replace the old with recolored.

     

    Is this the only way? Also thank you for your help !

  10. The fields are in a different order with 3ceam.

     

    In rAthena, it goes head_bottom, robe, last_map, etc

    In 3ceam, it goes head_bottom, last_map, rename, delete_date, robe, etc

     

    Either re-arrange the fields in the table, or delete the whole table and start over with rAthena's.

     

    Ohh thanks. I'll try this

  11. # Stat points for non-trans classes: 1273
    UPDATE `char` SET `status_point` = 1273 WHERE `base_level` > 99 AND ((`class` > 4001) OR (`class` > 4022 AND `class` < 4060) OR (`class` > 4065 AND `class` < 4072) OR (`class` > 4095));
    
    # Stat points for trans classes: 1325
    UPDATE `char` SET `status_point` = 1325 WHERE `base_level` > 99 AND `status_point` != 1273;
    
    # Lower level and reset stats
    UPDATE `char` SET `base_level` = 99, `str` = 1, `agi` = 1, `vit` = 1, `int` = 1, `dex` = 1, `luk` = 1 WHERE `base_level` > 99;

     

    Will this work for 3rd job classes? (Trans to 3rd job)

×
×
  • Create New...