Jump to content

RCharles

Members
  • Posts

    154
  • Joined

  • Last visited

Posts posted by RCharles

  1. @Emistry

    I will try it asap...

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

    is killerrid in mob = monsterid?

    Do you have the suggestion on what should it be?

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

    Using this:

    dispbottom "You have been killed by "+killerrid+".";

    im killed by a poring. then the poring killerrid is 110012049

  2. You could always use this feature o_o https://rathena.svn....battle/exp.conf

    // When a player dies, how should we penalize them?
    // 0 = No penalty.
    // 1 = Lose % of current level when killed.
    // 2 = Lose % of total experience when killed.
    death_penalty_type: 1
    // Base exp. penalty rate (Each 100 is 1% of their exp)
    death_penalty_base: 100
    // Job exp. penalty rate (Each 100 is 1% of their exp)
    death_penalty_job: 100
    

    Im using the my code because im just enabling the Penalty when my event is active..

    and also from the code, im comparing whether killed by mob or by player.

  3. Hello!

    This script should decrease 1% exp if the player is killed by mob otherwise if killed by a player it decrease 2% exp.

    The problem here is that for both condition it decreases only 0.9%.

    OnPCDieEvent:
     if (!$@MapFlagStatus) end;
     if (killerrid < 5000000) { // Lower ID's are humans, killerrid = account_id
    	 dispbottom "You have been killed by "+rid2name(killerrid)+".";
    	 callfunc "PenaltyBaseExp",2; // 2%
      } else {
    	 // Higher values... monsters
    	 callfunc "PenaltyBaseExp",1; // 1%
      }
    }
    function script PenaltyBaseExp {
      if (BaseExp) {
    	 set BaseExp, BaseExp - (BaseExp / 100 * getarg(0));
     //set BaseExp, BaseExp - (BaseExp * ( getarg(0)/100));
    	 announce "~ Nightmare Penalty: -" + getarg(0) + "% Base Exp", bc_self, 0xEAC8E7;
      }
      return;
    }
    

  4. lol. you should change your topic title. @pkmode is for single user who wants to turn on turn off pk state if your server setup is pk server.

    please read what i posted.. please do understand also. relate it to my bug tracker post.

    its related to /conf/battle/misc.conf

    // PK Server Mode. Turns entire server pvp(excluding towns). Experience loss is doubled if killed by another player.

    // When players hunt monsters over 20 levels higher, they will receive 15% additional exp., and 25% chance of receiving more items.

    // There is a nopvp.txt for setting up maps not to have pk on in this mode. Novices cannot be attacked and cannot attack.

    // Normal pvp counter and rank display are disabled as well.

    // Note: If pk_mode is set to 2 instead of 1 (yes), players will receive a

    // manner penalty of 5 each time they kill another player (see manner_system

    // config to adjust how this will affect players)

    pk_mode: 0

    bug tracker post: http://rathena.org/board/tracker/issue-6218-setbattleflag-not-working/

  5. there is already a release for @pk command here. try to use the search engine before making a new topic.

    Do you know that, that release just activate pk for 1 player using that command?

    its not the same as setting the pk_mode to 1.

  6. Since setbattleflag "pk_mode",1 will not work in running time of the server.

    from my bug report: http://rathena.org/b...ag-not-working/

    I would like to ask help from you about this src mod i found in eA (@pkmode)

    Can someone make this compatible with rAthena source code.

    this src enabled pkmode to all maps

    /*===================================
    * PK Mode for entire Server [swapnil (Tribunal)]
    * For Boundless RO
    *-----------------------------------*/
    int atcommand_pkmode(const int fd, struct map_session_data* sd, const char* command, const char* message)
    {
    int value = 0;
    int i = 0;
    char broadcast[128];
    nullpo_retr(-1, sd);
    
    if (!message || !*message || !sscanf(message, "%d", &value)) {
    	clif_displaymessage(sd->fd,"Please enter a parameter. Usage : @pkmode <1|0> .");
    	return -1;
    }
    
    if(value > 1) value = 1;
    if(value < 0) value = 0;
    
    for(i = 0; i < map_num; i++){
    	if(!map[i].flag.nochangepvp){ map[i].flag.pvp = value;
    	if(value == 1) {
    		if (!battle_config.pk_mode)
    		{// display pvp circle and rank
    			clif_send0199(sd->bl.m, 1);
    			map_foreachinmap(atcommand_pvpon_sub,i, BL_PC);
    		}
    	}
    	if(value == 0) {
    		if (!battle_config.pk_mode)
    			clif_send0199(sd->bl.m, 0);
    		map_foreachinmap(atcommand_pvpoff_sub,i, BL_PC);
    		map_foreachinmap(atcommand_stopattack,i, BL_CHAR, 0);
    		}
    		}
    }
    
    clif_displaymessage(fd, "Action carried out.");
    if(value == 1) sprintf (broadcast, "Global PvP Event has commenced!");
    if(value == 0) sprintf (broadcast, "Global PvP Event has been stopped!");
    intif_broadcast(broadcast,strlen(broadcast)+1,0);
    return 0;
    }
    

    Source: http://www.eathena.w...howtopic=252536

    Thanks!

  7. This is a glimpse of that script which used setbattleflag.

     setbattleflag "pk_mode",1;
     atcommand "@reloadbattleconf";
    
    OnTimer900000:
    
     setbattleflag "pk_mode",0;
     atcommand "@reloadbattleconf";
    

    i look into mapserver and it successfully changed it to 1. Which enabled pk mode.

    [info]: buildin_setbattleflag: battle_config flag 'pk_mode' is now set to '1'.

    but then the problem is, anywhere in the map (fields and dungeon) the pk mode isn't active.

    what would be the problem?

    I also think that maybe the server don't allow to modify during runtime.

  8. Solved:

    Solution:

    check skillinfo_f.lua if function 8 exist:

    -- Function #8
    IsLevelUseSkill = function(SkillID)
     local obj = SKILL_INFO_LIST[skillID]
    	   if obj ~= nil then
    		   obj = SKILL_INFO_LIST[skillID].SpAmount
    		   end
    			 if obj ~= nil then
    					 return 1
    					  end
    					  return 0
    end
    
    

    New lua isnt functioning like that "if in not mistaken"

    And

    skillinfolist.lua

        [sKID.AL_TELEPORT] = {
    		    "AL_TELEPORT";
    		    SkillName = "Teleportation",
    		    MaxLv = 2,
    		    SpAmount = { 10, 9 },
    		    bSeperateLv = true,
    		    AttackRange = { 1, 1 },
    		    _NeedSkillList = {
    				    { SKID.AL_RUWACH,1 }
    		    }
        },
    

    However you can still be prompted by a dialog to warp into random area. To disable it:

    conf/skill.conf

    skip_teleport_lv1_menu: yes
    • Upvote 2
  9. Hello everyone!

    I dunno if there is a syntax for this but what im thinking is this is source modification.

    In certain area, let say guild_vs2, when you reach that area, all skills that require zeny,items are not already needed.

    Like Mammonite deminish your zeny after the skill, Acid Demonstration skill which needs acid bottle and bottle grenade to work. etc.

    So what i wanted is to create a mapflag which when enabled, you can use those skills without a need of those item to use the skill. You can use that skill whenever you want without requiring you to have such item necessary.

  10. Used map files: http://code.google.c...X2.rar&can=2&q=

    Well my purpose it to overwrite the marocc map files into the old morocc. What I actually did is:

    - As you noticed, the downloaded files are name in old_moc.rsw, old_moc.gnd, old_moc.gat, old_moc.extra

    so I renamed it into morocc.rsw, morrocc.gnd, morocc.gat, morocc.extra to overwrite the current morocc map files

    But then when logged in, I experience Gravity Error.

    What particularly would be the problem?

×
×
  • Create New...