-
Posts
249 -
Joined
-
Last visited
-
Days Won
4
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Everything posted by Jey
-
> Hehe, the problem is over, I just add a mind-breaker skill in src / map / status.c I really recommend you to update your rathena fork. Mind Breaker is possibly not the only faulty status change.
-
Thanks for the accurate description. Sadly I need to guess and ask if you installed the g++ package? Did you update your rathena version? Which git hash are you using? Is the ./configure running through?
-
Please update your rathena. It's likely you downloaded a buggy version :/ Also keep in mind that Mind Breaker will not be visible in the status window in future rathena versions.
-
You need to install the g++ package. Related: https://github.com/rathena/rathena/issues/2127
-
If you're sure this a bug, please gather some more information: - the rathena git hash you're using - A replay or an instruction how to reproduce it Also consider creating an issue in our bugtracker. Please try to be as detailed as you can and test most of the behavior beforehand. Thanks in advance.
-
Advice: Don't do it on the host. Prepare your changes locally and push them via git. Nevertheless you could use the commands git apply or patch. But if you encounter merge conflicts you'll have a bad time.
-
You'd need to implement this behavior by yourself in the source. Anyway there are already some other good options you could use: - Client's item drop lock - Using the hide_fav_sell config (hides favorite items from the selling window) Accidentally trading or vending an item seems pretty unusual for me.
-
You can create two (or more) groups in the groups conf and use the atcommand adjgroup.
-
Did you merge the summoner PR? (https://github.com/rathena/rathena/pull/1965) Afaik it's a known issue and aleos is working on it.
-
#!/bin/bash usr="backup" pw="yoursqldbpassword" pw7z="your7zpassword" dbs=(rathena board website) date=$(date -I) for db in "${dbs[@]}" do filename="${db}/${db}_${date}.sql" echo "Dumping Database: $db ..." mysqldump -u $usr -p$pw $db > $filename # creates a sql dump tar cf - $filename | 7za a -si -p$pw7z ${filename}.tar.7z # compresses the dump # ncftpput -Vmu [email protected] -p ftp ftp.host.com / ${filename}.tar.7z # copy it to an ftp server rm $filename done I'm using something like this. I'd recommend to add an explicit database user for backups with read access only. And using 7zip is good for both compression and encryption of the data. To run it on a daily basis I'd recommend using a cronjob: 30 5 1 * * cd ~/backup && ./backup_full.sh > /dev/null 2>&1 30 5 2-31 * * cd ~/backup && ./backup.sh > /dev/null 2>&1 Mine is split into two parts. backup.sh is the above script and dumps everything except the log database. It runs every day except the first day of the month. backup_full.sh also includes the log table and is run only once every month. dbs=(rathena rathena_log board website) # dbs entry in full_backup.sh Keep in mind: A backup on the same host will not help you at all if the hard drive is broken. I'm also interested in other solutions, so keep on posting them
-
You should alway have a local test server to investigate in bugs autonomously. Anyway I tried to use Feint Bomb from a Land Protector. The Skill simply fails. But jumping on a Land Protector works like a charm. So you could try to describe it in detail or just update your rathena version. This should fix the problem, too.
-
Feint Bomb has been changed recently. Maybe you want to check out the current rathena version. (I can't reproduce the bug)
-
*mobcount("<map name>","<event label>") if (mobcount (.map$,.mob) <= .quan) { monster .map$[.t],0,0,"Time Void",.mob,.add,strnpcinfo(0)+"::OnPrize"; } Mobcount needs an event label as second paramter and you're missing the array index of the map. Also your if clause seems to be always true? Anyways your OnTimer will never trigger, because the npctimer hasn't been started. Just try to add an initnpctimer at the end of your event initialisation.
-
Hey, have a look at your job_exp table. There are only 100 entries for the needed exp. You need to add the 155 missing entries by yourself. I also did this some time ago for a 255/75 server with 400x400x100x rates. I attach this exp table to this post: tro-re-exp-tbl.txt Good luck!
-
https://github.com/rathena/rathena/pull/1534/files You're looking for BUILDIN_DEF(bg_team_setxy,"iii"), BUILDIN_DEF(bg_warp,"isii"), BUILDIN_DEF(bg_monster,"isiisi?"), BUILDIN_DEF(bg_monster_set_team,"ii"), BUILDIN_DEF(bg_leave,"?"), BUILDIN_DEF(bg_destroy,"i"), BUILDIN_DEF(bg_get_data,"ii"), BUILDIN_DEF(bg_getareausers,"isiiii"), BUILDIN_DEF(bg_updatescore,"sii"), BUILDIN_DEF(bg_join,"i????"), BUILDIN_DEF(bg_create,"sii??"),
-
https://github.com/rathena/rathena/blob/master/doc/script_commands.txt This file is your best friend 1. warp "prt_fild04 ",0,0; 2. setarray .@maps$[0],"prt_fild01","prt_fild02","prt_fild03","prt_fild04"; warp .@maps$[rand(getarraysize(.@maps$))],0,0; 3. setarray .@mvps[0],1086,1150,1511,1251; monster "prt_fild04",0,0,"--ja--",.@mvps[rand(getarraysize(.@mvps))],1; sc_start SC_INCREASEAGI,600000,10; //AL_INCAGI#Increase AGI# sc_start SC_BLESSING,600000,10; //AL_BLESSING#Blessing# 4. // Too lazy for a quest example, but you will find many examples in rathenas npc folder :) Just remember: Keep on trying and improving your scripting skills. The above examples aren't very complex. You will find anything you need in doc/script_commands.txt
-
I love music! I'm mostly into Rock/Metal. What kind of music do you like to hear? Some of my beloved bands: Progressive Rock: Tool, Dream Theater (In the Name of God), Yes (Roundabout) Classic Rock: Queen, Eagles, Nazareth, Led Zeppelin, Deep Purple, Rush, Eric Clapton, Van Halen ... (<- there is so much more) Heavy: Metallica, Iron Maiden, Hammerfall, Týr Irish: Fiddler's Green Elektronic: Daft Punkt (Try the Alive 2007 album), The Prodigy
-
@Technoken It's just a small difference. Take a closer look. Your script removes the speed bonus if the player isn't standing on every map of .map_list$. That is impossible if there is more than one map in .map_list$ ;>
-
OnPCStatCalcEvent: if( !@speed )end; for( .@i = 0; .@i < .map_size; .@i++ ) { if( strcharinfo(3) == .map_list$[.@i] ) { end; // don't remove speed } } atcommand "@speed 150"; // Put normal speed here @speed = 0; end; @Technoken Sadly the player has to re-log to get back his "normal" speed with modifiers like agi-up, Moonlight Flower, etc. after it has been changed by `@speed`
-
Try to avoid using freeloop. The infinity loop is caused by a wrong condition: if ( getgmlevel() < 100 && !checkvending() ) { DetachRID(); continue; } This will detach every non GM (needs at least level 100) and non vending player. Better would be: if ( getgmlevel() > 0 || // ignores GMs checkvending() || // ignores Vender checkweight(32000,1) == 0 || // Checkweight failed checkidle() > 60 ) { // ignores AFK-Player (should also include venders) I just had a look in an own script. It's pretty much the same, but differs from the time (not every hour at minute zero). And it just waits ten seconds, if it fails. OnMinute00: //Damit das ein wenig interessanter wird, wird der Coin nicht genau zur vollen //Stunde ausgeteilt, sondern irgendwann innerhalb dieser Stunde. stopnpctimer; initnpctimer; setnpctimer(rand(0,3540000)); end; OnTimer3545000: stopnpctimer; query_sql "SELECT `account_id` FROM `char` WHERE `online` = '1' ORDER BY RAND() LIMIT 0,1",.@accid; if( getarraysize(.@accid) != 1 ) end; attachrid .@accid[0]; //Player attached if( checkweight(32000,1) == 0 || checkidle() > 60 || getgmlevel() > 0 ) { setnpctimer(3535000); //Evtl. Wird in 10 Sekunden jemand gefunden, der nicht afk ist. startnpctimer; end; } getitem 32000,1; switch(rand(17)) { case 0: announce "["+strcharinfo(0)+"] ist ein richtiger Glückspilz und findet einen Coin hinter "+((Sex)?"seinem":"ihrem")+" Sofa.",b_all; break; // [...] (Sorry in German, but you'll get the point)
-
> I see. How can I remove "storage" on @charcommands? it seems like it is a script bound command. > btw, I tried using [ true,false ] and it does not work before... Can you be a bit more precise? If you want to disable the use of scriptbound charcommands just set the charcommand level to something higher than zero: *bindatcmd "<command>","<NPC object name>::<event label>"{,<atcommand level>,<charcommand level>};
-
Are there any other changes that may affect your atcommand settings? Normally you need to explicitly allow charcommands like: item: [true, true] The second true allows the char command. Unless the group has the permission "all_commands". Edit: My first post is just wrong, sorry for that. See: @charcommands Displays a list of # commands available to the player. Edit2: Recheck which commands are concerned. Maybe you are mixing these commands with script bound commands?
-
Just remove this line: charcommands: true
-
The Achievement system is in both emulators in a review progress. See: https://github.com/rathena/rathena/pull/2044 https://github.com/HerculesWS/Hercules/pull/1666 Cool thing by the way
-
Oh I just realized: *isequippedcnt is for counting cards only. Sorry didn't see it correctly. I thought it will count equipped items by a given nameid. So a command to count equipped items is missing. There are now other possible solutions: As I mentioned above change the equip loc of the accessory to either right or left. (easiest method) Write a custom script-command like *countequipped(<itemid>) (most efficient solution) Write a custom script-function by using getinventorylist to count equipped items. Example: # Careful! Not tested. function script countequipped { getinventorylist(); .@nameid = getarg(0,0); .@count = 0; for( .@i = 0; .@i < @inventorylist_count; .@i++) { if( @inventorylist_id[.@i] == .@nameid && @inventorylist_equip[.@i] > 0 ) .@count++; } return .@count; } Use countitem as a workaround for countequipped (Note: every inventory item will be counted) Example DB entry for Clip: 2607,Clip,Clip,4,30000,,100,,0,,1,0xFFFFFFFF,63,2,136,,0,0,0,{ bonus bMaxSP,10; },{},{} #standard 2607,Clip,Clip,4,30000,,100,,0,,1,0xFFFFFFFF,63,2,136,,0,0,0,{ if( callfunc("countequipped",2607) > 1 ) { bonus bMaxSP,5; } else { bonus bMaxSP,10; } },{},{} If you're interested in using the command "countequipped", I'll create a pull request for it as a script command, since I wouldn't recommend the inflationary use of getinventorylist.