Jump to content

mrlongshen

Members
  • Content Count

    1126
  • Joined

  • Last visited

  • Days Won

    3

Reputation Activity

  1. Upvote
    mrlongshen reacted to Patskie in @buff   
    - script Sample -1,{ OnInit: bindatcmd "buff", strnpcinfo( 3 )+"::OnBuff"; end; OnBuff: if ( getgroupid() > 40 ) end; specialeffect2 EF_INCAGILITY; sc_start SC_INC_AGI,240000,10; specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10; end;}
  2. Upvote
    mrlongshen reacted to Emistry in Overhaul refine_db   
    change the format to look like other new item_db.conf ?
     
     
    http://pastebin.com/raw.php?i=YSepT1DR
    refine: ({ TYPE: ARMOR STAT_PER_LEVEL: 0 RATE: { 100:100, // +1 refine RATE:randome bonus rate 100:100, // +2 refine RATE:randome bonus rate 100:100, // +3 refine RATE:randome bonus rate 100:100, // +4 refine RATE:randome bonus rate 100:100, // +5 refine RATE:randome bonus rate 100:100, // +6 refine RATE:randome bonus rate // etc.... }}, { TYPE: WEAPON LEVEL: 1 STAT_PER_LEVEL: 200 RATE: { 100:100, // +1 refine RATE:randome bonus rate 100:100, // +2 refine RATE:randome bonus rate 100:100, // +3 refine RATE:randome bonus rate 100:100, // +4 refine RATE:randome bonus rate 100:100, // +5 refine RATE:randome bonus rate 100:100, // +6 refine RATE:randome bonus rate // etc.... }},{ TYPE: WEAPON LEVEL: 2 STAT_PER_LEVEL: 300 RATE: { 100:100, // +1 refine RATE:randome bonus rate 100:100, // +2 refine RATE:randome bonus rate 100:100, // +3 refine RATE:randome bonus rate 100:100, // +4 refine RATE:randome bonus rate 100:100, // +5 refine RATE:randome bonus rate 100:100, // +6 refine RATE:randome bonus rate // etc.... }},{ TYPE: WEAPON LEVEL: 3 STAT_PER_LEVEL: 500 RATE: { 100:100, // +1 refine RATE:randome bonus rate 100:100, // +2 refine RATE:randome bonus rate 100:100, // +3 refine RATE:randome bonus rate 100:100, // +4 refine RATE:randome bonus rate 100:100, // +5 refine RATE:randome bonus rate 100:100, // +6 refine RATE:randome bonus rate // etc.... }},{ TYPE: WEAPON LEVEL: 4 STAT_PER_LEVEL: 700 RATE: { 100:100, // +1 refine RATE:randome bonus rate 100:100, // +2 refine RATE:randome bonus rate 100:100, // +3 refine RATE:randome bonus rate 100:100, // +4 refine RATE:randome bonus rate 100:100, // +5 refine RATE:randome bonus rate 100:100, // +6 refine RATE:randome bonus rate // etc.... }})  
     
    Propose:
    Overhaul the structure Passing the refine rate into server based on MAX_REFINE if want other customization ... maybe another field for "Bonus_Script" ??  that give bonus to all items that have specific refine ??

     
    About the passing refine rate based on server MAX_REFINE:
    if a rate is set for the refine rate, then it's passed into the server ...
    but.. if the MAX_REFINE doesnt match with the max refine in the refine_db , then  the extra non-exist refine rate just simply pass in the value of -1 ? or maybe 0 ? with this other users can just simply add in a check using this
     getequippercentrefinery(<equipment slot>)
    ​if value returned is equal or below 0 , then failed to refine ..

    Current issue that is known for current refine_db
    If the MAX_REFINE doesnt match with the entry inside the refine_db , whenever players try to refine in server, they simply get 100% of refine rate, and the server get some errors about lack of entry for refine_db during the start-up too . a bit hard for user to find and edit refine rate ...

     
    Advantages :
    easier to read or configure allow users to prevent players from refine abusing IF the admin ignored all these missing entry error due to MAX_REFINE ...

     
    Disadvantages :
    larger file size longer passing time ?

  3. Upvote
    mrlongshen got a reaction from anacondaq in NEMO - Client Patcher   
    I love this quote <3
  4. Upvote
    mrlongshen reacted to Haru in Item DB file structure overhaul   
    Item DB file structure overhaul
     
    Hello~! Uguu~?!
    We noticed that the Item Database file format, unchanged for years, is less than optimal (read: terrible)
    The file is really hard to read (is it the fifteenth or the sixteenth zero? No wait, that line has an extra comma!!) Whenever you merge an update, if you had a customized entry, you're sure to encounter large conflicts that won't be trivial to solve How do we fix it?
    We're switching to a brand new, modern, file format, making use of the libconfig library we're already using for other configuration files.
    It uses libconfig. This means the parser is more solid and, perhaps not faster, but surely easier to maintain, with simpler code. And the file format is something you're already used to, since it's the same as many other configuration files we use! Empty fields and the long sequences of those hard to count commas are gone! You just specify the fields you need, and the others can be completely skipped. The item_db2 entries can be left incomplete and set to inherit the original item_db entry. If you have a custom script for your Knife[3], you can just write the script in your item_db, and let it read the other values from the item_db, so that if we update them, you get the update automatically Item scripts can be split into several lines, so they can made easier to read, especially the long ones. We can finally add more fields (to support new features) to the file at any time, easily and without having to edit all the lines (or force you to edit all the lines of your custom item_db2)! Pre-Renewal and Renewal Item databases now use the same format. This also means that you can make use of the min/max level feature in both renewal and pre-renewal (of course, pre-renewal servers will ignore the Matk field, if you specify it, since it's meaningless there) What does it look like?
     
    Each entry follows this structure:
    {     // =================== Mandatory fields ===============================     Id: ID                        (int)     AegisName: "Aegis_Name"       (string, optional if Inherit: true)     Name: "Item Name"             (string, optional if Inherit: true)     // =================== Optional fields ================================     Type: Item Type               (int, defaults to 3 = etc item)     Buy: Buy Price                (int, defaults to Sell * 2)     Sell: Sell Price              (int, defaults to Buy / 2)     Weight: Item Weight           (int, defaults to 0)     Atk: Attack                   (int, defaults to 0)     Matk: Magical Attack          (int, defaults to 0, ignored in pre-re)     Def: Defense                  (int, defaults to 0)     Range: Attack Range           (int, defaults to 0)     Slots: Slots                  (int, defaults to 0)     Job: Job mask                 (int, defaults to all jobs = 0xFFFFFFFF)     Upper: Upper mask             (int, defaults to any = 0x3f)     Gender: Gender                (int, defaults to both = 2)     Loc: Equip location           (int, required value for equipment)     WeaponLv: Weapon Level        (int, defaults to 0)     EquipLv: Equip required level (int, defaults to 0)     EquipLv: [min, max]           (alternative syntax with min / max level)     Refine: Refineable            (boolean, defaults to true)     View: View ID                 (int, defaults to 0)     Script: <"         Script         (it can be multi-line)     ">     OnEquipScript: <" OnEquip Script (can also be multi-line) ">     OnUnequipScript: <" OnUnequip Script (can also be multi-line) ">     // =================== Optional fields (item_db2 only) ================     Inherit: true/false           (boolean, if true, inherit the values                                   that weren't specified, from item_db.conf,                                   else override it and use default values) }, Here's a Red Potion in the old format:
    501,Red_Potion,Red Potion,0,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(45,65),0; },{},{} And here's the same Red Potion in the new format:
    {     Id: 501     AegisName: "Red_Potion"     Name: "Red Potion"     Type: 0     Buy: 50     Weight: 70     Script: <" itemheal rand(45,65),0; "> }, Not convinced yet it's easier to read? Okay, let's try a Poison Bottle:
    678,Poison_Bottle,Poison Bottle,2,5000,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ if(Class==Job_Assassin_Cross) { sc_start SC_DPOISON,60000,0; sc_start SC_ATTHASTE_INFINITY,60000,0; } else percentheal -100,-100; },{},{} changes to:
    {     Id: 678     AegisName: "Poison_Bottle"     Name: "Poison Bottle"     Type: 2     Buy: 5000     Weight: 100     Script: <"         if(Class==Job_Assassin_Cross) {             sc_start SC_DPOISON,60000,0;             sc_start SC_ATTHASTE_INFINITY,60000,0;         }         else percentheal -100,-100;     "> }, Better, isn't it!? Let's now try a Jellopy:
    909,Jellopy,Jellopy,3,6,,10,,,,,,,,,,,,,,{},{},{} Count the commas! Did I miss any? An extra comma you say? No, I don't want to count them, thanks...
    {     Id: 909     AegisName: "Jellopy"     Name: "Jellopy"     Buy: 6     Weight: 10 }, Not even a comma!
    Now, help me read what this item does?
    13307,Krieger_Huuma_Shuriken1,Glorious Shuriken,4,20,,0,55,,1,0,0x02000000,7,2,34,4,80,1,22,{ bonus2 bAddRace,RC_DemiHuman,95; bonus2 bIgnoreDefRate,RC_DemiHuman,20; bonus bMatkRate,15; autobonus "{ bonus2 bSkillAtk,NJ_HUUMA,100; bonus2 bSkillAtk,NJ_ISSEN,100; }",50,10000; bonus bUnbreakableWeapon,0; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3); bonus2 bIgnoreDefRate,RC_DemiHuman,5; } if(getrefine()>8) { bonus5 bAutoSpellOnSkill,NJ_ISSEN,AL_HEAL,10,1000,1; bonus4 bAutoSpellOnSkill,NJ_HUUMA,NPC_CRITICALWOUND,2,200; } },{},{} {     Id: 13307     AegisName: "Krieger_Huuma_Shuriken1"     Name: "Glorious Shuriken"     Type: 4     Buy: 20     Atk: 55     Range: 1     Job: 0x02000000     Loc: 34     WeaponLv: 4     EquipLv: 80     View: 22     Script: <"         bonus2 bAddRace,RC_DemiHuman,95;         bonus2 bIgnoreDefRate,RC_DemiHuman,20;         bonus bMatkRate,15;         autobonus "{ bonus2 bSkillAtk,NJ_HUUMA,100; bonus2 bSkillAtk,NJ_ISSEN,100; }",50,10000;         bonus bUnbreakableWeapon,0;         if(getrefine()>5) {             bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3);             bonus2 bIgnoreDefRate,RC_DemiHuman,5;         }         if(getrefine()>8) {             bonus5 bAutoSpellOnSkill,NJ_ISSEN,AL_HEAL,10,1000,1;             bonus4 bAutoSpellOnSkill,NJ_HUUMA,NPC_CRITICALWOUND,2,200;         }     "> }, Which one did you find easier to read? Old or new format?
     
    Want to see an example that specifies both min and max levels? Here you go:
    {     Id: 2819     AegisName: "Swordman_Manual"     Name: "Swordman Manual"     Type: 5     Buy: 0     Weight: 100     Job: 0x00000001     Upper: 47     Loc: 136     EquipLv: [1, 12]     Refine: false     Script: <"         bonus bMaxSP,100;         skill SM_BASH,1;         skill SM_PROVOKE,1;         skill SM_MAGNUM,1;     "> }, Okay, one last example. Let's try to make an item_db2 entry for a Pupa Card that gives a bonus of 1000 HP rather than just 700.
    {     Id: 4003     Inherit: true     Script: <" bonus bMaxHP,1000; "> }, Done. No need to rewrite the name, location, prices... those are already in the item_db!
     
    But... I have several custom items, do I have to manually convert all of them...?
     
    Of course you do! No, I'm kidding, don't hate me
     
    It's true that you need to convert your item database to the new format, but we can do it for you!
    Go to http://haru.ws/hercules/itemdbconverter/ and paste (or upload) your item_db2.txt (or even your item_db.txt if you have custom entries there), press the Convert button, wait a few seconds and you're done! It's already converted for you. Easy, isn't it? Don't trust us? No, no, we don't need your custom items, you can sleep safe... But if you still don't want to paste anything on a website... well, we have provided the source code of the converter script! It's in the 'tools' folder of the Hercules repository. All you need is a Perl interpreter (and if you're running Linux or Mac OS, on either your server or your own computer, it's almost certain that you already have that). All you have to do is run it (example: perl tools/itemdbconverter.pl < db/item_db2.txt > db/item_db2.conf), and your item database will be converted in a split second! What if I was using SQL item databases?
     
    Well... Then you won't have to worry about the txt databases, unless you were creating the items in txt, then converting them to sql (if you're not doing this, maybe you should consider it, you know? It's easier to create and manage them in txt even if you use the sql version!)
     
    If you were converting your custom item databases from the txt version to sql through the db2sql plugin, there are good news for you! We just updated the plugin, and now it's able to create a .sql script rather than just inserting the entries into your database. This means that you can create the SQL entries in your own computer, without even needing a database (just a copy of Hercules), without risking to slow down your server, and then upload them whenever you want.
     
    And if you're relying on the .sql scripts we provide... well, there are still good news for you! Outdated item_db.sql files are a thing of the past now: those scripts will get updated automatically after every commit by our HerculesWS API bot, exactly like the HPM Hooks!
     
    As a final note, now the pre-re and re databases share the same structure in SQL as well! no more column mismatch if you're trying to import into your Renewal server an item that was meant for pre-renewal.
     
    If you have data already imported to your item_db2 SQL table, it'll be updated to the new table format through the regular upgrade sql mechanism (just run the provided script in the sql-files/upgrades folder). Please note that the script requires MySQL 5.0 or newer -- if you're still on MySQL 4.0, please open it in a text editor, read the comments and run the provided queries manually.
     
    I have this event item entry that came with an old script I downloaded...
     
    No worries, you can get it converted. Use the same script (or the provided web page) you'd use to convert an entire item database, it'll work just fine even for an item or two!
     
    Special thanks
    To Ind, for bringing up the idea and pushing it forward until it was implemented. And for his awesome work on the HerculesWS API and database converter plugin. To Yommy, for the original idea, and for some invaluable help finalizing the actual database format. Links~u!
    Main commit. Removed redundant item_db2_re.sql (now both have the same structure). db2sql plugin update. item_db2 inheritance. item_db2 SQL upgrade script.
  5. Upvote
    mrlongshen reacted to Patskie in Item Shower   
    makeitem .item_id,1,.map$,.@x,.@y;+ announce "An [" +getitemname(.item_id)+ "] has been drop from the sky in map [" +.map$+ "]. Lets get it before it gone..",0;
  6. Upvote
    mrlongshen reacted to Patskie in Item Shower   
    Description : Drop certain amount of items on the floor on a certain map with random coordinates
     
    Download :
    http://pastebin.com/raw.php?i=aCAbAM1E
    https://raw.github.com/Patskie/Scripts/master/item_shower.txt
  7. Upvote
    mrlongshen reacted to Mhalicot in Marathon event problem   
    use atcommand "@disguise 1317"; 
    - disguise "1317";+ atcommand "@disguise 1317";
  8. Upvote
    mrlongshen reacted to Neo-Mind in NEMO - Client Patcher   
    N.E.M.O. - Neo Exe Modification Organizer

    Why another client patcher? well
    1) WeeDiffGen - isn't working for 2013 clients + it depends on dlls (not that its a bad thing but i like scripting )
    2) xDiffGen - yes its scripted but we need to depend on xdiff files.

    so i made a new one based on xDiffGen and here it is. The patches are written in QtScript format.
    Details of making a patch have already been written in a seperate topic - although now it needs to be updated with more details.
    I have already converted most of the patches from xDiffGen.

    Why this name? - well I didn't want it to be called * Gen No offense  
    plus someone keeps calling me Nemo in IRC which gave me the idea

    Snapshot
    -----------------


    How to use?
    ---------------------
    1) First you need to specify your client file in Input Exe file box. If you browse to select the file name, Output Patched box gets updated with a _patched suffix filename automatically. Ofcourse you can select your own name for the output.
     
    2) Next we need to load both the client and the scripts (patches & addons). so click Load Client button.
     
    3) Select the patches you want . In case you patched once before (for whatever date) they will be saved in your local and you can use the Select Previous button to select them again. Also you can try using the Select Rcomnded button to select all the Recommended patches.
     
    4) So your patches are selected and client is loaded what next but to Apply Patches  which will generate the output file. In 2.0 version , NEMO also generates a .secure.txt file containing the MD5, SHA1 and CRC32 values of the output exe file which you can use in various tools.
     
    5) You can use the Save Profile and  Load Profile buttons for saving/reloading a set of patches & input values, that you have selected (even if they are not applied) for future use.
     
    6) Whenever you apply patches to a client, NEMO updates the patchlist.log file (along with Inputlist.db) in the folder where NEMO.exe is. This file will contain the list of patches you have applied along with their IDs (do not tamper with either of them).
     
    Changes in 2.0:
    ----------------------
    1) I have made some obvious modifications to the interface (you can definitely see the change in case you have seen v1.0).
         i) Buttons have come downwards and is no longer strippable (toolbar has been fixed in position)
     
         ii) New status Label has been added which shows your currently loaded client date and how many patches are selected.
     
         iii) NEMO now has support for Addons - scripts that are meant to retrieve data from the client and do its own thing (not patch the client).
              All the Extract xDiff patches has been added here already. 1 extra addon will be coming soon once i can fix it.
     
         iv) New Filter box has been added which does live search (i.e. filter as you type) for filtering out only the patches u want to see.
               For e.g. if you type color, it will only show patches that have the string color in either it's name or the description.
              You can also use regular expression . Also you can sort the columns now
     
        v) An upcoming feature - Test Patches. this one you can use for testing a newly added patch for a variety of clients that you select.
     
    2) NEMO is no longer there in SVN. I have shifted it to GitHub . The rar file uploaded has the .git file so you should be able to directly pull to get updates. But just in case I have also provided the repository link below.
     
    Remember to pull for updates before using NEMO and let me know if you are facing any bugs or issues or if i have missed out on anything. Enjoy .
     
    Repository: https://github.com/MStr3am/NEMO.git
     
    Download Link: NEMO zip file 
  9. Upvote
    mrlongshen reacted to Dastgir in Mob not auto respawn   
    prontera,164,171,4 script Gold Room 10005,{ mes "Do you want to enter Gold Room ?"; mes "This gold room is sponsor by Maybank2u"; menu "Ok",-,"No thanks.",L_No; close2; warp "sakura.gat",0,0; end;OnInit: waitingroom "[ Gold Room ]",0; end; L_No: close; OnMobKilled: set @ran, rand(1,3); if (@ran == 1) getitem 969,1; else if (@ran == 2) getitem 969,2; else getitem 969,5; end;}sakura,0,0,0,0 monster Gold Resident 1 3113,30,0,0,"Gold Room::OnMobKilled"sakura,0,0,0,0 monster Gold Resident 2 3142,30,0,0,"Gold Room::OnMobKilled"sakura,0,0,0,0 monster Gold Resident 3 3119,30,0,0,"Gold Room::OnMobKilled"sakura,0,0,0,0 monster Gold Resident 4 3133,30,0,0,"Gold Room::OnMobKilled"sakura,0,0,0,0 monster Gold Resident 5 3122,30,0,0,"Gold Room::OnMobKilled" Here you go.
  10. Upvote
    mrlongshen reacted to Mhalicot in All in one npc problem   
    SAME topic: http://herc.ws/board/topic/3176-how-to-fix-this-all-in-one-npc-by-euphy/
     
    Please use search before creating a topic
     
     
    find this 
    if (.Platinum) Get_Platinum; close; replace with 
    if (.Platinum) function Get_Platinum; close; 
  11. Upvote
    mrlongshen reacted to kyeme in Loading on warp   
    Loading you mean progressbar?
     
    - script atcmd_warpdelay -1,{OnInit: bindatcmd "warp",strnpcinfo(3)+"::OnAtcommand",0,99; end;OnAtcommand: set .@min,2; //delay in mins set .@gmlvl,99; // GM lvl to bypass the delay set .@delay,.@min * 60; set .@loading,5; // Loading in secs if (warpdelay > gettimetick(2) && getgmlevel() < .@gmlvl) { set .@delaytime,warpdelay - gettimetick(2); message strcharinfo(0),"You must wait "+.@delaytime+" seconds to use this command again."; end; } getmapxy(.@lmap$,.@lx,.@ly,0); setarray .@param$,.@atcmd_parameters$[0],.@atcmd_parameters$[1],.@atcmd_parameters$[2]; set .@map$,implode(.@param$," "); progressbar "ffff00",.@loading; atcommand "@warp "+.@map$+""; getmapxy(.@nmap$,.@nx,.@ny,0); if (.@lmap$ == .@nmap$ && .@lx == .@nx && .@ly == .@ny) end; set warpdelay,gettimetick(2) + .@delay; end;}  
     
     
    @edit, I modified your script, if wrong coordinates the delay will not apply
  12. Upvote
    mrlongshen reacted to Mhalicot in @autopots   
    ^ Release Autopots Plugins Leave vote
  13. Upvote
    mrlongshen reacted to Mhalicot in autopots   
    File Name: autopots
    File Submitter: Mhalicot
    File Submitted: 25 Nov 2013
    File Category: Plugins
     
    HPM autopots complete package.
     
    Compatible with Windows System Only
     
    if you are using Linux, ignore other files and use only autopots.c
     
    Instruction.
     
    1. Download and extract files using 7z or any application that can extract it.
    2. extract it in your server directory ex: C:/RO Server/Hercules/
    2.1. edit conf/plugins.conf and add autopots
    3. find autopots/autopots.sln and recompile it.
    4. You can now start using your ready made plugins
     
    if you are using VS2010/VS2009/vs2013 or whatsoever and you are failing to compile because of platform issue.
    this is what you need to do.
     
    In Recompiling:
    If you are using other MSVS/C
    Quote
     
    Note: Recompile if you modify the script.
    if you want to use berry only type
     
    @autopots 50 607 0 0
    @autohp 50 607
    @autosp 50 607
     
    To turn it of, simply type @autopots again
    If you have any questions feel free to drop a comment.
     
    for more info on how to to use HPM visit Here
    (Tested on Hercules rev. 137**)
    Credit: Original file by Goddameit and converted by Me
     
    Click here to download this file
  14. Upvote
    mrlongshen reacted to quesoph in @reloadtimer + broadcast   
    This will reload one npc at a time and will not affect other npc or monster spawn.
     
    Try this:
     
     
    -  script   oninitreload  -1,{OnAtcommand:  dispbottom .@atcmd_parameters$[1];  if ( .@atcmd_parameters$[0] == "" || .@atcmd_parameters$[0] == " " ) {    dispbottom "Please enter an npc's unique name.";    end;  }  donpcevent implode(.@atcmd_parameters$," ")+ "::OnInit";  dispbottom "OnInit for "+ implode(.@atcmd_parameters$," ")+ " has been reloaded.";  end;OnInit:  bindatcmd("reload", strnpcinfo(3)+"::OnAtcommand", 99, 99, 1); // Only gm 99 and above can use this command, 1 to log command else 0.  end;}  
    Usage: @loadnpc < path >
    then
    @reload < npc's unique name >
     
    eg:
     
    -  script  monstertry#4444 -1,{ // monstertry#4444 is the npc's unique name.OnLabel:  announce "???",0;  end;OnInit:  monster "prontera", 150, 150, "Poring", 1002, 1, strnpcinfo(3)+"::OnLabel";  end;}  
    will print:
     
    [Debug]: NPCEvent 'monstertry::OnInit' not found! (source: oninitreload) if npc is not found.
     
    @edit
    may test server crashes whenever I use atcommand "@reloadscript". so I made this.
  15. Upvote
    mrlongshen reacted to quesoph in Plugin doesnt not running ? swt   
  16. Upvote
    mrlongshen reacted to Neo-Mind in NEMO - Client Patcher   
    mrlongshen actually you can only specify the font names... bold & italics etc is chosen by the client. Even in the WeeDiff patcher it was same way.
    I have updated Nemo to accept only font names now to avoid confusion.
     
     
    Shikazu has already made a DLL importer. won't it be redundant to have a patch which loads custom dll?
  17. Upvote
    mrlongshen reacted to kerbiii in Help with this script please   
    here for @go i just edit it
  18. Upvote
    mrlongshen reacted to jaBote in Help with this script please   
    Yes, just copy that script and bind @go with very few modifications.
     
     
    Yes.
  19. Upvote
    mrlongshen reacted to kyeme in Help with this script please   
    Here
     
    - script atcmd_warpdelay -1,{OnInit: bindatcmd "warp",strnpcinfo(3)+"::OnAtcommand",0,99; end;OnAtcommand: set .@min,5; //delay in mins set .@gmlvl,99; // GM lvl to bypass the delay set .@delay,.@min * 60; if (warpdelay > gettimetick(2) && getgmlevel() < .@gmlvl) { set .@delaytime,warpdelay - gettimetick(2); message strcharinfo(0),"You must wait "+.@delaytime+" seconds to use this command again."; end; } setarray .@param$,.@atcmd_parameters$[0],.@atcmd_parameters$[1],.@atcmd_parameters$[2]; set .@map$,implode(.@param$," "); atcommand "@warp "+.@map$+""; set warpdelay,gettimetick(2) + .@delay; end;}
  20. Upvote
    mrlongshen reacted to Neo-Mind in NEMO - Client Patcher   
    Update:
    Fixed bug in Increase Attack display (thanks mrlongshen for informing the bug)
    Removed Debug message from Custom Job patch (thanks ossi for pointing it out)
     
    and yes the rar file is also updated.
     
    themon what all patches did you use?
  21. Upvote
    mrlongshen reacted to Neo-Mind in NEMO - Client Patcher   
    Actually the plan is to support all clients but yes already WeeDiff is there for 2012 so I am not too concerned for older clients right now.
    Ofcourse you can post any bugs you find. 
     
     
     
     
    I have added Custom Font patch. Test it out and let me know. Also Increase Attack Display patch has been fixed.
  22. Upvote
    mrlongshen reacted to kyeme in Soul Linker buffer for all job   
    Add to your script:
    sc_start SC_SOULLINK,240000,5; //Soul link for 4 minutes
  23. Upvote
    mrlongshen reacted to jaBote in @randomdisguise   
    You can make a script using getrandmob for this:
     
    - script randomdisguise -1,{OnWhisperGlobal: if (getgmlevel() < 60) end; // Change the 60 to any minimum GM value you want to check set .@randmob, getrandmob(150,0); // 1st parameter = max level of the mob; 2nd parameter: 0 if fetching from dead branch list, 1 from poring list, 2 from bloody branch list atcommand "@disguise "+.@randmob; message strcharinfo(0),"You've been disguised as: " + strmobinfo(1,.@randmob); end;} Just whisper to it while having enough GM level to get disguised.
  24. Upvote
    mrlongshen reacted to kyeme in @randomdisguise   
    From the script of Master Jabote, you will need to whisper "randomdisguise" in your chatbox.
  25. Upvote
    mrlongshen reacted to Samuel in @storeit   
    File Name: @storeit
    File Submitter: Samuel
    File Submitted: 31 Oct 2013
    File Category: Plugins
     
    Hi guys!
     
    Just converted Akinari's @storeit command into a plugin.
     
    What does it do?
    With this command you can store all items in your inventory except currently equipped equipment.
     
    Have fun and God bless!
     
    Click here to download this file
×
×
  • Create New...

Important Information

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