Jump to content

Ruhn

Members
  • Posts

    45
  • Joined

  • Last visited

Posts posted by Ruhn

  1. if(.@id == -1) {
    			mes "You are not holding anything in your hand.";
    			close;
    		} else if(!.@allowed){
    			mes "Your item can't be enchanted.";
    			close;
    		} else if(getequiprandomoption(EQI_HAND_R,0,ROA_ID == 0)){
    			mes "Your weapon dont have enchantment!";
    			close;
    		} else if(getequiprandomoption(EQI_HAND_R,0,ROA_ID)){
    			goto DISENCHANT;
    			close;
    		}
    
    
    		DISENCHANT:
    		mes "Do you want to disenchant your " + getitemname(.@id) + "?";
    		next;
    		if(select("Yes, proceed.") == 1){
    			mes "[Enchanter]";
    			mes "Disenchanting Weapon";
    			progressbar "#00FF00",1;
    			next;
    			.@eqi = EQI_HAND_R;
    			.@equip_id = getequipid(.@eqi);
    			.@refine = getequiprefinerycnt(.@eqi);
    			for (.@i = 0; .@i < 4; .@i++)
    				.@card[.@i] = getequipcardid(.@eqi, .@i);
    			delequip .@eqi;
    			getitem2 .@equip_id, 1, 1,.@refine,0,.@card[0],.@card[1],.@card[2],.@card[3];
    			mes "[Enchanter]";
    			mes "Done removing enchantment";
    			close;
    		}
    			close;
    	}

    the script works fine except for this line

    } else if(getequiprandomoption(EQI_HAND_R,0,ROA_ID == 0)){ mes "Your weapon dont have enchantment!"; close;

    idk what to do to make the npc check the item if it dont have any enchantment then it will say that message. Thanks in advance guys

  2. On 4/12/2020 at 6:21 AM, Emistry said:

    try this.

    prontera,155,181,5	script	Sample	4_F_KAFRA1,{
    	
    	for (.@eqi = EQI_SHOES; .@eqi < EQI_HAND_R; .@eqi++) {
    		.@equip_id = getequipid(.@eqi);
    		if (.@equip_id > 0) 
    			.@menu$ = .@menu$ + getitemname(.@equip_id) + " ["+getitemslots(.@equip_id)+"]";
    		.@menu$ = .@menu$ + ":";
    	}
    	mes "Select an equipment.";
    	.@eqi = select(.@menu$) - 1 + EQI_SHOES;
    	mes "Equip: "+getitemname(getequipid(.@eqi));
    	if (.itemid_size) {
    		mes "Required Items:";
    		for (.@i = 0; .@i < .itemid_size; .@i++) {
    			mes " -> "+F_InsertComma(.amount[.@i])+"x "+getitemname(.itemid[.@i]);
    			if (countitem(.itemid[.@i]) < .amount[.@i])
    				.@fail++;
    		}
    	}
    	if (!.@fail) {
    		if (select("Reset Enchantment", "Cancel") == 1) {
    			for (.@i = 0; .@i < .itemid_size; .@i++)
    				delitem .itemid[.@i], .amount[.@i];
    			.@equip_id = getequipid(.@eqi);
    			.@refine = getequiprefinerycnt(.@eqi);
    			for (.@i = 0; .@i < 4; .@i++)
    				.@card[.@i] = getequipcardid(.@eqi, .@i);
    			delequip .@eqi;
    			getitem2 .@equip_id, 1, 1,.@refine,0,.@card[0],.@card[1],.@card[2],.@card[3];
    			mes "Done reset enchant.";
    		}
    	}
    	close;
    	
    	OnInit:
    		setarray .itemid, 501, 502;
    		setarray .amount, 1, 2;
    		.itemid_size = getarraysize(.itemid);
    		end;
    }

     

    @Emistry how to add check on this to make it not process disenchantment when the item is not enchanted ?

    also sorry for bringing up old topics

  3. Is there a way to force close all gstorage via command ?
    we cant fidn a way to fix the bug when someone's gstorage is opened then the player vended and did the @autotrade command.

    Itll bug the gstorage, and when it got bugged the  other member of the guild cant open the gstorage anymore, unless the server restarts.

    I hope someone new a way to fix this problem

  4. 49 minutes ago, Litro Endemic said:

    its because lhz3 and lord of death has it own kill event, i am not sure there is another monster with it own kill event. you can add donpcevent inside kill event lhz3 boss and lord of death to your own mvp announcer so it can trigger too.

    is it possible to just make a seperate script in which we could call for its mobid when killed ? for eg. 
    evrytime mobid:  1140 is killed ( Marduk ) it will announce ?

  5. 1 hour ago, Poring King said:

    You should post here your announcer script 

    Sorry i forgot, but here it is. It comes with MvP points acquisition

     

    OnNPCKillEvent:
    if (getgmlevel() >= .gm ) end; // If gm = event wont happen
    if ( getmonsterinfo( killedrid, MOB_MVPEXP )) {
        for (.@a = 0; .@a < getarraysize(.t_maps$); .@a++) {
        if ( strcharinfo(3) == .t_maps$[.@a]) { 
                if ( getcharid(1) ) {
                    getpartymember getcharid(1), 1;
                    getpartymember getcharid(1), 2;
                    for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {
                        if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { 
                            .@partymemberaid[.@c] = $@partymemberaid[.@i];
                            .@c++;
                        }
                    }
                    if (rand(100) < .chance) getitem .p_rwd[0], .p_rwd[1], .@partymemberaid[ rand( .@c ) ];
                    announce "["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ), bc_all;
                }
                else {
                    if (rand(100) < .chance) getitem .s_rwd[0], .s_rwd[1];
                    announce "["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ), bc_all;
                }
            

            MVPKills = MVPKills+1;
            dispbottom "---------------------------------------------------";
            dispbottom "You killed a total of "+MVPKills+" MVP"+((MVPKills == 1)?"":"s")+".";
            #mvp_points++;
            dispbottom "You've gained one point! Your total is ["+#mvp_points+"] MvP point(s).";
            dispbottom "---------------------------------------------------";
            end;
            }
        }
        if ( strcharinfo(3) == .t_maps$[.@a]) {
        if ( getcharid(1) ) {
            announce "["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ), bc_all;
            } 
            else {
            announce "["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ), bc_all;
            }}
        end;
        }
        

    }
     

  6.  

    On 4/3/2020 at 4:10 AM, Gladius said:

    So yes ...
    You select only the ids of the items that will be announced when dropping...

    I use shapeshifters to avoid unnecessary advertisements.
    Some drops of mob_db items are buggy (too high, or too low), so it's best to select only what you need.

    If you want to advertise any item with a drop greater than or equal to% use the system that Amir Azman said
    that: https://github.com/rathena/rathena/blob/4f11020a4e59704f1909ec615857b6af098b3683/conf/battle/drops.conf#L143

    to advertise items with 1% drop use: 100, 10% = 1000 ...

    sorry for bumping old topic, but where do I edit the lines thats being announced ? 

    eg. Citizens of Midgard, Lady Luck blah blah

  7. 5 minutes ago, kalabasa said:

    try this 

    data/texture/À¯ÀúÀÎÅÍÆäÀ̽ºlogin_interface

    -Rename it to win_make2.bmp

    we change it already the main bg of character making, but the thing above and below it. remained unchanged mate. On the screenshot i provide d thats currently on my client.

  8. Any of you guys where to locate this files ? We were trying to customized our client . We manage to change some but not this.

    Make new character bmp has some parts which we cant locate.
    On the other hand, the select server is entirely unchangable. win_service.bmp doesnt change it

     

    char.PNG

    select server.PNG

  9. What could be the reason of crit effect not showing?

    Damage are increased when doign crit hits its just the red balloon dont show.

     

    This only applies on monsters, any monsters I hit dont have crit balloons while on player it has.

    Is this a client side problem ? I cant seem to find the solution for it

    Im using 20150916 Client

×
×
  • Create New...