-
Posts
135 -
Joined
-
Last visited
-
Days Won
4
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Missingno
-
Adjust the IDs and amounts in these arrays: setarray .Package1[0],501,1,502,2,503,3; setarray .Package2[0],601,5,602,10; setarray .Package3[0],607,10;
-
You could just add a delwaitingroom command before the waitingroom command.
-
What's the use in getmapxy() if you're only using the map name returned? It'd make more sense just use strcharinfo(3) to return the invoking player's map name. Example: if (strcharinfo(3) != instance_mapname("abyss_03")) { end; }
-
You could use Euphy's Quest Shop and just replace getitem commands with getitembound and the bound type.
-
I wouldn't recommend dropping global_reg_value, since it stores character and account variables; any players' quest progress would be erased. Regarding your second question, you can change from MyISAM to InnoDB with this query: ALTER TABLE `table_name` ENGINE=INNODB
-
Npc for Guild Master and Guild Members @gstorage
Missingno replied to Kido's question in Script Requests
Updated the script in my previous post (fixed an error with the SQL update for duplicate keys). -
Need help to make this script work with eamod ?
Missingno replied to Zeke's question in Script Requests
Yes, but neither eAthena nor rAthena accept assignments in that manner (=, +=, -=, *=, /=, etc.) using set. Read the documentation or the Wiki article for set if you're still confused. -
Glad it worked out for you, and thanks for the compliment! I try to make my code readable and user-friendly. (:
-
- script reward -1,{ OnInit: // Configuration .reward_id = 7720; .amount = 5; .min_gm = 40; end; OnWhisperGlobal: // Check GM level if (getgmlevel() < .min_gm) { message strcharinfo(0), "You are not authorised to access this feature."; end; } // Check if reward session ended if (select("Reward a player:End session") == 2) { close; } do { // Input target player's name message strcharinfo(0), "Enter the name of the character to be rewarded."; input .@player_name$; // Check if specified player is logged in if (!isloggedin(getcharid(3, .@player_name$), getcharid(0, .@player_name$))) { message strcharinfo(0), "'"+ .@player_name$ +"' is either not logged in or does not exist."; } } while (!isloggedin(getcharid(3, .@player_name$), getcharid(0, .@player_name$))); // Reward specified player getitem .reward_id, .amount, getcharid(3, .@player_name$); // Announce reward announce "The GM '"+ strcharinfo(0) +"' has rewarded '"+ .@player_name$ +"' with "+ .amount +" "+ getitemname(.reward_id) +".", bc_all; close; } Whisper to npc:reward to activate the GM panel; anyone below GM level 40 will be replied to with a fail message. I suspect you might be using eAthena, though; in which case, change lines 5 through 7 for compatibility: OnInit: // Configuration set .reward_id, 7720; set .amount, 5; set .min_gm, 40; end;
-
CentOS...maybe you need to use yum. yum install screen
-
Just import them using Workbench, phpMyAdmin, or whatever GUI you're using.
-
Download and install screen, then run your server from a screen session. sudo apt-get install screen screen -S server cd path/to/server/files/ ./athena-start start To detach from screen, press Ctrl A D simultaneously; to resume our screen session named "server", type this: screen -R server
-
You sure you're using rAthena? I just pulled the latest commit a few minutes ago and ran grep through it; nothing turns up for "experimental values":
-
Use the necessary files from sql-files/upgrades/ in r17701 to update your database from r16797 all the way to r17701 prior to updating your server. In your case, you would need to apply upgrade_svn16823.sql through upgrade_svn17541.sql.
-
You'd probably be better of using a temporary NPC variable (.@last_map$), since it doesn't seem like you'll need that data exclusive to the attached player; same goes for where you're storing the account IDs (.@acct_id). This will cause your script to error, as you're trying to store a string (strcharinfo(0), which will return the player's name as a string) as a numerical value for @char_id (again, probably better off as a temporary NPC variable, .@char_id); from what I gather, you intend to retrieve the player's character ID, which can be done with getcharid(0). Additionally, your SQL query will fail, because the table char needs to be enclosed in backticks (`char`); char is a reserved keyword and will not execute correctly if not enclosed properly. In regards to your script, it just seems like you're trying to force-update a player's last map, which may actually be overwritten when the char-server saves again. o_o
-
Do it from your home directory. o_o cd ~ fuser 5121/tcp kill PID fuser 6121/tcp kill PID fuser 6900/tcp kill PID
-
I want to add stats in costume headgears, but its not working
Missingno replied to whateveremer's question in General Support
I always thought stat bonuses weren't read from costume headgears intentionally. o_o -
This usually happens when you've already got an instance of a zone running. Abort your current operation and type the following: fuser 5121/tcp fuser 6121/tcp fuser 6900/tcp Each entry should return a process ID; to terminate these processes, input this, with PID being the process ID. kill PID When you're done, try running your server again.
-
You don't need to use callfunc for local functions; because of the way it is written, it can be used like any other script command.
-
Or you could write a local function and place it at the beginning of your script: function getranditem { // Possible items to receive (ID, amount) setarray .@item_id[0], 909, 2, 909, 3, 909, 3; do { // Randomise index location .@loc = rand(getarraysize(.@item_id)); } while (getitemname(.@item_id[.@loc]) == "null" || .@loc % 2); // Receive item getitem .@item_id[.@loc], .@item_id[.@loc + 1]; return; } Place this after your header but before anything else in the script starts; then, you can call on this function by writing: getranditem;
-
Hit and flee aren't accurate (compared to RMS values)
Missingno replied to Adam's question in Source Support
You can modify stats for pre-renewal mobs in db/pre-re/mob_db.txt Mind you, hit and flee are sub-stats, and cannot be directly edited. -
Uh...I don't even know where to begin helping you in that case, but it could probably be written a lot better. No offence intended. o_o If you're going to have separate random prizes (meaning completely different items and amounts) for each prize, then you might have to stick with what you pasted here; otherwise, if you're going to use the same random set of prizes for all of those, place it outside of the switch.
-
Hit and flee aren't accurate (compared to RMS values)
Missingno replied to Adam's question in Source Support
Not really sure what to tell you for your second question; hit and flee are calculated based on several factors. Here are the official formulas for renewal: Hit: 175 + BaseLv + DEX + Floor(LUK ÷ 3) + Bonus Flee: 100 + SkillBonus + [BaseLv + AGI + LUK ÷ 5 + ItemBonus] × {1 - [(Mobs − 2) × 0.1]}