-
Posts
152 -
Joined
-
Last visited
-
Days Won
9
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Posts posted by Earnestinence
-
-
8 minutes ago, Profile said:
What exactly is hexing?
Using the NEMO to patch the client? If so; yes I have.
it's working fine in my side!! just set
- #define MAX_CHARS 9 in mmo.h
-
chars_per_account: 9 in login_athena.conf
- or use import-tmpl/login_conf.txt: add this line chars_per_account: 9
then compile the server, and start RO
then check
-
-
locate and open /rathena/conf/import-tmpl/login_conf.txt
add this line
chars_per_account: 9
or you can simply edit login_athena.conf
edit line chars_per_account: 0 to chars_per_account: 9
-
1 hour ago, ViewtifulNinja said:
Hello guys.
I have a problem when creating my itemInfo.lua file. I'm using a program called ItemConverter, and in the description says that I need to put the following files in a folder:
Idnum2itemdesctable.txt
Idnum2itemdisplaynametable.txt
Idnum2itemresnametable.txt
Itemslotcounttable.txt
Num2itemdesctable.txt
Num2itemdisplaynametable.txt
Num2itemresnametable.txtThere is a note in the description too:
Note: if you want classNum field to be filled, copy your item_db.txt to the same folder, where your client side files are located.
Test with and without item_db.txt in the folder. If I leave without it, no weapon sprite appears in the character's hand, and if I put the item_db in the folder, all items have a single basic sprite. All two-handed swords, for example, are left with the sprite of the image below, regardless of which sword.
Does anyone know what I can do, or do I have some other way to edit the itemInfo.lua file, or convert direct from itemInfo.lub?
If I change directly in the itemInfo.lua, the game gives error when it starts and all items have seen an apple.
I even tested without making any changes to the files, and the same error happens.
revert all changes to lua files, and next time edit the lua files using Microsoft visual studio ( open it in MVS and edit the lines you want then save )
-
5 hours ago, NexusXVI said:
//===== rAthena Script ======================================= //= Hunting Missions //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Random hunting missions. //= Rewards are based on quest difficulty. //= //= NOTE: Requires SQL mob database. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.1 Small improvements and fixes. //= 1.2 Added party support and replaced blacklists with an //= SQL query, both thanks to AnnieRuru. //= 1.3 Re-added a blacklist adapted for the SQL query. //= 1.3a Added mission reset options. //= 1.3b Function updates. //= 1.4 Check for deleted characters, thanks to AnnieRuru. //= Syntax updates and style cleaning. //============================================================ prontera,152,187,6 script Hunting Missions 951,{ function Chk; mes "[Hunting Missions]"; mes "Hello, " + strcharinfo(0) + "!"; if (!#Mission_Delay) { next; mes "[Hunting Missions]"; mes "I can't find any records..."; mes "You must be new here!"; emotion e_omg; next; callsub Mission_Info; emotion e_go; #Mission_Delay = 1; close; } mes rand(2) ? "Working hard, as always..." : "Not slacking, I hope..."; mes "Is there anything I can help"; mes "you with?"; mes " "; mes "^777777~ You've completed " + callfunc("F_InsertPlural",Mission_Total,"mission",0,"^0055FF%d^777777 %s") + ". ~^000000"; next; switch(select( ((!Mission0) ? " ~ New Mission::" : ": ~ Mission Status: ~ Abandon Mission") + ": ~ Information: ~ Mission Shop: ~ View Top Hunters: ~ ^777777Cancel^000000" )) { case 1: mes "[Hunting Missions]"; if (#Mission_Count) { mes "You've started a mission"; mes "on another character."; if (!@hm_char_del_check) { // check for deleted character query_sql("SELECT 1 FROM `char_reg_num` WHERE `key` = 'Mission0' AND `char_id` IN(SELECT `char_id` FROM `char` WHERE `account_id` = " + getcharid(3) + ")", .@i); if (!.@i) { next; mes "[Hunting Missions]"; mes "I can't seem to find any records"; mes "for that character, though..."; mes "One moment, please."; emotion e_hmm; #Mission_Count = 0; } @hm_char_del_check = 1; } close; } if (#Mission_Delay > gettimetick(2) && .Delay) { mes "I'm afraid you'll have to wait " + callfunc("Time2Str",#Mission_Delay) + " before taking another mission."; close; } mes "You must hunt:"; query_sql("SELECT ID FROM `" + .mob_db$ + "` WHERE left(Sprite, 4) != 'meta' AND left(Sprite, 2) != 'E_' AND ~Mode & 32 AND EXP > 0 AND MVP1id = 0 AND DropCardid > 4000 AND DropCardid < 5000 AND ID < 2000 AND instr('"+.Blacklist$+"',ID) = 0 ORDER BY rand() LIMIT " + .Quests, .@mob); for (.@i = 0; .@i < .Quests; .@i++) { setd "Mission" + .@i, .@mob[.@i]; setd "Mission" + .@i +"_", 0; } #Mission_Count = rand(.Count[0], .Count[1]); callsub Mission_Status; next; mes "[Hunting Missions]"; mes "Report back when"; mes "you've finished."; mes "Good luck!"; close; case 2: mes "[Hunting Missions]"; mes "Mission status:"; callsub Mission_Status; close; case 3: mes "[Hunting Missions]"; mes "Do you really want to"; mes "abandon your mission?"; if (.Reset < 0 && .Delay) mes "Your delay time will not be reset."; else if (.Reset > 0) mes "It will cost " + callfunc("F_InsertComma",.Reset) + " Zeny."; next; switch(select(" ~ Abandon...: ~ ^777777Cancel^000000")) { case 1: if (.Reset > 0) { if (Zeny < .Reset) { mes "[Hunting Missions]"; mes "You don't have enough"; mes "Zeny to drop this mission."; emotion e_sry; close; } Zeny -= .Reset; emotion e_cash; } mes "[Hunting Missions]"; mes "Alright, I've dropped"; mes "your current mission."; specialeffect2 EF_STORMKICK4; for (.@i = 0; .@i < .Quests; .@i++) { setd "Mission"+.@i, 0; setd "Mission"+.@i+"_", 0; } #Mission_Count = 0; if (.Reset < 0 && .Delay) #Mission_Delay = gettimetick(2) + (.Delay * 3600); close; case 2: mes "[Hunting Missions]"; mes "I knew you were kidding!"; mes "Keep up the good work."; emotion e_heh; close; } case 4: callsub Mission_Info; close; case 5: mes "[Hunting Missions]"; mes "You have ^0055FF" + #Mission_Points + "^000000 Mission Points."; mes "Use them well!"; callshop "mission_shop",1; npcshopattach "mission_shop"; end; case 6: mes "[Hunting Missions]"; mes "The top hunters are:"; query_sql("SELECT char_id AS id, (SELECT `name` FROM `char` WHERE char_id = id),`value` FROM `char_reg_num` WHERE `key` = 'Mission_Total' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 5", .@id, .@name$, .@val); for (.@i = 0; .@i < 5; .@i++) mes " [Rank " + (.@i+1) + "] " + ((.@name$[.@i] == "") ? "^777777none" : "^0055FF" + .@name$[.@i]+"^000000 : ^FF0000" + .@val[.@i] + " pt.") + "^000000"; close; case 7: mes "[Hunting Missions]"; mes "Nothing? Okay..."; emotion e_hmm; close; } end; Mission_Status: @f = 0; deletearray .@j[0], getarraysize(.@j); for (.@i = 0; .@i < .Quests; .@i++) { .@j[.@i] = getd("Mission" + .@i); .@j[.Quests] = .@j[.Quests] + strmobinfo(3,.@j[.@i]); .@j[.Quests+1] = .@j[.Quests+1] + (strmobinfo(6,.@j[.@i]) / (getbattleflag("base_exp_rate") / 100) * .Modifier[0]); .@j[.Quests+2] = .@j[.Quests+2] + (strmobinfo(7,.@j[.@i]) / (getbattleflag("job_exp_rate") / 100) * .Modifier[1]); mes " > "+Chk(getd("Mission"+.@i+"_"),#Mission_Count) + strmobinfo(1,.@j[.@i]) + " (" + getd("Mission"+.@i+"_") + "/" + #Mission_Count + ")^000000"; } // Reward formulas: .@Mission_Points = 3 + (.@j[.Quests] / .Quests / 6); .@Base_Exp = #Mission_Count * .@j[.Quests+1] / 5; .@Job_Exp = #Mission_Count * .@j[.Quests+2] / 5; .@Zeny = #Mission_Count * .Quests * .@j[.@i] * .Modifier[2]; next; mes "[Hunting Missions]"; mes "Mission rewards:"; mes " > Mission Points: ^0055FF" + .@Mission_Points + "^000000"; mes " > Base Experience: ^0055FF" + callfunc("F_InsertComma",.@Base_Exp) + "^000000"; mes " > Job Experience: ^0055FF" + callfunc("F_InsertComma",.@Job_Exp) + "^000000"; mes " > Zeny: ^0055FF" + callfunc("F_InsertComma",.@Zeny) + "^000000"; if (@f) { @f = 0; return; } next; mes "[Hunting Missions]"; mes "Oh, you're done!"; mes "Good work."; mes "Here's your reward."; emotion e_no1; specialeffect2 EF_ANGEL; specialeffect2 EF_TRUESIGHT; #Mission_Points += .@Mission_Points; BaseExp += .@Base_Exp; JobExp += .@Job_Exp; Zeny += .@Zeny; for (.@i = 0; .@i < .Quests; .@i++) { setd "Mission" + .@i, 0; setd "Mission" + .@i+"_", 0; } #Mission_Count = 0; if (.Delay) #Mission_Delay = gettimetick(2) + (.Delay * 3600); Mission_Total++; if (Mission_Total == 1) query_sql("INSERT INTO `char_reg_num` (`char_id`,`key`,`index`,`value`) VALUES (" + getcharid(0) + ",'Mission_Total','0',1)"); else query_sql("UPDATE `char_reg_num` SET `value` = " + Mission_Total + " WHERE `char_id` = " + getcharid(0) + " AND `key` = 'Mission_Total'"); close; Mission_Info: mes "[Hunting Missions]"; mes "If you so choose, I can assign"; mes "you a random hunting quest."; mes "Some are easier than others, but"; mes "the rewards increase with difficulty."; next; mes "[Hunting Missions]"; mes "Missions points are shared"; mes "amongst all your characters."; if (.Delay) mes "Delay time is, too."; mes "You can't take missions on"; mes "multiple characters at once."; next; mes "[Hunting Missions]"; mes "You can start a quest"; mes (.Delay ? "every " + ((.Delay == 1) ? "hour." : .Delay + " hours.") : "whenever you want."); mes "That's everything~"; return; function Chk { if (getarg(0) < getarg(1)) { @f = 1; return "^FF0000"; } else return "^00FF00"; } OnBuyItem: @cost = 0; for (.@i = 0; .@i < getarraysize(@bought_nameid); .@i++) for (.@j = 0; .@j < getarraysize(.Shop); .@j += 2) if (@bought_nameid[.@i] == .Shop[.@j]) { set @cost, @cost + (.Shop[.@j+1] * @bought_quantity[.@i]); break; } mes "[Hunting Missions]"; if (@cost > #Mission_Points) mes "You don't have enough Mission Points."; else { for (.@i = 0; .@i < getarraysize(@bought_nameid); .@i++) { getitem @bought_nameid[.@i], @bought_quantity[.@i]; dispbottom "Purchased " + @bought_quantity[.@i] + "x " + getitemname(@bought_nameid[.@i]) + "."; } #Mission_Points -= @cost; mes "Deal completed."; emotion e_cash; } @cost = 0; deletearray @bought_nameid[0], getarraysize(@bought_nameid); deletearray @bought_quantity[0], getarraysize(@bought_quantity); close; OnNPCKillEvent: if (!getcharid(1) || !.Party) { if (!#Mission_Count || !Mission0) end; for (.@i = 0; .@i < .Quests; .@i++) { if (strmobinfo(1,killedrid) == strmobinfo(1,getd("Mission" + .@i))) { if (getd("Mission" + .@i + "_") < #Mission_Count) { dispbottom "[Hunting Mission] Killed " + (set(getd("Mission" + .@i + "_"),getd("Mission" + .@i + "_") + 1)) + " of " + #Mission_Count + " " + strmobinfo(1,killedrid) + "."; end; } } } } else if (.Party) { .@mob = killedrid; getmapxy(.@map1$,.@x1,.@y1,UNITTYPE_PC); getpartymember getcharid(1),1; getpartymember getcharid(1),2; for (.@i = 0; .@i < $@partymembercount; .@i++) { if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) { set .@Mission_Count, getvar(#Mission_Count, $@partymembercid[.@i]); set .@Mission0, getvar(Mission0, $@partymembercid[.@i]); set .@HP, getvar(HP, $@partymembercid[.@i]); if (.@Mission_Count && .@Mission0 && .@HP > 0) { getmapxy(.@map2$,.@x2,.@y2,UNITTYPE_PC); if ((.@map1$ == .@map2$ || .Party == 1) && (distance(.@x1,.@y1,.@x2,.@y2) <= 30 || .Party < 3)) { for (.@j = 0; .@j < .Quests; .@j++) { .@my_mob_id = getvar( getd("Mission"+.@j),$@partymembercid[.@i] ); .@my_count = getvar( getd("Mission"+.@j+"_"), $@partymembercid[.@i] ); if (strmobinfo(1,.@mob) == strmobinfo(1,.@my_mob_id)) { if (.@my_count < .@Mission_Count) { setd "Mission"+.@j+"_", (.@my_count+1), $@partymembercid[.@i]; dispbottom "[Hunting Mission] Killed " + (.@my_count+1) + " of " + .@Mission_Count + " " + strmobinfo(1,.@mob) + ".", 0x777777, $@partymembercid[.@i]; break; } } } } } } } } end; OnInit: .Delay = 12; // Quest delay, in hours (0 to disable). .Quests = 4; // Number of subquests per mission (increases rewards). .Party = 3; // Party options: 0 (exclude party kills), 1 (include party kills), 2 (same map only), 3 (screen area only) .Reset = -1; // Reset options: -1 (abandoning mission sets delay time), 0 (no delay time), [Zeny] (cost to abandon mission, no delay time) setarray .Count[0], // Min and max monsters per subquest (increases rewards). 40,70; setarray .Modifier[0], // Multipliers for Base Exp, Job Exp, and Zeny rewards. getbattleflag("base_exp_rate")/100,getbattleflag("job_exp_rate")/100,60; .mob_db$ = // Table name of SQL mob database (checkre(0))?"mob_db_re":"mob_db"; setarray .Shop[0], // Reward items: <ID>,<point cost> (about 10~20 points per hunt). 512,1,513,1,514,1,538,5,539,5,558,10,561,10; .Blacklist$ = // Blacklisted mob IDs. "1062,1088,1183,1186,1200,1212,1220,1221,1234,1235,"+ "1244,1245,1250,1268,1290,1293,1294,1296,1298,1299,"+ "1300,1301,1303,1304,1305,1306,1308,1309,1311,1313,"+ "1515,1588,1618,1676,1677,1678,1679,1796,1797,1974,"+ "1975,1976,1977,1978,1979"; npcshopdelitem "mission_shop",512; for (.@i = 0; .@i < getarraysize(.Shop); .@i += 2) npcshopadditem "mission_shop", .Shop[.@i], .Shop[.@i+1]; end; } - shop mission_shop -1,512:-1
I have been having a problem about the hunting missions, sometimes It's not reading the kills and when you do use zeny as payment for reset.. The monster doesnt count afterwards.
as far as i know Euphy doesn't support his scripts anymore!
-
tell me the steps you did, i don't think the client has anything to do with adding new maps
-
2 hours ago, vikshit said:
I am having very random problem , i had my server working quite fine but suddenly i am not able to connect in-game , here how it occurs :
1.Able to log - in, can enter the char selection but not able to log in it has message "Failed to Connect Server".2.When i re-log again it says "Serve still recognizes your last login".
3.Sometimes i am able to log-in successfully in-game , but when i again try to after couple of minute (same as 1 & 2 occurs)
Here is my console how it looks like when , it behaves unconditional:
[Status]: Request for connection of admin1 (ip: 42.106.79.221) version=30 [Notice]: Authentication accepted (account: admin1, id: 2000000, ip: 42.106.79.221) [Status]: Connection of the account 'admin1' accepted. [Info]: Closed connection from '42.106.79.221'. [Info]: request connect - account_id:2000000/login_id1:2094972061/login_id2:1892657457 [Info]: sd->version = 30 [Info]: Loading Char Data (2000000) [Info]: Guild loaded (2 - HellenicRo Team) [Info]: Char load request (150000) [Info]: storage load complete from DB - id: 2000000 (total: 316) [Info]: Loaded char (150000 - GM Hellenic): status memo inventory cart storage skills friends hotkeys mercenary [Info]: Selected char: (Account 2000000: 0 - GM Hellenic) [Info]: Subnet check [42.106.79.221]: WAN [Info]: Closed connection from '192.99.167.170'. [Status]: Request for connection of admin1 (ip: 42.106.79.221) version=30 [Notice]: Authentication accepted (account: admin1, id: 2000000, ip: 42.106.79.221) [Notice]: User 'admin1' is already online - Rejected. [Info]: Closed connection from '42.106.79.221'.
I didn't touch my conf files since , it was working fine , also i check all my ports forwarding (yes they are forwarded) , i just don't understand where i am going wrong after subnet check[ ] nothing occurs in console , Please provide me a solution to this
Thank you.
when you patched your client did you check : disable packet encryption ?
-
Solve: last update of kRO fix the problem
-
1 hour ago, GamerZero said:
When you translate the item into iteminfo.lua or .lub
Strange characters appear and the error system/iteminfo.lua :unfinished string nearAnd no accents
Hexed 2015-11-04aRagexe
data zackdreaver/ROenglishRE
did you modify iteminfo.lua file?
-
5 hours ago, Akkarin said:
Just as a quick note, np++ isn't a requirement. You should also be teaching people how to use the import directories instead of editing files directly within conf/ as this causes the most issues when updating.
Using wamp for a local server is also overkill with automatic installation of apache and php, as you only need MySQL you'll be better off installing MySQL Community Server and the Workbench tool.
We don't use svn, so TortoiseSVN is the wrong tool.
I'll remove this post once you've fixed your guide.
4 hours ago, Kaze said:Other note, when compiling rA Emulator I usually make "Clean Solution" before doing "Build Solution". it's an old way that I used in eAthena before.
Thanks both for the notes, i'll update everything including the video now, and sorry for my mistakes
-
1
-
1
-
-
- Popular Post
- Popular Post
Hello rAthena Community
I'm Earnestinence, and i'll be guiding you to setup rAthena and run Ragnarok
Programs you need to install before we start
-
Downloads:
- Github : https://desktop.github.com/
- MySQL (When installing: make sure to check 'Use Legacy Authentication Method; Retain MySQL 5.x compatibility' ) : http://www.mysql.com/downloads/mysql/
-
MySQL Workbench : http://www.mysql.com/downloads/workbench/
- Note: remember the username and password you set when installing !
-
Latest Clean kRO Full Client : by: @Akkarin
-
Spoiler
-
-
Microsoft Visual Studio ( MVS ) : https://www.visualstudio.com/downloads/
- Visual Studio is a code editor supporting and C andC++ compiler. more info Click here by @Aleos
-
Notepad ++ : https://notepad-plus-plus.org/download/
- Note: Notepad++ source code editor and Notepad replacement ( or just use notepad )
-
2015-11-04a unpacked client: https://mega.nz/#!w84jRRjZ!iWjU1Qfsez_3nbTtqQuFWHsbda2IglPi7TBnzZWmJtI by: @Napster
- rAthena support all the clients listed in the packet files : read more
Required Files:
- After you download and install GitHub download these files using GitHub
-
File > Clone Repository
-
rAthena ( server ) :
https://github.com/rathena/rathena.git
-
rAthena ( server ) :
-
- English Translated System & Data Folders RE/PRE: by @zackdreaver
-
Spoiler
- For Renewal: https://github.com/zackdreaver/ROenglishRE For Pre-Renewal : https://github.com/zackdreaver/ROenglishPRE
-
NEMO Client Patcher : https://github.com/MStr3am/NEMO.git
- For more info see this topic by @NeoMind
-
Client Setup : http://nn.ai4rei.net/dev/opensetup/
- Client setup for Ragnarok Online by @Ai4rei
==========================================
Setting up rAthena Server-Side: See video time-line: 00:02
Step 1: Download/Clone rAthena Source
-
Open GitHub.
- Click Clone repository.
- Click URL tap.
- Copy and paste this URL: https://github.com/rathena/rathena.git
- Choose the downloading path.
- Click Clone and wait for it do finish downloading.
Step 2: Configuring rAthena See video time-line: 00:35
-
open rathena/conf/import/char_conf.txt
-
Add these lines :
- userid: username
- passwd: password
- login_ip: 127.0.0.1
- char_ip: 127.0.0.1
-
[Optional] To change server name add this line :
- server_name: YourDesiredServerName
- Note: If you want to change anything in char_athena.conf, use the import-tmpl directory to avoid future issues when updating. ( just add the respective value you want ).
-
Add these lines :
-
rathena/conf/import/map_conf.txt
-
Add these lines:
- userid: username
- passwd: password
- char_ip: 127.0.0.1
- map_ip: 127.0.0.1
- Note: If you want to change anything in map_athena.conf, use the import-tmpl directory to avoid future issues when updating. ( just add the respective value you want ).
-
Add these lines:
-
rathena/conf/import/inter_conf.txt
-
Add these lines
- login_server_db: rathena
- ipban_db_db: rathena
- char_server_db: rathena
- map_server_db: rathena
- log_db_db: rathena_logs
- Note: If you want to change anything in map_athena.conf, use the import-tmpl directory to avoid future issues when updating. ( just add the respective value you want ).
- Note: I use rathena as my main database which contain all main tables (like: chars, login, guilds, etc... ). However, I like to separate my logs to rAthena_logs .
-
Add these lines
Step 3: Compiling rAthena See video time-line: 02:16
-
Locate rathena/rAthena.sln
- Locate and right click rAthena.sln open with > Microsoft Visual Studio 2017 ( or 2013 / 2015 )
- Wait for the MVS to load the project, when it's ready select Solution 'rAthena' (8 projects) and then right click and Click 'Clean Solution' First when clean finish successfully click on 'build Solution'
- Wait for it to finish, make sure the log below finish successfully
Step 4: Setting SQL Database ( make sure MySQL installed and running ) See video time-line: 03:13
-
open MySQL Workbench
-
log in :
- Using the username 'root 'and the password you set when you first install MySQL ( If you don't remember the password, you can reconfigure MySQL using MySQL installer )
-
once you logged in create new user account and grant Administrator Privileges: - See video time-line: 04:17
- In The Left Side click on Users and Privileges
- At The Bottom click on Add account
- Set Login Name : ragnarok
- Set Password : ragnarok
- Set Confirm Password : ragnarok
- At The Top Menu Click Administrative Roles: and then check DBA
- Click Apply
- logout by clicking on X at the top of the current tap and then login using the new user account ragnarok with password ragnarok See video time-line: 05:00
-
Creating databases/schema : See video time-line: 05:26
-
Click on
create new database/schema
- Set the Name: rathena ( this will be our main database/schema )
- Set Charset: utf8 ( Now this's is important you need to check this )
- Click apply, apply and then finish
-
Now Click on
create new database/schema
- Set the Name: rathena_logs ( this will be our logs database/schema )
- Set Charset: utf8 ( Now this's is important you need to check this )
- Click apply, apply and then finish
-
Click on
-
import rathena SQL files to rathena & rathena_logs databases: See video time-line: 06:16
- Double click on rathena database/schema we've just created
-
Click on
- locate rathena folder and go to rathena/sql-files and click on main.sql
-
Click on the light icon
* wait for the tablet to be executed *
- Double click on rathena_logs database/schema we've just created
-
Click on
- locate rathena folder and go to rathena/sql-files and click on logs.sql
-
Click on the light icon
* wait for the tablet to be executed *
-
change the username and password of the server: See video time-line: 07:03
- Now next/around rathena database right click on a blank area and click refresh all ( in order to view the tables we've just created or just relog )
- Click on rathena database/schema > tables > locate login table..
- now click on tables and locate login table then right click and click on select Rows - Limit 1000
- Double click on s1 and change it to username then hit enter ( we put the userid: username in rathena/conf/import-tmpl/char_conf.txt and map_conf.txt make sure you use the same one you put in these files )
- Double click on p1 and change it to password then hit enter ( we put the passwd: password in rathena/conf/import-tmpl/char_conf.txt and map_conf.txt make sure you use the same one you put in these files )
- Click apply, apply and then finish
-
log in :
Step 5 ( running the server )
-
Running rAthena server See video time-line: 07:35
-
locate rathena folder rathena/ click on runserver
- ( less than 8 mins without any errors )
-
locate rathena folder rathena/ click on runserver
==================================================
Client Side Running & patch ragnarok online client
-
open Official kRO Client/
-
Updating kRO Files:
- Locate and run rsu-kro-rag-lite.exe and wait for it to finish and then rsu-kro-renewal-lite.exe and wait for it to finish updating ..
-
Adding translated system/data files
- Locate ROenglishRE or ROenglishPRE and copy Data & System folders , GuildTip & Tipoftheday
- and paste these files into the official kro client folder ( Replace the files when asked )
-
Setting up clientinfo.xml :
-
locate official kRO client folder open folder data/ and edit file clientinfo.xml
-
change the version to 55 <version>55</version>(This might not be needed anymore.) - set the langtype to 1 < To be able to write in English. ( refer to this page to find your preferred language beside English: https://github.com/rathena/rathena/wiki/Clientinfo.xml ).
-
set admin sprite for any account you want, just put the account id
-
<aid> <admin>2000000</admin> </aid>
-
-
-
locate official kRO client folder open folder data/ and edit file clientinfo.xml
- Copy and paste the setup file into the the official kRO client folder
-
Patching the Client 2015-11-04
- load the client and select recommended and click enter for data.ini and then CHANGE/EDIT system/iteminfo.lub to system/iteminfo.lua and check read data folder first, ignore missing palettes, ignore resource errors and then customize the client as you want
-
Updating kRO Files:
-
Here's my additional patches: >>> Custom Window Title ( name you server ) Disable Swear Filter Disconnect to Login Window Enable Title Bar Menu Read Data Folder First Show Cancel To Service Select Ignore Missing Palette Error Ignore Resource Errors Use Ragnarok Icon ( ragnarok icon for the client ) <<<
copy the new 2015-11-04aRagexe_patched and paste it your official kRO client folder
now the client is ready, just run the game using 2015-11-04aRagexe_patched and Enjoy
to create a male account just type ex: admin_f for female - admin_m for male
and don't forget to set the account group id 99 to get full GM permissions
Issue #1: Closed connection from '127.0.0.1'.
Solve: go to your rathena/src/custom/defines_pre.hpp and open it with notepad++ ( or any notepad ) add this line #define PACKETVER 20151104
========================================================
As of 28-7-2018: the topic is fully updated and support MySQL 8.x
========================================================
For further questions or concerns regarding the tutorial, Do NOT hesitate to contact me in this topic.
- Earnestinence
-
12
-
23
-
4
-
1
-
Just now, vBrenth said:
Are you able to patch 64k Hairstyle on 2017-01-25 client?
i don't use 2017 clients actually , however there seems to be a problems with hairstyle and haircolor in the newer clients 2015+ in general there's top unanswered question in the general support
-
Use this:
On 12/16/2016 at 8:29 AM, Carlos Silva said: -
Just now, Questune09 said:
wow thank you i dont notice it
please use the search more,
and for simple things you can ask me in discord Sexual dounts#9142
-
Hello again @Questune09,
you need to specifiy if its AddHunting or AddCollection
and add this
()
just like is says in the script line :275
//AddHunting("<Quest Name>",<Min Lvl>,<Max Lvl>,<Reward|Item ID>,<Reward|Item Amount>,<Zeny Reward>,<Base EXP>,<Job EXP>,<Monster ID>,<Monster Amount>,...);
=============
so add : AddHunting or AddCollection
and add: ();
AddHunting("Missing Monster",1,20,7720,2,300,6975,5175,1010,15); AddHunting("Missing Monster2",21,50,7720,2,500,13050,9675,1028,20); AddHunting("Kill the pest",40,100,7720,6,700,103725,150300,1500,25); AddHunting("Summer Quest",40,60,7720,5,1000,72225,81000,1323,32); AddHunting("Curse of Snake",60,105,7720,5,5000,293062,219712,1148,35); AddHunting("Curse of Amulet",41,75,7720,5,10000,59625,67050,1188,50); AddHunting("Doctors Sick",61,100,7720,5,20000,91125,102600,1099,50); AddHunting("Red Dragon",81,100,7720,8,25000,146700,169200,1715,33); AddHunting("Fast Cat",70,175,7720,15,350000,108000,76800,2072,100); AddHunting("Dark Summoner",81,120,7720,8,32000,273375,187425,1198,50); AddHunting("Ancient Mimic",101,150,7720,17,50000,275400,232650,1699,67); AddHunting("Another Tsk?",101,140,7720,12,35000,360112,304987,1987,65); AddHunting("Flame Trower",121,175,7720,12,330000,424350,318150,1682,80); AddHunting("Small Swordwoman",141,175,7720,10,588510,501750,1658,75); AddHunting("Fake Messenger",101,150,7720,6,30000,421975,341425,1371,55);
-
1
-
-
2 hours ago, Questune09 said:
Thank you
you're welcome , don't forget to change the map int the pre-edited script!
-
1
-
-
-
-
On 6/2/2017 at 3:27 AM, Hossam said:
i dont know he can send item to all mab
are you using a custom command for rewards? check if players use that command
also check the database logs atcommand
-
Hello again, @Questune09 please do not use word "
Masters" for greetings, instead use friends, guysanyway..
you forgot to use getarg(4) getarg(5)
A: manually Add & replace
B: copy & paste the full edited script
A
step 1:
add
|| countitem( getarg(4) ) < getarg(5)
to
if( countitem( getarg(2) ) < getarg(3)
step 2:
replacemes "Exchange "+getarg(3)+" "+getitemname( getarg(2) )+" into "+getarg(1)+" "+getitemname( getarg(0) )+"?";
to
mes "Exchange "+getarg(3)+" "+getitemname( getarg(2) )+" and 1 "+getitemname ( getarg(4) )+" into "+getarg(1)+" "+getitemname( getarg(0) )+"?";
step 3:
add
delitem getarg(4),getarg(5);
under
mes "Done"; delitem getarg(2),getarg(3);
B
for pre-edited script:
veil,120,100,4 script Memory of Tears 10092,{ function Exchange; mes "Why you are here??"; mes "Oh a Energy Debris and Job soul i like that give me that choose one"; next; switch( select( "Old Rune Circlet [1]", "Old Mitra [1]", "Old Driver Band [1]", "Old Driver Band (Yellow) [1]", "Old Shadow Crown [1]", "Old Minstrel Song [1]", "Old Midas Whisper [1]", "Old Magic Stone Hat [1]", "Old Burning Spirit [1]", "Old Wispers of Wind [1]", "Old Circlet of Bone [1]", "Old Guardian Crown [1]", "Old Camouflage of Rabbit Hood [1]" )){ // Exchange( <Item Gained>,<Amount>,<Item Required>,<Amount> ); case 1: Exchange( 18971,1,6820,50,6814,1 ); break; case 2: Exchange( 18972,1,6820,50,6819,1 ); break; case 3: Exchange( 18973,1,6820,50,6815,1 ); break; case 4: Exchange( 18974,1,6820,50,6815,1 ); break; case 5: Exchange( 18983,1,6820,50,6816,1 ); break; case 6: Exchange( 18976,1,6820,50,6818,1 ); break; case 7: Exchange( 18977,1,6820,50,6815,1 ); break; case 8: Exchange( 18978,1,6820,50,6817,1 ); break; case 9: Exchange( 18979,1,6820,50,6819,1 ); break; case 10: Exchange( 18980,1,6820,50,6817,1 ); break; case 11: Exchange( 18982,1,6820,50,6816,1 ); break; case 12: Exchange( 18983,1,6820,50,6814,1 ); break; case 13: Exchange( 18984,1,6820,50,6818,1 ); break; default: mes "Wrong Selection"; break; } close; function Exchange { mes "Exchange "+getarg(3)+" "+getitemname( getarg(2) )+" and 1 "+getitemname ( getarg(4) )+" into "+getarg(1)+" "+getitemname( getarg(0) )+"?"; if(select("Yes","No")==1){ if( countitem( getarg(2) ) < getarg(3) || countitem( getarg(4) ) < getarg(5) ){ mes "Sorry you didnt have enough Items to trade."; close; }else{ next; mes "Done"; delitem getarg(2),getarg(3); delitem getarg(4),getarg(5); getitem getarg(0),getarg(1); } } return; } }
Enjoy, Ceil phantomhive-
2
-
-
Hello, please provide more information about it ( the quest ) is it official or custom quest ?
-
1
-
-
15 hours ago, Questune09 said:
working !! thank you
You are welcome, please do not forget to mark as best answer
-
3
-
-
3 hours ago, GiovanT said:
conf\battle\drops.conf line:77
set
item_rate_mvp: 0
// The rate adjustment for the MVP items that the MVP gets directly in their inventory // Mode: 0 - official order, 1 - random order, 2 - all items item_rate_mvp: 100 item_drop_mvp_min: 1 item_drop_mvp_max: 10000 item_drop_mvp_mode: 0
-
i don't think the " lucky roulette " system is ready yet!
Map close only for GM
in Scripting Support
Posted
Here try this, i used this for a while and i edited the coordinates to respawn each the GM and the player into chairs you should check it out