-
Posts
431 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Magnetix
-
Find //Check to see if the items is already +10 if(getequiprefinerycnt([email protected]) >= 10) { getitem 542,1; dispbottom "I can't refine this any more. This is as refined as it gets!"; close; } replace with //Check refinement if ( getequiprefinerycnt([email protected]) < 8 || getequiprefinerycnt([email protected]) >= 10 ) { getitem 542,1; dispbottom "I can only refine +8 and +9 items!"; close; }
-
Stolao's Daily Login Reward call with item
Magnetix replied to Sephiroth91's question in Scripting Support
Try donpcevent "LOGIN::OnLoginCmnd"; -
Would someone mind helping me check party member IP and UID?
Magnetix replied to DR4LUC0N's question in Scripting Support
Please refer to my reply and ignore my suggestion at the bottom. I already mentioned that the script already offers a uid check, you just have to reuse it. veil,81,134,6 script Quistis Trepe 10414,{ .gui = get_unique_id (); [email protected] = query_sql("SELECT `dailybbq` FROM `bloody_branch_uid` WHERE `unique_id` = "+.gui+" LIMIT 1", [email protected]); mes "[Quistis Trepe]"; mes "Say... do you want to play the MvP Ladder game? It cost 15 Vote Coins Per person, total of 30 Vote Coins now to get in."; next; switch(select("Yes, let's get it on!:Information.:Show me the best record.:No.")) { case 1: if ([email protected] == 0) { break; } else if ([email protected] >= 1) { mes "You have already completed the Bloody Branch Quest for today. Come back tomorrow after 12:00am server time."; close; } Here's the line of codes that verify party members' IP //Check party member UniqueID and see if they have completed for the day. if([email protected] == 0 && [email protected] == 1) { set [email protected], 1; } // If same IP is on party else if([email protected] == 1 && [email protected] == 0) { set [email protected], 1; } else if([email protected] == 0 && [email protected] == 0) { // Add IP to party list for checking [email protected]_list$ += "|" + [email protected]$ + "|"; // Add Unique_ID to party list for checking [email protected]_list$ += "|" + [email protected]$ + "|"; } After this, all you have to do was to reuse/insert the uid check. ...and you already did the first few lines [email protected] = query_sql("SELECT last_unique_id FROM `login` WHERE account_id ="[email protected][[email protected]]+"", [email protected]_mem_uid$); [email protected] = query_sql("SELECT `dailybbq` FROM `bloody_branch_uid` WHERE `unique_id` = "[email protected]_mem_uid$+" LIMIT 1", [email protected]$); -
How to change to zeny to pods of this script
Magnetix replied to simplexjay2's question in Scripting Support
input [email protected]; delitem 501, [email protected]; // delete/remove ticket getitem 502, [email protected]; -
How to transform this into checking party member Unique_id(gepard)
Magnetix replied to DR4LUC0N's question in Scripting Support
You can just re-use the check since you're already attaching the party members .gui = get_unique_id(); [email protected] = query_sql("SELECT `bloodybranch` FROM `bloody_branch` WHERE `unique_id` = "+.gui+" LIMIT 1", [email protected]); if ([email protected]) [email protected] = 1; There's a simpler way, instead of the checking the IPs and unique ID, you can also save their account ids. -
Or you can just use this..
-
You can use SQL query to look for the mvp cards in a player's inventory, an account's storage, vendor's shop, if you have mail enabled include mail attachments and guild storages. SELECT SUM(amount) FROM `inventory` WHERE `nameid` = <card_id>" The above will only count the specified mvp card id from all of the player's inventory, you have to include other tables (storage, vendings, etc.), and you have to do it for ALL mvp cards (loop), and at the end sum everything for the grand total. To hasten searches and avoid lagging the server, you may want to alter the table and index columns with `nameid` (this will also increase storage) and also instead of pulling the data each time you speak to the npc, better to pull the data at certain time of the day and just include 'As of <datetime>'... something like that
-
The tombstone tracks the time of the MvP's death. If you want to show MvPs that are alive, here's an idea: Save all MvP id or you can query the ids from the database if you're using sql for mob_db. setarray $mvp_id, <mvp_id>; // Add the ids you want to track Create a script where, when an MvP is killed (OnNPCKillEvent), blacklist its id or skip showing the dead ones. OR you can use the tombstone to track if the MvP is dead or alive. You can set your data each time the tombstone is summoned and removed.
-
installation cents 7 x64 and mariadb
Magnetix replied to Aegon Cbk's question in Installation Support
Since you've followed the guide, you can grant the user access through the part mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON rathena4444\_rag.* TO 'rathena4444'@'your-ip'; -
Can I use newer versions of gcc and g++ to compile rAthena?
Magnetix replied to paragonusaxis's question in Installation Support
These are from my test servers -
If you're using Notepad++, try using regular expressions (regex) OR you can import item_db_equip then run an SQL command, something like UPDATE `item_db` SET `slots` = 4 WHERE `type` = 'Weapon'; ^this is for weapons, just change `type` for armors. Take note that using the above will make ALL weapons/armors 4 slotted. After making changes, you can export as csv and use the included tool csv2yaml. <---- not sure if it'll work since I haven't tried it myself I'm sure there are better ways of doing it.
-
How to transform this into checking party member Unique_id(gepard)
Magnetix replied to DR4LUC0N's question in Scripting Support
since you already have an IP check and you were already pulling their IP, you might as well pull their unique_id find the lines: query_sql ("SELECT `last_ip` FROM `login` WHERE `account_id`=" + [email protected][[email protected]] + "", [email protected]$); // If same IP is on party if(compare([email protected]_list$, "|" + [email protected]$ + "|" ) == 1) { set [email protected], 1; and adjust to something like query_sql ("SELECT `last_ip`,`last_unique_id` FROM `login` WHERE `account_id`=" + [email protected][[email protected]] + "", [email protected]$, [email protected]_id$); // If same IP is on party if ( compare([email protected]_list$, "|" + [email protected]$ + "|") || compare([email protected]_list$, "|" + [email protected]_id$ + "|") ) { set [email protected], 1; Haven't tested the code -
How to stop loop in the same item function?
Magnetix replied to mawjustin's question in Scripting Support
if (2 < [email protected]) { mes "You can have a maximum of two out of the following list:"; for ([email protected] = 0; [email protected] < getarraysize([email protected]); [email protected]++) { mes "" + getitemname([email protected][[email protected]]) + ""; } close; } It'll work. Have you tried checking the part where your script called Aqua_Set? -
rAthena and the database server will run on the same machine. That's why in the guide, it was set to allow connection from localhost. If you want to remotely connect, you have to allow connection for the 'your-user'@'your-ip'. This part Also, if you have installed a firewall or enabled iptables, you have to open and allow connection to your mysql/mariadb port.
-
Add another Label in your barricade setter. Edit OnEmpDead and add 3~5 secs delay then use donpcevent to trigger the new Label
-
Hi, I've recently setup a multi-map server, 1 login-server, 1 char-server and 2 and possibly more map-servers. Fortunately the setup was successful. So far these 2 are probably the most common issues i've encountered. when using commands or skills that requires info(s) on certain map, no information is being retrieved from the other map-server some statuses that were applied on one of the servers, the status disappears when loading to a different world (Yup, we know that map-server has its own "world" with diffent settings and etc) With these two, skills such as Emergency Call and commands like recall/recallall and @who/@who2/@who3 failed to pull information that were on a different map server. You may be wondering why I did this. Simple, I wanted to separate the load that is usually shouldered by the map server. In my mind i'm thinking what if I let the other map server handle few maps like leveling spots and give the towns to the other map server and then maybe let this other map server handle the gvg maps. This may also be handy when hosting events where you may need to alter map server settings... Edit: Wth, i'm pretty sure I clicked Source Discussion. I am requesting this thread to be moved.
-
Try this comodo,191,157,4 script Set of the day 83,{ if (rewarded > gettimetick(2)) close; mes"[Set of the day]"; mes "Welcome to FiestaRO!"; mes "Ready to receive your set of the day?"; next; mes "[Set of the day]"; mes "Today's set is called ^FF0000 The Great Madara ^000000."; mes "Set of the day only last for ^00FF00 3 hours ^000000 so make it count!"; sleep 1000; rentitem 31874,10800; sleep 5000; rentitem 31895,10800; sleep 1000; set rewarded, gettimetick(2) + 86400; close; }
- 1 reply
-
- 1
-
-
If you used what EL Dragon provided, you can use that line.. but if you prefer using glemor123's script then find this line OnClock1200: OnClock1100: OnClock1300: OnClock2300: OnStart: and replace with OnMinute00:
-
Add this - script pcatch -1,{ OnMinute00: donpcevent "Announcer2::OnGMStart"; end;
-
kc po dahil sa OnNPCKillEvent: dagdag ka nlng ng map check OnNPCKillEvent: if (strcharinfo(3) != map_name) end;