Jump to content

Emistry

Forum Moderator
  • Posts

    10013
  • Joined

  • Days Won

    395

Posts posted by Emistry

  1. On 1/10/2023 at 7:42 AM, system9 said:

    EQI_MAX

    ensure your server have exported this constant to be allowed to use by script engine

    On 5/22/2023 at 8:42 PM, playniks said:

    how to make your creation possible for only Headgear costumes (upper, mid and low) only?

    may try configure the card/enchant equip location 

    On 2/10/2024 at 1:09 AM, Westin said:

    It's possible rent a enchat on item?

    rental item are only meant for item itself, not compounding items like enchant/card

  2. you aren't using the script which I have updated for you in the earlier post.

    prontera,146,171,6	script	Portal Square	89,{
    	.@n$ = "[^3355FF Portal Square ^000000]";
    	.@party_id = getcharid(1);
    	.@p_name$ = getpartyname(.@party_id);
    	.@instance$ = "Portal Square";
    
    	if (!.@party_id || getcharid(0) != getpartyleader(.@party_id, 2)) {
    		mes .@n$;
    		mes "In able to enter the Portal Square, you must have a party.";
    		close;
    	}
    	mes .@n$;
    	mes "Portal Square is available everyday for 1 hour and 30 minutes.";
    	mes "Remember, the room and everything inside including boss chamber and other resources, watch out for enemies as well since the room are pk free.";
    	next;
    	switch(select("Enter the Room:Cancel")) {
    		case 1:
    			switch(instance_enter("Portal Square")) {
    				case 3:
    					mes .@n$;
    					mes "You doesn't have a party.";
    					close;
    				case 2:
    					mes .@n$;
    					mes "You can enter the room after making a party.";
    					end;
    			}
    			break;
    		case 2:
    			mes .@n$;
    			mes "Have a nice day then, see you later!.";
    			break;
    	}
    	close;
    }
    
    //==================================================================================
    //--------|Map Flags|---------------------------------------------------------------
    //==================================================================================
    
    prt_maze01	mapflag	monster_noteleport
    prt_maze01	mapflag	nowarpto
    prt_maze01	mapflag	nomemo
    prt_maze01	mapflag	noteleport
    prt_maze01	mapflag	nosave SavePoint
    prt_maze01	mapflag	nopenalty
    prt_maze01	mapflag	pvp

     

    • Love 1
  3. prontera,146,171,6	script	Portal Square	89,{
    	.@n$ = "[^3355FF Portal Square ^000000]";
    	.@party_id = getcharid(1);
    	.@p_name$ = getpartyname(.@party_id);
    	.@instance$ = "Portal Square";
    
    	if (getcharid(0) != getpartyleader(.@party_id,2)) {
    		mes .@n$;
    		mes "In able to enter the Portal Square, you must have a party.";
    		close
    	}
    	mes .@n$;
    	mes "Portal Square is available everyday for 1 hour and 30 minutes.";
    	mes "Remember, the room and everything inside including boss chamber and other resources, watch out for enemies as well since the room are pk free.";
    	next;
    	switch(select("Enter the Room:Cancel")) {
    		case 1:
    			switch(instance_enter("Portal Square")) {
    				case 3:
    					mes .@n$;
    					mes "You doesn't have a party.";
    					close;
    				case 2:
    					mes .@n$;
    					mes "You can enter the room after making a party.";
    					end;
    			}
    			break;
    		case 2:
    			mes .@n$;
    			mes "Have a nice day then, see you later!.";
    			break;
    	}
    	close;
    }
    
    //==================================================================================
    //--------|Map Flags|---------------------------------------------------------------
    //==================================================================================
    
    prt_maze01	mapflag	monster_noteleport
    prt_maze01	mapflag	nowarpto
    prt_maze01	mapflag	nomemo
    prt_maze01	mapflag	noteleport
    prt_maze01	mapflag	nosave SavePoint
    prt_maze01	mapflag	nopenalty
    prt_maze01	mapflag	pvp

    remove unnecessary brackets

    • Love 1
  4. On 1/24/2024 at 9:54 PM, PsyOps said:

    Is there an existing script_command that will allow me to produce the value '2' as it includes reward 1 and 2.

    that's not how bitmask work.

    dont want it work this way? then change the whole thing, and not to use bitmask.

     

    .RewardList = 1|2; // include only reward 1 and 2

    using bitmask, this is the way to get reward 1 and 2.

     

    • Upvote 1
  5. On 1/28/2024 at 9:59 PM, Scofield said:

    I would like to implement the feature of receiving drop bonuses while the PK mode is active

    find these line in mob.cpp

    	// Cap it to 100%
    	drop_rate = min( drop_rate, 10000 );

    change to

    	if (sd->state.pvpmode)
    		drop_rate += 100; // final drop rate increment by 1.00%
    	
    	// Cap it to 100%
    	drop_rate = min( drop_rate, 10000 );

     

    • MVP 1
  6. may try change

    
            for (set .@i,0; .@i<=$avthana_countusers; set .@i, .@i+1 ) {
                if ($avthana_winnerparty$!=$avthana_mapusers$[.@i] && $avthana_winnerparty$!=getpartyname(getcharid(1,$avthana_mapusers$[.@i]))) {
                    getmapxy(.@mapname$,.@mapx,.@mapy,BL_PC,$avthana_mapusers$[.@i]);
                    if (.@mapname$=="thana_boss") charcommand "#return "+$avthana_mapusers$[.@i];
                }
                // Get rid of the data at the same time!
                set $avthana_mapusers$[.@i],"";
            }

    into

    for (set .@i, 0; .@i <= $avthana_countusers; set .@i, .@i + 1) {
    	// party name matched
    	if ($avthana_winnerparty$ == $avthana_mapusers$[.@i]) 
    		continue;
    	
    	// player not found
    	if (getmapxy(.@mapname$, .@mapx, .@mapy, BL_PC, $avthana_mapusers$[.@i])) 
    		continue;
    	
    	// party name matched
    	if ($avthana_winnerparty$ != getpartyname(getcharid(1, $avthana_mapusers$[.@i]))) {
    		if (.@mapname$ == "thana_boss") 
    			charcommand "#return "+$avthana_mapusers$[.@i];
    	}
    	
    	// Get rid of the data at the same time!
    	set $avthana_mapusers$[.@i],"";
    }

     

  7. agitstart(...) and agitcheck(...) are both different script command for different purpose.

    
    *agitstart;
    *agitend;
    *agitstart2;
    *agitend2;
    *agitstart3;
    *agitend3;
    
    These commands will start and end War of Emperium FE, War of Emperium SE,
    or War of Emperium TE.
    
    This is a bit more complex than it sounds, since the commands themselves won't
    actually do anything interesting, except causing all 'OnAgitStart:' and
    'OnAgitEnd:', 'OnAgitStart2:' and 'OnAgitEnd2:', or 'OnAgitStart3:' and
    'OnAgitEnd3:' in the case of latter two commands, events to run everywhere,
    respectively. They are used as  simple triggers to run a lot of complex scripts
    all across the server, and they, in turn, are triggered by clock with an
    'OnClock<time>:' time-triggering label.
    *agitcheck()
    *agitcheck2()
    *agitcheck3()
    
    These function will let you check whether the server is currently in WoE:FE mode
    (agitcheck()), WoE:SE mode (agitcheck2()), or WoE:TE mode (agitcheck3()) and will
    return true if War of Emperium is on and false if it isn't.

     

  8. prontera,155,181,5	script	Sample	757,{
    	mes "Enter character ID to move it to your account.";
    	input .@value;
    	query_sql("SELECT `account_id`, `char_id` FROM `char` WHERE `char_id` = "+.@value, .@aid, .@cid);
    	
    	if (!.@aid || !.@cid) {
    		mes "Character doesn't exists.";
    		close;
    	}
    	
    	if (isloggedin(.@aid)) {
    		mes "That account is logged in, please log off.";
    		close;
    	}
    	
    	query_sql("SELECT COUNT(1) FROM `char` WHERE `account_id` = "+getcharid(3), .@total_char);
    	if (.@total_char >= 3) {
    		mes "Your account already have more than 3 characters.";
    		close;
    	}
    	
    	query_sql("UPDATE `char` SET `account_id` = "+getcharid(3)+" WHERE `char_id` = "+.@cid);
    	mes "Updated, please relog to see your new character.";
    	close;
    }

     

  9. function	script	add_numbers	{
    	.@number_1 = getarg(0, 0);
    	.@number_2 = getarg(1, 0);
    	query_sql("INSERT INTO `table` (`value1`, `value2`) VALUES ("+.@number_1+", "+.@number_2+")");
    	return (.@number_1 + .@number_2);
    }
    @sum = callfunc("add_numbers", 100, 200);

    .

  10. if you want to adjust the damage of a skill, you will have to adjust the formula for skill damage calculation, and it affect everything monsters, not only MVP.

    if you want to decrease the damage received by MVP, maybe consider to change the DamangeTaken field in mob_db

  11. 1 hour ago, GM Winter said:

    hello sir where will i put this i try to insert it but i always got error

    I have updated the provided code, and the script only have one part that used to display the menu, should at least try amend it instead of keep asking for spoonfeed and saying error without provide any details.

     

    8 minutes ago, Rynbef said:

    The version I previously uploaded is already modified.

    this version isn't recommended because there is a small bug where it skip items when attempt to generate the menu, causing wrong item index.

    • Like 1
×
×
  • Create New...