mrlongshen
-
Content Count
1126 -
Joined
-
Last visited
-
Days Won
3
Reputation Activity
-
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;} -
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 ?
-
-
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. -
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; -
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
-
mrlongshen reacted to Mhalicot in Marathon event problem
use atcommand "@disguise 1317";
- disguise "1317";+ atcommand "@disguise 1317"; -
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
-
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.
-
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; -
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
-
-
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
-
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.
-
-
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?
-
-
mrlongshen reacted to jaBote in Help with this script please
Yes, just copy that script and bind @go with very few modifications.
Yes. -
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;} -
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?
-
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.
-
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
-
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.
-
mrlongshen reacted to kyeme in @randomdisguise
From the script of Master Jabote, you will need to whisper "randomdisguise" in your chatbox.
-
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