Jump to content

bWolfie

Members
  • Content Count

    848
  • Joined

  • Last visited

  • Days Won

    34

Posts posted by bWolfie


  1. chat_area_size refers to the distance in cells in which you can see the public chat of other players.
    It must be equal or lesser than area_size, which specifies how many cells away can you see players.

    E.g.
    chat_area_size = 9
    Player A is at prontera 100 100 -> Can see chat from Player B, not C.
    Player B is at prontera 100 109 -> Can see chat from Player A and B.

    Player C is at prontera 100 110 -> Can not see chat from Player A, can see Player B.

    #channel system is something else.
     


  2. (note: I have never used/experienced the system you're referring to)
    There are two parts to the woe ranking system:

    1. src writes SQL data when certain actions take place.
    E.g. when a player kills somebody, perhaps the src would add 1 to kill_counter row.

    2. Website has some sort of interaction with the game SQL database to display the data graphically.

    Lucky for you, eAmod became open source some time ago. You can view the SQL info here: https://github.com/zephyrus-cr/eamod/blob/master/sql-addons/main-extras_eAthena.sql

    A sample of what is happening in the SQL:
     

    CREATE TABLE `guild_rank` (
      `guild_id` int(11) NOT NULL,
      `castle_id` int(11) NOT NULL,
      `capture` int(11) unsigned NOT NULL default '0',
      `emperium` int(11) unsigned NOT NULL default '0',
      `treasure` int(11) unsigned NOT NULL default '0',
      `top_eco` int(11) unsigned NOT NULL default '0',
      `top_def` int(11) unsigned NOT NULL default '0',
      `invest_eco` int(11) unsigned NOT NULL default '0',
      `invest_def` int(11) unsigned NOT NULL default '0',
      `offensive_score` int(11) unsigned NOT NULL default '0',
      `defensive_score` int(11) unsigned NOT NULL default '0',
      `posesion_time` int(11) unsigned NOT NULL default '0',
      `zeny_eco` int(11) unsigned NOT NULL default '0',
      `zeny_def` int(11) unsigned NOT NULL default '0',
      
      `skill_battleorder` int(11) unsigned NOT NULL default '0',
      `skill_regeneration` int(11) unsigned NOT NULL default '0',
      `skill_restore` int(11) unsigned NOT NULL default '0',
      `skill_emergencycall` int(11) unsigned NOT NULL default '0',
    
      `off_kill` int(11) unsigned NOT NULL default '0',
      `off_death` int(11) unsigned NOT NULL default '0',
      `def_kill` int(11) unsigned NOT NULL default '0',
      `def_death` int(11) unsigned NOT NULL default '0',
      `ext_kill` int(11) unsigned NOT NULL default '0',
      `ext_death` int(11) unsigned NOT NULL default '0',
      `ali_kill` int(11) unsigned NOT NULL default '0',
      `ali_death` int(11) unsigned NOT NULL default '0',
      
      PRIMARY KEY  (`guild_id`,`castle_id`),
      KEY `castle_id` (`castle_id`)
    ) ENGINE=InnoDB;

    And then by searching the src repo, you can find snippets of the code.

    This quite complicated. To recreate it to work for Hercules would take a lot of work. of course you could just use Zephyrus' HercMod but I really don't recommend doing that.


  3. You should use the @ variable if you want them to be online the whole time, because it is cleared when a player logs out.

    So e.g. @Reward = gettimetick(2); this value will only exist so long as they don't log out.


  4. Status: Unavailable [0/0]

    Hello,

    I have been a part of this community for more than two years. I feel my skills have reached a point where I can offer them in a freelance manner.

    About Me

    I started scripting in 2016, as my server was in desperate need of developers. Over time, I branched into source. My specialties include editing skills, creating menu-based scripts, atcommands and script commands.

    Samples

    Below are some samples I created for the community. I believe they are proof of my ability and hopefully fill you with confidence to hire me.

    Scripts
    Function - Ordinal Suffix: Adds the ordinal suffix to a number. E.g. 1 -> 1st, 223 -> 223rd, 1000 -> 1000th, etc.
    Soul Link NPC: A basic NPC which allows players to pay for Soul Links.
    Wheel of Fortune: While not an original script idea of mine, the final version was revised and edited by me.

    Script Commands
    BUILDIN(getalliance): A script command which returns the Alliance and Opposition Guild IDs of the inputted Guild ID.

    Skill/Status Edits
    TF_BACKSLIDING: A plugin which re-enables Back Sliding's animation, the way it was in eAthena.
    Magic Rod Behavior: A pull request I made which allows you to configure Magic Rod to use its old eAthena behavior.
    SG_PARRYING_LOV: A plugin which gives a Star Gladiator the 'Lord of Vermilion' and 'Parrying' skills while Soul Linked.

    Services

    My specialties, the things you should absolutely hire me for:

    • Atcommands.
    • Script commands.
    • Anything script related.
    • Skill modification.

    Scripting: I consider myself proficient with the script engine. Pitch your idea to me, I'll make it work.
    Source Edits: When it comes to source edits, you should specify if you want it in plugin or diff/instruction form. In the case you want a plugin, I will investigate if it is feasible for the source to be in plugin format.

    Depending on my schedule (I am a University student) and the difficulty of the job, completion can take anywhere from 2-3 days to up to a week. When I agree to take on your job, I will usually inform you how long I believe it will take. I will only take on 2 jobs at any one time.

    Prices

    All prices start at $5, with the exception of scripts, which start at $3.
    Payment is only available through PayPal. No other methods will be accepted.

    Continued support after the completion of your job is free. 

    Contact

    You can contact me via PM here on the Hercules forums or on Discord. I go by the same name 'Myriad' on the Hercules Discord.
    → I check these forums every 2-3 days. I have email alerts setup for my PMs, so if you message me here, I should get back to you in a day or two at the most.
    → I usually log into my Discord once or twice a day. It may take 24-48 hours to get a response from me, but in most cases it should be within 12 hours.

     


  5. Hercules skill db is all in one - skill_db.conf. You need to edit src for this.

    For lv10 LOV, check BUILDIN(skill) in script.c for an example of how to add a skill for a char.
    You will need to add the code when status SL_STAR starts, and disable when SL_STAR ends.

    So places to edit are status_change_start and status_change_end_
    Just search or add case SC_SOULLINK: in these functions with val2 == SL_STAR

    Can't help you anymore.


  6. First use getunits() to capture all players on the map in an array.
    Then loop through the array using the for() function.

    Sample:

    .@count = getunits(BL_PC, .@units, false, "prontera"); // Adds all BL_PC on prontera type to the array .@units
    for (.@i = 0; .@i < .@count; .@i++)
    	debugmes(sprintf("%s", rid2name(.@units[.@i]))); // Prints a debug msg in console of the player name

    It's returning their Account ID btw.


  7. In mob.h these values are provided for AI:

    enum ai {
    	AI_NONE = 0, //0: Normal mob.
    	AI_ATTACK,   //1: Standard summon, attacks mobs.
    	AI_SPHERE,   //2: Alchemist Marine Sphere
    	AI_FLORA,    //3: Alchemist Summon Flora
    	AI_ZANZOU,   //4: Summon Zanzou
    
    	AI_MAX
    };

    So your solution is correct...I think.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.