- Popular Post
-
Posts
639 -
Joined
-
Last visited
-
Days Won
88
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by Haziel
-
-
Enthr said what I was about to.
Also, take some time to take a close look on the doc folder, all the Script Commands and AtCommands that may be used, avoiding Source Snippets, are listed and explained there. -
Consider this as an act of kindness.
-
I guess it's BaseLevel.
But I already told you to read doc/item_db.txt because of:eLV: Base level required to be able to equip. maxLevel: Only able to equip if base level is lower than this.
-
Do not use Thor Generator, use GRF Editor to create your .thor files.
Last time I tried to use Thor Generator I had that headache.
-
Check if you have the account set to a gender S, that must be the account used to Login, Map and Char servers to connect.
-
Did you even check if the quests to get into a 3rd job are disabled?
By the way, if it is and he has no commands, may be a possibility that he found a hole on your website and created the character via SQL Injection, check that, tho. -
Read doc/item_db.txt.
- 1
-
Every string variable should end with $.
Like: #bankpoints$Examples: name - permanent character integer variable name$ - permanent character string variable @name - temporary character integer variable @name$ - temporary character string variable $name - permanent global integer variable $name$ - permanent global string variable $@name - temporary global integer variable $@name$ - temporary global string variable .name - NPC integer variable .name$ - NPC string variable .@name - scope integer variable .@name$ - scope string variable #name - permanent local account integer variable #name$ - permanent local account string variable ##name - permanent global account integer variable ##name$ - permanent global account string variable
- 1
-
Here.
As simple as that.
Please, when posting scripts, use the codebox.prontera,147,171,5 script Soul Link Santa 718,{ set .@n$,"^0000FF[ Soul Linker NPC ]^000000"; set .@time, 300000; // the buff last 5 minutes set @itemcost,7179; mes .@n$; mes "Hello "+strcharinfo(0)+",do"; mes "You want me to Soul Link you? It cost 10m per link <3"; switch(select("Yes:No")) { case 1: if(!countitem(@itemcost)) goto l_noitem; delitem @itemcost, 1; switch ( basejob ) { case Job_Alchemist: set .@spirit, 445; break; case Job_Monk: set .@spirit, 447; break; case Job_Star_Gladiator: set .@spirit, 448; break; case Job_Sage: set .@spirit, 449; break; case Job_Crusader: set .@spirit, 450; break; case Job_SuperNovice: set .@spirit, 451; break; case Job_Knight: set .@spirit, 452; break; case Job_Wizard: set .@spirit, 453; break; case Job_Priest: set .@spirit, 454; break; case Job_Bard: case Job_Dancer: set .@spirit, 455; break; case Job_Rogue: set .@spirit, 456; break; case Job_Assassin: set .@spirit, 457; break; case Job_Blacksmith: set .@spirit, 458; break; case Job_Hunter: set .@spirit, 460; break; case Job_Soul_Linker: set .@spirit, 461; break; default: if ( upper == 1 && baselevel < 70 ) set .@spirit, 494; } if ( .@spirit ) { sc_start4 sc_spirit, .@time, 5, .@spirit,0,0; skilleffect .@spirit, 5; } case 2: mes .@n$; mes "Okay,goodbye!"; close; } l_noitem: mes .@n$; mes "You need one " + getitemname(@itemcost) + " for a Soul Link."; close; }
-
Can you provide the code of the Plankton Card you're currently using?
-
I dunno how to help, but just to state, I also have rAthena + rAmod last revision and never saw that happens.
-
Well, on item script just:
if (BaseLevel < 70) bonus bAllStats,3;
It reads: If BaseLevel is less than 70, give All Stats + 3.
And, for limiting it on certain maps, it's better to disable the item on that specific map, but, you can:if (strcharinfo(3) != "prontera") bonus bAllStats,3;
It reads: If current map isn't prontera, give All Stats + 3.
But if it's several maps, I, again, would prefer to use db/item_noequip.txt.
- 1
-
Harmony Vanguard has both source and client modifications, badly hard to get them out without having the proper Harmony installation files, or even, the files from before the changes.
My advice would be, actually, rebuild your emulator, but you can try to see the .diff from the installation files and revert all the changes file by file. -
Megaman X and Zero Helmets added.
- 1
-
It display any error or just do like your screenshot, as if it's transparent?
-
Are the other cards displaying normally?
-
Man, to be honest, I would use arrays.
Set one array per month and, when player log in, you can set the 'day' position of array, (like day 22), and check it whenever it may be necessary.
Dunno, just an idea. -
._. Azeroth...
addrid(<type>{,<flag>{,<parameters>}});
Look:
This command will attach other RIDs to the current script without detaching the invoking RID. It returns 1 if successful and 0 upon failure.
And then:
<type> determines what RIDs are attached: 0: All players in the server.
It means, once you run this command, your current script will be attached to everyone in the whole server, so, WHATEVER the script does after it, if it's possible, will be delivered to EVERYONE.
As I said:
Add all players in the server to the script RID, send your message and end it.
-
doc/script_commands.txt is your friend.
-
Add all players in the server to the script RID, send your message and end it.
addrid(<type>{,<flag>{,<parameters>}}); This command will attach other RIDs to the current script without detaching the invoking RID. It returns 1 if successful and 0 upon failure. <type> determines what RIDs are attached: 0: All players in the server. 1: All players in the map of the invoking player, or the invoking NPC if no player is attached. 2: Party members of a specified party ID. [ Parameters: <party id> ] 3: Guild members of a specified guild ID. [ Parameters: <guild id> ] 4: All players in a specified area of the map of the invoking player (or NPC). [ Parameters: <x0>,<y0>,<x1>,<y1> ] Account ID: If type is Account ID, attach the specified account ID. <flag> can prevent certain players from being attached: 0: Players are always attached. (default) 1: Players currently running another script will not be attached.
Otherwise, you could just query players online, then, make a for using getusers(1) as a limit, sending the message to everyone.
-
Well, since it's eAthena, we can't possibly imagine where this kind of issue may be, since, eAthena and rAthena are completely different Sources now.
Well, at least, for me, who stopped to follow that new eAthena long ago. -
You need the Aura System.
It's a Source Mod, but I'm not sure if it's applicable on monsters.
-
The issue about being needed to press ctrl is probably client hardcoded.
So, if you don't need specific appearance for the mobs, It would be better if you make or order some monster sprites made with classes.
-
On the field marked as 'Debug', set it as 'Release'.
[Guide] GRF Editor: Encrypting
in Client-side Support
Posted · Edited by Haziel
GRF Editor: Encryption
The Movie
Hello again, rAthena, I'm Haziel.
I'm a Pixel Artist and also a Scripter.
(Also, you can check my work here and here, and if you ever need any Sprite/Script Service, check here! You can also add me on skype (it's on my signature))
Most of the people who know me or hired me for any kind of service know that I don't charge more than it's fair.
What upsets me is the people who use my work without authorization, most of the cases, paid material that took hours, days or, sometimes, weeks to be concluded.
So, hoping to protect my work, and the custom content of your servers' owners, I've decided to write a guide explaning in detail how to use @Tokei's awesome tool.
1. List of Materials
• GRF Editor, if you're not familiar with this software, it is the best GRF Management Tool ever coded.
• The files you want to protect, the encryption is made by file so, there's no need to encrypt the whole GRF.
• Your Hexed must be 2012-04-10 or above, it won't work on 2010 Clients.
• Decide your Hexed filename, it's essential for the encryption to work.
2. Generating Encryption Key
GRF Editor uses a Key Encryption Method, what means that your protection is based on a password.
Choose a password you'll remember or note it somewhere, you won't be able to decrypt your files without it and always save a Backup of the files you'll encrypt.
Password chosen, you'll need to generate the DLL, the one that will allow your Client to read encrypted files.
Open the GRF Editor and navigates on the top menu to Tools > GRF Encryption, you'll see the window below.
First, Input your Key on the Encryption Password field.
Next, select your Client on the Client Path field, it is needed for the DLL to be coded to its filename or be modified if needed.
IMPORTANT: The Client being asked here is for the Hexed, IT IS NOT the Patcher, Launcher or Loader.
The name of the DLL can also be changed, it will output a modified Hexed of ready to read it.
With everything set, click in Generate File(s), and it will pop up a folder where your DLL has been generated, add/replace the one in your Client folder.
3. Encrypting Files
Files can now be encrypted.
Open your GRF, GPF or THOR, select the files you want to protect.
Right-click it and select EncryptIon > Encrypt.
Enter the Password you previously defined, confirm and the file will be highlighted in Orange.
The colour might not show up when you're working on a THOR file or opens a GRF/THOR previously encrypted, that's normal behavior.
Once the GRF or THOR is saved, you won't be able to read the file.
Normally an error will pop, but you can test it ingame, if you've done it correctly, it will be displayed properly.
As far as I've tested, the Encrypted Files works in the DATA folder if extracted.
If you want to Encrypt or Decrypt a whole GRF, you can select Tools > GRF Encryption with the GRF open by the software and choose the options Encrypt GRF or Decrypt GRF.
You will be asked for the Key, and then It'll run the process through the entire GRF and export it to a new folder.
The same process can be made with THOR files, even if it displays any reading error, patched Encrypted files will work.
I hope that's clear enough and that it may help you.
Post any question you may have in the comments below and I'll try to help.
My best regards,
Haziel