

DeadlySilence
Members-
Posts
181 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by DeadlySilence
-
File Name: Advanced Bank with nearly unlimited maximum balance File Submitter: DeadlySilence File Submitted: 06 Jun 2013 File Category: Utilities Content Author: DeadlySilence This is my bank NPC which I made since I couldn't find any bank that can store huge amounts of Zeny. Special Credits: Thanks to Anakid for the great idea to implement an @bank command. The NPC supports the following features: Deposit Withdraw Transfer Zeny to other player's bank accounts (by name or account id) Password protection Transaction log (deposits, withdrawals, incoming and outgoing transfers) daily interest (every morning at 6 o'clock server time, default: 5%, can be changed) maximum amount per process is only determined by the server's input_max_value and the script's .maxInput vast amounts of Zeny can be stored (the MySQL column is BigInt, so you can store up to 18,446,744,073,709,551,615 Zeny, that's more than 18,000,000,000 deposits of 1,000,000,000 Zeny) other features are planned and I take feature requests, if I think they make sense (you can ask directly in the thread, but I prefer private messages or emails [address provided in both scripts]) The @bank command supports the following features: the same as the NPC, but more versatile higher limits (as it is not connected to the input_max_value, default value per process is 1,000,000,000 Zeny) shortcuts for @bank <function> commands: @info, @deposit, @withdrawl, @transaction, @password The @bankadmin (exclusively for admins) command supports the following features: @bankadmin <option> returns the current value of an option @bankadmin <option> <value> sets the value of an option Valid options are name, maxinput, maxzeny, interest, whereas name must be a string and the other three have to be integers. The name can also be written with a colour code (like "@bankadmin set name "^F68712Banker^000000"" [please note the the ^000000 after the NPC's name to make the text after the name black again]) You need to read the README.txt file to get the database creation commands and some basic information on how to install the script. Changelog: Downloads:
-
Version 2.1
691 downloads
This is my bank NPC which I made since I couldn't find any bank that can store huge amounts of Zeny. Special Credits: Thanks to Anakid for the great idea to implement an @bank command. The NPC supports the following features: Deposit Withdraw Transfer Zeny to other player's bank accounts (by name or account id) Password protection Transaction log (deposits, withdrawals, incoming and outgoing transfers) daily interest (every morning at 6 o'clock server time, default: 5%, can be changed) maximum amount per process is only determined by the server's input_max_value and the script's .maxInput vast amounts of Zeny can be stored (the MySQL column is BigInt, so you can store up to 18,446,744,073,709,551,615 Zeny, that's more than 18,000,000,000 deposits of 1,000,000,000 Zeny) other features are planned and I take feature requests, if I think they make sense (you can ask directly in the thread, but I prefer private messages or emails [address provided in both scripts]) The @bank command supports the following features: the same as the NPC, but more versatile higher limits (as it is not connected to the input_max_value, default value per process is 1,000,000,000 Zeny) shortcuts for @bank <function> commands: @info, @deposit, @withdrawl, @transaction, @password You need to download the README.txt file to get the database creation commands and some basic information on how to install the script.Free -
Sure, I'll translate it today after coming home from work.
-
Aktuell speichere ich das Guthaben in einer Stringvariablen, um es anzeigen zu können. Rechnen geht damit aber nicht, denke ich.
-
Guten Abend, da mir langweilig war und ich bisher kein Skript gefunden habe, bei dem man mehr als 4 Mrd. Zeny vorhalten konnte, habe ich begonnen einen Bank-NPC zu bauen und möchte ein paar Meinungen dazu einholen. Die Bank unterstützt zur Zeit folgende Features: Einzahlen Abheben Überweisen an andere Spieler (wählbar nach Name oder Account-ID) Passwortschutz Transaktionslog (Einzahlungen, Auszahlungen, Überweisungen anschauen) Zinsen (täglich um 0600 morgens, prozentual einstellbar, Standard: 5%) maximale Menge pro Transaktion nur durch input_max_value und Variable .maxInput begrenzt riesige Mengen an Zeny pro Account (BigInt, 18446744073709551615 Zeny, mehr als 18.000.000.000 Einzahlungen von je 1.000.000.000 Zeny möglich) Verwaltung der großen Zahlen per SQL, da rAthena nur Integer (~4.000.000.000) unterstützt Geplant sind noch andere Features, wie Schecks, oder ein Mindestlevel/Mindestalter des Accounts, um Betrug und Hacking vorzubeugen. Ich hoffe, dass der ein oder andere Verbesserungsvorschläge hat, oder andere Kritik üben kann Die README.txt Datei erklärt, wie der NPC zu verwenden ist. Weiterhin ist er an wichtigen Stellen mit Kommentaren versehen, was das Verständnis einfacher machen sollte. MfG, ~De@dly Silence~ deadly_silence_bank.rar
-
Change your query to query_sql("<your query>", .@name$).
-
It is not an error, just a warning because you read one column from the database without saving it to a variable. Thus, the script warns you that you don't do anything with the variable.
-
From what I can read out of the source he must be mistaken ^^ Everything with "hitrate" should just modify the chance to hit, not the actual damage. I couldn't test it because I have no working client, though. But I am sure it should not affect the damage.
-
Which is totally wrong as I already said in my last post. Here's an example: Let hitrate be 100. 100 * 50 / 100 = 50 (original formula) 100 * 20 /40 = 50 (your formula) It also only applies to the Sonic Acceleration bonus, not the actual damage. // edit: Wait, isn't hitrate just the chance to hit and not the damage? //edit2: This should work now. case AS_SONICBLOW: if(sd && pc_checkskill(sd,AS_SONICACCEL)>0) ATK_ADDRATE(10); break; to case AS_SONICBLOW: if(sd && pc_checkskill(sd,AS_SONICACCEL)>0) ATK_ADDRATE(10); ATK_RATE(40); break; case AC_DOUBLE: case MA_DOUBLE: ATK_RATE(40); break; as Double Strafe doesn't seem to have any damage modification except the skill level based one.
-
case AS_SONICBLOW: if(sd && pc_checkskill(sd,AS_SONICACCEL)>0) hitrate += hitrate * 50 / 100; break; to case AS_SONICBLOW: if(sd && pc_checkskill(sd,AS_SONICACCEL)>0) hitrate += hitrate * 50 / 100; hitrate = hitrate * 40 / 100 break; and case MA_DOUBLE: skillratio += 10*(skill_lv-1); break; to case MA_DOUBLE: skillratio += 4*(skill_lv-1); break; should do the trick. By the way: hitrate += hitrate * 25 / 50; equals hitrate += hitrate * 50 / 100; so there was no difference at all. Oh and it also only applied to the Sonic Acceleration bonus.
-
Ich habe dir mal eine PN geschickt.
-
Also das ist die völlig falsche Stelle, das ist das Rootverzeichnis des Servers, der patch-Ordner muss in ein Unterverzeichnis des Webservers. In der httpd.conf (/etc/httpd/conf/httpd.conf) solltest du den Pfad finden, unter dem die Dateien für den Webservice abgelegt werden.
-
Wie ist denn die Konfiguration des Apache (Webserver)? Und wo genau liegt der Ordner mit der Notice.html und der Patcher-Config?
-
You could also use the one I made. It sounds it is exactly what you want. http://rathena.org/board/files/file/2889-ingame-gm-list/
-
You could look at the documentation included in the repository, it provides examples for almost every script command and use-case. It is located in doc/script_commands.txt. //edit: By the way, I sent you a message.
-
You forgot to break out of the outer cases after finshing. If you don't use break or any other command that ends the script (like "end;" or "close;"), it will jump into the next case. You have to add a "break;" to line 44.
-
I hope you don't mind I modified your script a little. payon,115,115,1 script Rent NPC 569,{ switch(select("What can i do here?:Rent a Healer")) { case 1: mes "If you give me some Coins the Healer will give you also Agi up and Blessing Level 5 for 7 days."; break; case 2: mes "You wanna rent the Healer for ^FF00007 Days^000000? You will lose ^FF000050 Coins^000000!"; switch(select("Rent the Healer!:Run away.")) { case 1: set .@rentnpcdate,gettimetick(2)+604800; query_sql "SELECT `date` FROM `rentnpc` WHERE `char_id` = " + getcharid(0) + " AND `npc` = 1", .@renttime; if (.@renttime > gettimetick(2)){ mes "You already rent the Healer."; close; } else { if (countitem(7539) < 50) { mes "Im Sorry, but you don't have enough Coins."; close; } else { delitem 7539, 50; if (.@renttime) { query_sql("UPDATE `rentnpc` SET `date` = " + .@rentnpcdate + " WHERE `char_id` = " + getcharid(0) + " AND `npc` = 1"); } else { query_sql "INSERT INTO `rentnpc` (`char_id`, `account_id`, `npc`, `date`) VALUES ('"+getcharid(0)+"', '"+getcharid(3)+"', '1', "+ .@rentnpcdate +")"; } mes "Done!"; } } break; case 2: mes "..."; break; } } close; } It is working for me now. //edit: I modified the SQL query to select only the row which belongs to the current user, so you don't have to check this inside the script. I also changed the second query to use an update rather than inserting a new row with almost the same data.
-
I am not absolutely sure if this solves your problem because I can't test the script right now, but I suspect line 15 to be the problem. You set "@rentime" at this point, but in further uses you call to the undefined variable "@renttime" (notice the missing "t").
-
File Name: Ingame GM List File Submitter: DeadlySilence File Submitted: 06 May 2013 File Category: Utilities Content Author: DeadlySilence This script shows a list of all GMs with their corresponding status (i.e. online or offline). You can configure the script to show or hide the last login time of each GM. As a special feature, the result is cached for a certain amount of time if you wish (see inline configuration, by default caching for 30 seconds is enabled). This prevents players from spamming the database with SELECT queries. Version 2.0 comes with a source modification to show the group name the GM is in and the option to show the list directly in the user's chat (dispbottom) rather than the NPC dialogue. Special thanks to Akinari for helping me with the script command and Armor for requesting this feature. Instructions To get version 2.0 working, you need to patch your src/map/script.c file with the "groupid.diff" and recompile. To apply the patch use patch -p0 < /location/to/the/groupid.diff from your rAthena directory root. If you use Windows and TortoiseSVN, you have to right click into your rAthena directory root, select "TortoiseSVN -> Apply Patch" and select the patch file. Click "patch all items" and you're done. If you do not want to change your source for this, you can remove all occurences of "groupIdToName" inside the script to deactivate the automatic group name display. Click here to download this file
-
Insert a "if" behind the "else" in line 39: else (@charid == getcharid(0) && @npc == 1 && @renttime > @rentnpcdate) { => else if (@charid == getcharid(0) && @npc == 1 && @renttime > @rentnpcdate) {
-
Version 2.1
858 downloads
This script shows a list of all GMs with their corresponding status (i.e. online or offline). You can configure the script to show or hide the last login time of each GM. As a special feature, the result is cached for a certain amount of time if you wish (see inline configuration, by default caching for 30 seconds is enabled). This prevents players from spamming the database with SELECT queries. Version 2.0 comes with a source modification to show the group name the GM is in and the option to show the list directly in the user's chat (dispbottom) rather than the NPC dialogue. Special thanks to Akinari for helping me with the script command and Armor for requesting this feature. Instructions To get version 2.0 working, you need to patch your src/map/script.c file with the "groupid.diff" and recompile. To apply the patch use patch -p0 < /location/to/the/groupid.diff from your rAthena directory root. If you use Windows and TortoiseSVN, you have to right click into your rAthena directory root, select "TortoiseSVN -> Apply Patch" and select the patch file. Click "patch all items" and you're done. If you do not want to change your source for this, you can remove all occurences of "groupIdToName" inside the script to deactivate the automatic group name display.Free -
It means you can have a maximum of 10 bonus effects on your char, if I'm not mistaken. You can change this by changing the number to something higher (e.g. 20) and recompile your server.
-
Aw, I wasn't fast enough :< I cleaned up your code a little and removed the labels. Should work as fine as Anakid's version. prt_maze03,52,190,5 script Evil Baphomet 1929,{ mes "[ Evil Baphomet ]"; mes "So you're here to make the powerful horns?", "I can make you one if you bring me the right items"; next; mes "[ Evil Baphomet ]"; mes "These are what I need", "300 Evil Horns", "20 Pieces of Young Twig", "10 Pieces of Baphomet Card", "10 Pieces of Biotite"; next; mes "and 1 Emblem of the Sun God","Do you have the items that I need?"; switch(select("Yes:No")) { case 1: next; mes "[ Evil Baphomet ]"; mes "Are the items ready? Let me check."; next; if ( countitem(923) < 300 || countitem(7018) < 20 || countitem(7297) < 10 || countitem(4147) < 10 || countitem(7086) < 1 ) { mes "[ Evil Baphomet ]"; mes "You don't have the complete items needed"; } else { mes "[ Evil Baphomet ]"; mes "Good!! Now here's the horn!!"; delitem 923,300; delitem 7018,20; delitem 7297,10; delitem 4147,10; delitem 7086,1; getitem 26027,1; next; mes "[ Evil Baphomet ]"; mes "Use my power wisely!!"; announce "Wow! "+strcharinfo(0)+" has just acquired the Evil Baphomet Horns.",8; } break; case 2: default: next; mes "[ Evil Baphomet ]"; mes "Don't waste my time or I'll kill you"; break; } close; }
-
Alternativ könnte das auch so gehen: query_sql( "SELECT `c`.`online`, DATE_FORMAT(`l`.`lastlogin`, '%d.%m.%Y') as date, DATE_FORMAT(`l`.`lastlogin`, '%H:%i') as time " + "FROM `char` c, `login` l " + "WHERE `l`.`account_id` = " + getcharid(3) + " AND `c`.`char_id` = " + getcharid(0) , .@online, .@date$, .@time$ ); if (.@online) { mes "Online"; } else { mes "Offline - zuletzt online am " + .@date$ + " um " + .@time$ + " Uhr"; } So selektierst du beide Werte in einem Query und formatierst das Datum und die Uhrzeit in eine lesbarere Form. (Anmerkung: Das Skript findet den Status des aktuellen Spielers heraus. Du musst die beiden getcharid-Funktionen durch die Account- bzw. Char-ID des Chars ersetzen, der überprüft werden soll.)
-
Thank you for your help, I got it working now