Jump to content


Member Since 12 Jun 2014
Offline Last Active Today, 10:13 AM

#81228 Clan System

Posted by Ridley on 23 March 2017 - 11:20 AM

There was no update here for quite a while, but clans is actually ready and full configurable. You can set an inactivity timer, buffs and also add custom clans. Adel made a small image pack for a custom clan (which I attach upon the release).
There is some last testing and then we show it to Haru and hope for a quick merge. Afterwards I do a topic about how everything works.

#81158 Error Old Payon ad Morroc

Posted by Ridley on 19 March 2017 - 09:46 PM

Don't simply rename maps. You need to "save as" in browedit

#81080 How to add custom @commands in group.conf

Posted by Ridley on 14 March 2017 - 06:20 AM

There is a plugin to show custom commands in @commands, and a pull request to add it by default.

#81024 Rand item with setarray amount

Posted by Ridley on 11 March 2017 - 08:49 AM

Start the arrays at [0] not [1] or [2]
It look like you want one array for items, and another one for amount? Your problem is, reading out the array size while you actually want its values.
And yes, you Basically give a random item out of a random array. May take a look here:

#80852 R> How to squash commits on GitHub?

Posted by Ridley on 01 March 2017 - 09:49 PM

another issue was here


fixup 285e1fc Adds a protection to 1st Barricade line on WoE SE maps to avoid splash damage without destroying Guardian Stones previously.
pick 9450be2 Arrays improvement. Thanks Emistry!

where it should be


pick 285e1fc Adds a protection to 1st Barricade line on WoE SE maps to avoid splash damage without destroying Guardian Stones previously.
fixup 9450be2 Arrays improvement. Thanks Emistry!

fixup = squash without message


and yes, thhen :wq and git push -f

#80840 Hercules vs rAthena: Current differences

Posted by Ridley on 01 March 2017 - 06:21 PM

I assume you want to go for pre-re. I think both emulators have some issues with pre re so I don't see much of a difference here (but I'm honestly no pre renewal player and don't know the exact differences) . Else content wise for renewal rA is ahead.
As stated here, Herc works a lot more efficient and is cleaner. But it's biggest advantage is of course the plugin feature which basically works like an import folder for source code.
The mana world is running Hercules with a plugin on steroids, so you can see with plugins you basically can build a whole new game around the emulator.

#80826 Verus maps (NPC's & Monsters)

Posted by Ridley on 01 March 2017 - 03:57 PM

Just saying I got this (and most up to episode 16) already done and waiting for some other pr's to be merged to make it as official. I can't tell exactly when I go to do the pr's, I also plan to do a server where I can test first. But I can assure you everything I do will go to Herc.

#80754 Update/Overwrite New Thor Patcher

Posted by Ridley on 27 February 2017 - 01:03 PM

this is right in the main.ini 


//use CheckSum tool, hash for client & patcher
// used to make sure exe is up to date
//  (leave empty to disable this feature)

//This is compressed file for patcher & client update
// To make these work, ClientSum and/or PatcherSum can't be empty
// Note: these files should put same place as patch file (file_url in internal config)
//Relative address, not FULL URL!

// _sum - checksum, use CheckSum tool.
// _Name - Filename of exe
// _Path - Path for file [Compressed]

#80721 Adel's Sprite Showcase

Posted by Ridley on 26 February 2017 - 03:15 PM

Stunning as always Adel. I specially love everything related to the extended Poring family. 

#80655 How to use string as a value in script?

Posted by Ridley on 23 February 2017 - 10:37 AM

i am not exactly sure what are you trying to do. About strings 

setarray(.@type$[0], "Whatever", "Words", "Going ", "Here"); 

strings you use for words and letters, for items you want an array, but not a string

setarray(.@item[0], 501, 502, 503); 

but for items, you can also use it's aegis name (constant)

setarray(.@item[0], Red_Potion, Orange_Potion, Yellow_Potion);  

this would call the related id, so even tho using the names here, it is still considered variables.
To say it simple: strings = words, variables = numbers
about your script:

setarray [email protected],501,502,503,504,505;
setarray [email protected],506,507,508,509,511; 

You store it as a global, temporary variable, which isn't needed at all here. Neither it is required to call it oninit, better call it when it is actually needed. I would do it when that part of the script is called.


}else ;

this is... well.. remove it

 set .@randType$, "[email protected]";

this is your actual problem. Your setting a string to a variable, also it's not specified which value of the array should be called. I think you want people to get 1 item out of 1 of those 2 random groups? There is actually no need to store them in arrays, i thin F_Rand comes in hany here


prontera,50,50,3	script	seller	50,{
	.@i = rand(1) // sets .@i randomly to either 0 or 1
	if (.@i)
		getitem(callfunc("F_Rand", Red_Potion, Orange_Potion, 503)); // if .@i has a value get 1 random item, you can use constants or ID's
		getitem(callfunc("F_Rand", Green_Potion, Red_Herb, 508 )); // and these if .@i is 0


This would pretty much do what you want. Note: Even i use constants here for item id's, these are still considered variables (id's)


Now back to your question regarding strings.

.@i$ = "This is a string"; 

or in an array

setarray(.@i$[0], "We", "are", "all", "strings"); 

in an array you can store several informations, strings or variables. 


note: in an array, the index starts at 0, not at 1, this means

.@i$[0] = We

.@i$[1] = are

.@i$[2] = all

.@i$[3] = strings


you can also return the whole array like

implode(.@i$, " "); //this retuns all entries of the array, so its "We are all strings"

Pick a random string

.@i$[rand(3)] // because index starts at 0, and rand(3) means random 0, 1, 2, or 3 


Note: i use .@ as temporal npc variables, this means they got deleted again once the npc finished and you don't waste memory to perm save it

Note 2: .@i$ is just an example, you can use any name you want for your strings or variables


about name of items, you can use getitemname. This works either with the ID or with the constant

getitemname(501) or getitemname(Red_Potion), you can also youe it for your arrays


setarray(.@items[0], Red_Potion, Yellow Potion, Orange Potion);
.@r = rand(2); // .@r is either 0, 1, or 2
getitem(.@items[.@r]), 1; // you get your item from the array
mesf("Congratiulations, you got a %s", getitemname(.@r)); //it receives the name of the item

mesf is how we use it if you want do it with huld, you put %s as a placeholder for strings, %d as placeholder for variables, then after the comma you call them. If you want to do it the old way, you do


mes("Congratulations, you got a "+getitemname(.@r)+""); 


same applies for arrays with variables, so if you really want to store them


setarray .@items[0], 501, 502, 503, 504, 505; // .@items[0] is 501 and .@items [4] is 505
getitem .@items[rand(4], 1; // random item 0, 1, 2, 3 or 4 

.@items[rand(4)] // because index starts at 0, and rand(3) means random 0, 1, 2, or 3 

#80633 "New Reborn" integrated job master

Posted by Ridley on 22 February 2017 - 04:01 PM

File Name: "New Reborn" integrated job master
File Submitter: Ridley
File Submitted: 22 Feb 2017
File Category: Utility

I did this a while ago. In order to use this script you need Olrox new_reborn map

This script is no physical job changer. instead each spike of the star shaped map represents a path of the classes. You walk up there to change your job. Extended Job's are available from a normal npc in the middle.

Important: This script uses Euphys default herc job changer as a base.

- the script gives out a +7 novi weapon for each of the base classes (check line 355 to 392)
- it has some fancy warp portals, feel free to edit it to default
- even more fancy, ressource eating rotating waiting rooms for exit and entrance (default prontera) which can be disabled as well (line 502 and 530)
- autobuff inc agi +10 for 1 minute each time you walk directly through the middle (or spawn)
- you can NOT skip rebirth. 1st job -> 2nd -> rebirth -> trans ->3rd
- it also has support for rebellion, but rebellion is not yet added on herc so you might want to disable it

This script was already tested live and worked fine. I did some edits tho but never optimized it since I lost interest in it. However, I think its something different from default Job Masters

Note: I really recommend to read through it and check for all options.

Some Screenshots

Click here to download this file

#80516 Doram Maps Mobs and NPC's Scripts

Posted by Ridley on 18 February 2017 - 10:18 PM

The mobs still missing stats, thats why I didn't include them here.

#80513 Doram Maps Mobs and NPC's Scripts

Posted by Ridley on 18 February 2017 - 10:00 PM

yes, but not sure when i do the pr (i work on this since some time, the recent iro testing helped a bit but there is still a lot missing).

for mobs

//== lasa_fild01 - Ravioli Plain Watch ========================
lasa_fild01,145,361,15,15    monster    Red Plant    1078,5,5000,0,0
lasa_fild02,0,0,0,0    monster    Eggring    3495,115,5000,0,0
lasa_fild02,0,0,0,0    monster    Leaf Lunatic    3496,115,5000,0,0
lasa_fild02,0,0,0,0    monster    Grass Fabre    3497,115,5000,0,0

//== lasa_fild02 - Ravioli Forest =============================
lasa_fild02,0,0,0,0    monster    Wild Hornet    3498,40,5000,0,0
lasa_fild02,0,0,0,0    monster    Sweet Roda Frog    3499,40,5000,0,0
lasa_fild02,0,0,0,0    monster    Hunter Desert Wolf    3500,40,5000,0,0
lasa_fild02,0,0,0,0    monster    Scout Basilisk    3502,2,5000,0,0

//== lasa_dun01 - Dragon Nest =================================
lasa_dun01,0,0,0,0    monster    Trance Spore    3501,15,5000,0,0
lasa_dun01,0,0,0,0    monster    Scout Basilisk    3502,20,5000,0,0

//== lasa_dun02 - Dragon Nest 2 ===============================
lasa_dun02,0,0,0,0    monster    Charge Basilisk    3503,15,5000,0,0
lasa_dun02,0,0,0,0    monster    Charge Basilisk 2    3504,15,5000,0,0

//== lasa_dun03 - Dragon Nest 3 ===============================
lasa_dun03,0,0,0,0    monster    Charge Basilisk 2    3504,15,5000,0,0
lasa_dun03,0,0,0,0    monster    Fruit Pom Spider    3507,15,5000,0,0

but i can not say much about their stats yet

#80348 @itemall and @itemmap

Posted by Ridley on 11 February 2017 - 11:40 PM

File Name: @itemall and @itemmap
File Submitter: Ridley
File Submitted: 12 Feb 2017
File Category: Utility

Give an item to all players online
@itemall <Item ID> <Item Amount>

Give an item to all players on the same map as you
@itemmap <Item ID> <Item Amount>

Using some old code from Emistry for this, thank you for your permission to use it.

Click here to download this file

#80335 Clan System

Posted by Ridley on 11 February 2017 - 11:35 AM



Just a side note. We all work here on a volunteer base, in our free time. For many of us this free time is limited. Most important, we do this without the intention of making money (and I claim for most people here, this is the exactly reason to host a server). 


If people not comfortable of the amount of time we put into this, and you think you can do it faster and better, then go ahead and do it.