-
Posts
43 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Posts posted by Paul
-
-
On 3/28/2025 at 2:54 AM, _Terra said:
You can check this line in src/map/trade.cpp
/** * Adds the specified amount of zeny to the trade window * This function will check if the player have enough money to do so * And if the target player have enough space for that money * @param sd : Player who's adding zeny * @param amount : zeny amount */ void trade_tradeaddzeny(map_session_data* sd, int32 amount) { map_session_data* target_sd; nullpo_retv(sd); if( !sd->state.trading || sd->state.deal_locked > 0 ) return; //Can't add stuff. if( (target_sd = map_id2sd(sd->trade_partner.id)) == nullptr ) { trade_tradecancel(sd); return; } if( amount < 0 || amount > sd->status.zeny || amount > MAX_ZENY - target_sd->status.zeny ) { // invalid values, no appropriate packet for it => abort trade_tradecancel(sd); return; } sd->deal.zeny = amount; clif_tradeadditem(sd, target_sd, 0, amount); }
/** * Adds the specified amount of zeny to the trade window * This function will check if the player have enough money to do so * And if the target player have enough space for that money * @param sd : Player who's adding zeny * @param amount : zeny amount */ void trade_tradeaddzeny(map_session_data* sd, int32 amount) { // Trading is disabled return; }
completely removed trading
-
12 hours ago, Denthorn_ said:
As of yet, no, I've made no further attempts since I posted it. I'll post back if/when I'm past this point.
I've tried using the WARP profiles provided in that github, as I mentioned in step 10, I believe WARP calls them profiles instead? Regardless, using them hasn't fixed the issue for me and even patching without making any changes at all still creates an executable that spams errors...
Sent you a friend request.
You can message me so i can recognize you
-
4 hours ago, Denthorn_ said:
I'm trying to set up a simple local server and have been having a difficult time getting a client patched. So far, I've been cross referencing various guides I've found on forums and on youtube, since I haven't been able to find anything that seems entirely up to date. I'd greatly appreciate some help figuring out what I'm doing wrong. What I've done so far is as follows:
1. Downloaded a full client from http://nemo.herc.ws/downloads/. The specific one I downloaded was the one under Kro main/sakray for 2022-07-06. I then used that to install the game and copied the installed files off into a new folder.
2. I grabbed RO Patcher Lite from here: https://nn.ai4rei.net/dev/rsu/, dropped that into my copy of the install folder, and ran it to patch the game. I dropped a copy of OpenSetup into there as well, but have yet to actually open it and have tried removing it to no avail, so I'm assuming its not related to my issues.
3. Once that finished, I downloaded the 2022-04-06 executable from the same place I got the original client download and saved that off in a different folder.
4. I downloaded the files from this git repo for this translation project: https://github.com/llchrisll/ROenglishRE, then followed their instructions to use the bat file in the "Tools" folder to generate the necessary translation files for a 2022-04-06 client. I copied those files into my copied install directory such that the DATA.ini file is at the same level as the executable and the SystemEN file is at the same level as the System file. I've also tried additionally copying over the files in the "Additions" folder in the translation project as well on a different attempt, otherwise following the same steps.
5. I created a new .grf in a grf editor, file -> New -> Grf, then dragging the data folder in my copy of the install directory into the grf editor over the "new.grf" field on the left. This looks like it works, I see "book", "contentdata", "luafiles514", and "texture" folders appear under the "data" folder.
6. Saved that .grf off into a new file called data_en.grf in my copy of the install directory.
7. Opened DATA.ini and added a new entry such that 0=data_en.grf, 1=server.grf, 2=data.grf. I've noticed that some examples I've seen of this step in other sources have an rdata.grf here, I don't see that file anywhere in my installation directory and the line isn't in the DATA.ini file. No idea what the deal is there.
8. Opened up WARP and loaded the executable from step 3 into the "Source" field and clicked "Load Source", clicking through the confirmation prompts.
9. Clicked "Select Recommended", clicked OK through the path confirmation for "Inputs/Translations_EN.yml", set the path for ItemInfo to the similarly named file in SystemEN (SystemEN/itemInfo.lua), then clicked OK to confirm the ini file's name as DATA.ini, and set the window title to Ragnarok_Patched.
10. At this point I've tried several approaches. I tried loading the .yml session provided by the translation repo, I believe the latest was 2019-06_Translation.yml and the documentation on their wiki said to just use the latest one, so that's what I did. In a separate attempt (I've tried doing this whole process like 6 or so times now tweaking various things here and there hoping to figure out what the problem was) I just searched for all patches in WARP that included "lub" and manually pointed them to the correct files in SystemEN (at least I think they're the correct ones, many of the files are not identically named and some of them have the same names, just with different suffixes. I'm reasonably confident I got the right files at the very least I've also done this at least twice in the hopes of making sure I didn't just mess one of them up). I've generally also selected a few other patches, specifically the max zoom patch and increased hair style limit to ~65k. I've also tried with the remove movement lag patch and it automatically seems to select a few when clicking "Select Recommended" like the "@ Bug fix" patch.
11. Clicked "Apply Patches", dropped the generated executable into my copy of the install directory, and from here my understanding is that it should be executable successfully, in so far as the client will boot and the translation will be visible, or so it seems to be the case from the several video guides I've found going over this. At this point, trying to run it causes the executable to spew errors until I manually close it through the task manager. The errors are always the same and in the same order. Specifically:
-- Title: ResetTheHotKey, Text: "attempt to call a nil value"
-- The same error repeats once
-- Title: "queryRegionInfo", Text: "attempt to call a nil value"
-- This error now repeats every time I click through it, until force closing the process.
At some point I tried just creating a patched client using WARP with no actual patches applied, if I recall correctly (its been a few days since I actually tried this, to be honest I threw my hands up in frustration and let it be for a few days after awhile, so my memory of every exact thing I tried isn't perfect) it also caused a number of errors to appear, but only a handful before the process successfully closed on its own. With that failing, I tried downloading NEMO and using that to patch instead, following the same process otherwise, which failed in the same way the WARP patch failed. Also tried doing a NEMO patch with no patches selected and had the same result as well. I've also tried using the 2022-03-30 executable instead of the 2022-04-06 one and saw the same results (I can't remember if the errors were identical or not, but the same pattern of them recurring indefinitely until force closing the process occurred). Trying to run the existing Ragnarok executable, it runs just fine in all cases with no errors, though obviously it is not translated. If anyone could help me figure out what on earth I'm doing wrong or point me in the right direction, I'd much appreciate it.
add discord:
paulgredona30
-
5 hours ago, Sallycantdance said:
Hello everyone, I would like to make this script work in a specific map only can somebody help me? Thank you in advance!
- script hourly_point_main -1,{ OnInit: .npc_name$ = strnpcinfo(3); .reward_minutes = 60; .target_map$ = "prontera"; // Restrict to Prontera bindatcmd("check", .npc_name$ + "::OnAtcommand"); end; OnAtcommand: dispbottom("Accumulated " + #daily_minute_count); end; OnPCLoginEvent: addtimer(.reward_minutes * 60000, .npc_name$ + "::OnUpdate"); end; OnUpdate: deltimer(.npc_name$ + "::OnUpdate"); addtimer(.reward_minutes * 60000, .npc_name$ + "::OnUpdate"); // Check if the player is in Prontera if (strcharinfo(3) != .target_map$) { end; } if (checkvending() & 2) { end; } #daily_minute_count += .reward_minutes; switch(#daily_minute_count) { case 60: case 120: case 180: case 240: case 300: case 360: case 420: #CASHPOINT += 1; getitem 677,1; break; case 480: #CASHPOINT += 1; getitem 677,1; #daily_minute_count = 0; // Reset counter after 8 hours break; } }
Features:
Works only in Prontera (
prontera
map)
Rewards every hour up to 8 hours
Prevents vending abuse
Resets counter after 8 hours
-
State it clear. You want a headgear npc and for hat effect?
-
-
12 minutes ago, Sallycantdance said:
hello regarding this script instead of zeny can i chaged it to item? also for everyone hour only ?
prontera,193,124,6 script Global Exp Amplifier#EventFloatingRates 10308,{ mes "[Global Exp Amplifier]"; mes "Current collected items:"; mes "~ [^0000ff" + callfunc("F_InsertComma", $collected_funds) + "^000000] Items"; mes "Target global items:"; mes "~ [^0000ff" + callfunc("F_InsertComma", .target_funds) + "^000000] Items"; mes "Still need " + callfunc("F_InsertComma", $donation_missing) + " Items to reach the target."; next; switch (select("Donate Items", "Cancel")) { case 1: mes "Enter the amount you want to donate:"; next; input .@donation; // Validations if (.@donation < .min_donation_items) { mes "The minimum donation amount is " + callfunc("F_InsertComma", .min_donation_items) + " Items."; end; } if (countitem(.donation_item) < .@donation) { mes "You don't have enough items."; end; } if (.@donation > $donation_missing) { mes "The amount exceeds the remaining balance."; mes "Remaining Balance: " + callfunc("F_InsertComma", $donation_missing) + " Items"; end; } // Apply the donation delitem .donation_item, .@donation; $collected_funds += .@donation; $donation_missing -= .@donation; mes "Donation successful. Thank you for your contribution!"; // Start the event if the target is reached if ($collected_funds >= .target_funds) { $collected_funds = 0; announce "[Global Exp Amplifier]: Target reached! Activating Floating Rates Event for 1 hour.", bc_all, 0xFF6060; donpcevent strnpcinfo(3) + "::OnStart"; // Ensure the event is triggered } end; } OnStart: if (.EventActive) end; // Prevent multiple activations // Start the event for 1 hour set .EventActive, 1; announce "[Floating Rates]: The event has now officially started!", bc_all, 0x00FF00; initnpctimer; // Start the NPC timer end; OnTimer60000: // Every 60 minutes (60,000 milliseconds) if (!.EventActive) end; // Assign random rates within the specified range set .@expRate, rand(5,8); set .@dropRate, rand(10,15) / 10; // 1.0x - 1.5x setbattleflag("base_exp_rate", .@expRate * 100); setbattleflag("job_exp_rate", .@expRate * 100); setbattleflag("item_rate_common", .@dropRate * 100); announce "[Floating Rates]: New Rates -> EXP: " + .@expRate + "x, DROP: " + .@dropRate + "x", bc_all, 0xFFD700; // This function is automatically repeated due to `initnpctimer` end; OnTimer3600000: // Event ends after 1 hour // Reset rates to normal setbattleflag("base_exp_rate", 100); setbattleflag("job_exp_rate", 100); setbattleflag("item_rate_common", 100); announce "[Floating Rates]: The event has ended. Rates are now back to normal.", bc_all, 0xFF0000; set .EventActive, 0; stopnpctimer; // Stops the NPC timer system end; OnInit: set .target_funds, 500; // Target donation amount (change this based on your needs) set .min_donation_items, 5; // Minimum donation amount set .donation_item, 501; // Example Item ID (Change to the correct one) set .EventActive, 0; set $donation_missing, .target_funds - $collected_funds; end; }
Zeny changed to an item donation (Replace
501
with the actual item ID you want).
Event lasts only 1 hour (
OnTimer3600000
).
Minimum donation is now in item quantity (
set .min_donation_items, 5;
).-
1
-
-
On 3/8/2025 at 8:58 PM, Skdbldnr said:
Hello, sobrang newbie po ako sa paggawa ng server. Gusto ko sana matutuo, from scratch nga ako galing. ang target ko is mid rate. Base level: 255 job level: 100, pre renewal server, transcendent class only.
Anong ROClient ang compatible sa gusto ko?
Dapat ko bang idownload ang latest version ng rAthena?
Ano ang tamang pag edit sa mga, drop rate?
Paano mag pasok ng mga custom items, npc shop?
Add mo ko skype : [email protected]
-
On 3/11/2025 at 7:12 PM, HeroiAgaezsi said:
Procuro programador, designers , entre outros para começar um mega projeto de um servidor Brasileiro. Estamos dispostos a investir bastante para fazer um server que bata de frente com os maiores ja existentes e até mesmo com o Global, caso alguem se interessa ou conheça quem tem a condição de ajudar nisso
Att
im not brazillian but i can be a programmer
-
On 9/8/2024 at 11:13 AM, keoma said:
Not yet, I can't get support here or in Brazil
I think its on your statusdb
try to look at this path.
db\pre-re\status.yml
and find this line - Status : Freeze
-
Could anyone help me find out how this happened?
My clone damage on was about 900+
And The clone damagetaken was 8500 / 6500
I think there was a problem with the source code mob.cpp in line mob_spawn() function
that needs to be edited/Modified or need to add new line of codes.
-
-
If you still got problem, I can make you customized patcher
just pm me.
-
what? kindly post screenshot..
-
What I don't understand, what is the question? This is the support forum, but where is the problem you need support?
Support not only means problem it also define advice.
I want some advice that is why i posted my un finish site.
if you have some , share it
-
It said your chatserversql server is 45 .
go to your \src\map\mmo.h
and find this line.
#define packet
if your client is 12-04-07 then
#define packet 12-04-07
and fix your clientinfo.xml It should be match with the packet version,
if your packet version is 45, then it should be the same as
version at your clientinfo.xml
Done
-
I told it wasnt finish yet. Im more on designing, im just taking some advice,
my site still on developing. LOL.
but thank you lol for your comment,
because this will be my guide.
If this is a rating : 1/10.
Because this is no design, this are 5 black boxes in front of a grey background with a bonus of a yellow lines around the black boxes. Sorry if I say it this way... For me it looks horrible.I told it wasnt finish yet. i did designing first,
Yeah it has no background yet and there's a lot more to fix.
my site still on developing. LOL.
but thank you lol for your comment,
because this will be my guide.
but you just watch, after i've done this. i can asure you that this would be the best XD
-
Probably Yes,
About Client? I think this link would match what you're looking for,
http://rathena.org/board/topic/84746-tutorial-how-to-create-ragnarok-offline-2013-client-tutorial/
If you've done this.
Just leave me message if you have something to ask.
-
you better go learn html,css,javascript,jquery,php,mysql. thats the only better way.
-
Hi guys'
I just want to share you my own website design,
And it wasnt finish yet. i just want to get some advice if my design is cool. or not,
So I will know what would im going to change.
I didnt use fluxCP cos its giving me a hardtime setting the desire design i wanted.
So i decided to make my own script. Cos I can do it on my own,
And I could write code like, HTML, CSS, JQUERY, PHP, And MYSQL.
It will give me too much Head ache LOL, but i know i can do this...
have a first sight.
-
just pick any original RYFL script and you will get the NPC that help you enable or disable the event.
Yeah But what i want is a NPC that will trigger if i choose unhide, then npc will comes out to the designated places.
I WOULD give it a try TO write THE SCRIPT in my own idea.
Like this,
- script npcEnabler 900{ if (getgmlvl(gmlvl) => 1){ Mes: "Would You Like To Unhide The NPC WARPER?"; close; switch (select("Yes","NO")) case 1: hidenpcoff("RFYL WARPER"); break; case 2: hidenpcon("RFYL WARPER"); break; end; } }
-
hello again.did you guys has a script of a npc that will enable the npc warper for rfyllike this methodwe pretend that i have a npc on quiz_01then i will go there to talk, and will let me choose to unhide or hide the warper on cityonce i choose unhide, the npc will be visible to all designated city. like prontera, morroc, etch.hope you guys have it.im looking forward thanks in advanced.
-
I do @pvp on map but when i get dead twice it will automatically return me to my last save map without clicking the return to savepoint.
And i dont want that.
-
I wonder why the damage on emperium is miss?
Even i activated the woe, by typing @agitstart
Still can't damage emp, PAYON,PRONT,ALDE
trade card 1.1 debug
in Scripting Support
Posted · Edited by Paul
Changes Authored
Changes & Fixes:
✔ Fixed
npcshopattach
Issue - Removed unnecessarynpcshopattach "card_shop";
.✔ Corrected Point Handling - Ensured correct
getd(.Points$)
usage for point calculations.✔ Improved Sell & Buy Logic - Ensured arrays are properly processed before deleting.
✔ Refactored
OnSellItem
andOnBuyItem
- More efficient iteration through sold/bought items.Try testing this version, and let me know if you need further adjustments!