Jump to content

Jey

Members
  • Posts

    249
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Jey

  1. The easiest way is to set the accessory either as "left" or "right" accessory in the database, so you simply can't equip multiple of them. Another way is to use isequippedcnt(<id>) in the item script and divide the effect into half if there is more than one equipped. (Not really pretty imo)
  2. Jey

    Freebies NPC

    Just set #New_Player to one, after the player got the items. The checks are already there.
  3. Changing scripts doesn't need a recompile to take effect. From the error we just can see, that 'SC_MAXPAIN' and 'BLOWN_NONE' are undeclared in battle.c. BLOWN_NONE is declared in src/map/skill.h SC_MAXPAIN is declared in src/map/status.h Both are used in the battle.c. So your battle.c seems to be in a wrong version. It's not enough to update a single file. Either you update your entire rathena, or you stay at an old revision. If you have no idea how to update rathena, you should have a closer look at how to use git: https://git-scm.com/book/en/v2 With this knowledge you can easily merge rathena updates with your changes. Good luck!
  4. if( .@t < 0 )||( countitem(21011) < .@t ){ cutin "",255; close; } First: This line seems wrong, better would be: if( ( .@t <= 0 ) || ( countitem(21011) < .@t ) ){ cutin "",255; close; } Anyway in general you should get used to cap/check every user input. For your script I'd suggest: --- <unnamed> +++ <unnamed> @@ -1,4 +1,5 @@ prontera,138,183,6 script Credit Exchanger 807,{ + set .MaxCap,400; mes "[Creditz]"; mes "I can change Creditz and Zeny"; next; @@ -9,7 +10,7 @@ mes "[Credit Exchanger]"; mes "Put the Number of Credit you Need"; input .@t; - if( .@t < 0 )||( countitem(21011) < .@t ){ cutin "",255; close; } + if( .@t <= 0 || .@t > .MaxCap || countitem(21011) < .@t ){ cutin "",255; close; } set Zeny,Zeny+10000000*.@t; delitem 21011,.@t; cutin "",255; @@ -18,6 +19,7 @@ mes "[Credit Exchanger]"; mes "Put The Number of Credit to be Change"; input .@t; + if( .@t <= 0 || .@t > .MaxCap ){ cutin "",255; close; } if (checkweight(21011,.@t)) { if( Zeny < 10000000*.@t ){ cutin "",255; close; } set Zeny,Zeny-10000000*.@t; The error message came from players inserting zero in the input field. Exactly from this line: if (checkweight(21011,.@t)) {
  5. You already found the correct line. Just change it to: `bonus2 bSubRace,RC_Player,90;`
  6. Place the checking npc in the last man standing map and use addrid(1); . This will attach all players on the map of the npc. Since there is one player left, you will attach a single player only.
  7. There are some things in the script that can lead to a failure. Take my advice and remove everything connected with the array .register_aid. Just use getmapusers() whenever a player dies or disconnects. And you should check in OnPCLogoutEvent if the player is on the last_man_standing map since this event can be triggered by everyone on the server.
  8. Jey

    Sql script

    # Removes all inventory items from all characters DELETE FROM `inventory`; # Removes inventory items from character 150000 DELETE FROM `inventory` WHERE `char_id` = 150000; # Sets group_id to 1 of account 2000000 UPDATE `login` SET `group_id` = 1 WHERE `account_id` = 2000000; Edit: Don't forget to backup your database.
  9. Depends on the version of eathena and rathena. I'd recommend you to compare the mysql table structure and prepare update scripts in mysql. Most update scripts should be found in here: https://github.com/rathena/rathena/tree/master/sql-files/upgrades But you should have a good sql knowledge and bring some time. And maybe you should drop some unimportant data.
  10. Example: In https://github.com/rathena/rathena/wiki/scripting is a link to " Adding a Script". It refers to this (wrong) page: https://github.com/Adding_a_Script But should link to this page: https://github.com/rathena/rathena/wiki/Adding_a_Script That's what fixes my small script. And there are many of those links.
  11. Security advice: Don't use phpmyadmin for your server. Just use the command line tool. If you struggle with the commands you can do every step locally in phpmyadmin and just copy the command to the command line.
  12. Fixing the old internal wiki links: git clone https://github.com/rathena/rathena.wiki.git wiki; cd wiki find ./ -type f -iname "*.md" -exec sed -i -E "s|\(/([^\)]+)\s\"wikilink\"\)|\(\1\)|" {} \; #git push You can already test it here (this is not the original rathena wiki): https://github.com/Jeybla/rathena/wiki Optionally you can use the last commit in https://github.com/Jeybla/rathena.wiki.git : If you like to, I'd parse some doc infos or write a small helper bot to do so. Edit: Just want to mention here, that I cannot edit any page directly ;_; And we need to replace all category links with new category pages.
  13. 1. Get all Enchantment Stone IDs: (May be wrong or overlap with Card IDs. You need to check it) egrep "^([^,]*,){3}6(,[^,]*){10},," db/re/item_db.txt | grep -o "^[^,]*" | tr '\n' , 2. Stop your server. 3. Apply the update command: UPDATE `inventory` SET `card0` = 0 WHERE `card0` IN (4700,4701,4702); UPDATE `inventory` SET `card1` = 0 WHERE `card1` IN (4700,4701,4702); UPDATE `inventory` SET `card2` = 0 WHERE `card2` IN (4700,4701,4702); UPDATE `inventory` SET `card3` = 0 WHERE `card3` IN (4700,4701,4702); This is just an example. You need to add all item ids you like to remove. And do the same for all other item tables like storage, mail, cart, etc.
  14. So rathena will stay on C-Based Code for now and will not rush into fully OOP C++, but will implement C++ step by step. I like the idea, hopefully it works out well :>
  15. Good thing. Can you give some more information about this? There are a lot of open questions: - Should we fully focus on ra++ now? - When will the support for ra end? - Despite from linux compiling: Which major issues are open? - On which "version" is ra++ currently? Which commits needs to be reapplied from ra?
  16. Jey

    Storage Reduct

    I wouldn't recommend it to you. Even if it's safe to do it now, the behavior can change anytime and there will be no one who's going to test it in future rathena versions. So I'd do one of these: 1. Reduce the items in the storage. You can save all "deleted" items in another table and give them to your players though a NPC or something like that. 2. Test the current storage behavior. If it works advice your players to reduce their storage in the next ~3 weeks. Remove overtopping items from storages with more than 600 items after that time. 3. Wait for this Pull: https://github.com/rathena/rathena/pull/1115. If this is merged you should be able to keep your 700 slot storage. 4. Wait for this Pull: https://github.com/rathena/rathena/pull/1620. And move all overtopping to a premium storage.
  17. Jey

    Linux vps

    https://rathena.org/wiki/Installation_(Debian)
  18. Have a look at: https://github.com/rathena/rathena/blob/master/src/config/renewal.h You can disable all Renewal features by just replacing "//#define PRERE" with "#define PRERE". All Monsters, Maps, NPCs, Instances, etc. will be in pre-renewal mode then and you should be good to go. But don't forget to recompile Clientside you can use any Client you want. Even new Clients are working good in rathena pre-re mode.
  19. Jey

    Lebt noch jemand?

    Es gibt 3 keys, die mit dem Command Packet xor-ed werden. Großer Vorteil an dem System ist einfach, dass es von Seiten des Clients unterstützt wird. Es dürfte wahrscheinlich die meisten "Hacker" davon abhalten ihre kleinen Packetrepeater zu nutzen. Getestet inwieweit das wirklich hilft habe ich es allerdings nie. Falls ihr mehr Erfahrungen habt, gerne her damit Edit: Und wenn wir schon dabei sind. Was leistet das Gepard Shield? Ich halte von solchen 3rd Party Tools wenig und vertraue den Leuten, die sowas veröffenltichen, meistens nicht.
  20. Jey

    Lebt noch jemand?

    Beide haben eine Packet obfuscation, ja. Yommy hatte es so weit ich weiß damals für Herc released und rathena hatte es portiert.
  21. Jey

    Lebt noch jemand?

    Jup macht immernoch Spaß ^^ Die größte Veränderung war wahrscheinlich Renewal mit den Third Classes. Also als alter Spieler muss man sich viel ansehen um auf Renewal mithalten zu können. Ich wusste gar nicht dass @Playtester deutsch kann oo
  22. Jey

    Hackers?

    Usually no. The Client cannot make the server side behaving like it wants to. In very special cases there may are bugs serverside which can be used as exploits. Like zeny bugs (i.e. sellings arrows for more than buying the quiver) or item dupes. I'd recommend you to check the picklogs where the items have been dropped. If they dropped by a monster it should be ok as far as the player does not have root access.
  23. It's just a warning you can ignore it. If you want to fix it you can simply remove the line (battle.c:4337). Think usually will be fixed soon
  24. Jey

    option_val0

    I think that's not the problem? I can't reproduce this (in 547a8e657aa611bb61d8b9d0c43f459d5d42bfb7) with your explanation. Can you also provide your git hash? Thx
×
×
  • Create New...