Jump to content

Euphy

Members
  • Posts

    2997
  • Joined

  • Last visited

  • Days Won

    72

Everything posted by Euphy

  1. Euphy

    Warp to the GM

    prontera,150,150,1 script GM Tracker 101,{ .@gm_name$ = "GM Untrustworthy"; mes "Tracking: " + .@gm_name$; next; .@i = select("Get coordinates.:Warp to GM."); if (!getcharid(0,.@gm_name$)) { mes .@gm_name$ + " is not online."; close; } getmapxy(.@map$,.@x,.@y,0,.@gm_name$); if (.@i == 1) mes sprintf("%s is at %s (%d,%d).",.@gm_name$,.@map$,.@x,.@y); else warp .@map$,.@x,.@y; close; }
  2. This was completed by @Aleos in 0f7ecd0.
  3. A couple of updates! Added an Auto-Potion script (@autopot) that automatically uses potions when a player is hit. (idea from this topic) Updated All-in-One NPC with Rebellion class job change. Changed all svn links to link to updated scripts in the GitHub repository.
  4. @Annie: applied your fix in ad13f26. Thanks! Here's an update to my script: [paste=1i3e79nbonx] Replace line 68 with this (since escape characters are still not supported): bonus_script "{ callfunc \"start_autopot\"; }",86400,8,0,SI_INCHEALRATE;
  5. In src/common/mmo.h: #define START_ACCOUNT_NUM 2000000 #define END_ACCOUNT_NUM 100000000The 'killerrid' variable will be between the two game ID bounds (START_ACCOUNT_NUM and END_ACCOUNT_NUM) for players, and greater than END_ACCOUNT_NUM for mobs.
  6. Implemented in 11e507b.
  7. Here's a sample using 'autobonus2': [paste=6y8ui2jsunt8] (obviously credits to Annie for a lot of parts XD) It's not as convenient as Annie's script, but should cause less strain on the servers since it only triggers when hit (instead of running all the time). This of course has its disadvantages, such as not being able to work for SP. Also, for some reason I couldn't get 'consumeitem' to work while testing (probably due to the weird mixing of 'bonus_script', 'autobonus', functions, 'itemheal'...) so you have to add items manually. x.x
  8. I haven't tried it, but the autobonus commands might be useful for this ('autobonus2' in particular). For instance, something like this: autobonus2 "{}",10000,1,BF_WEAPON|BF_MAGIC,"{ if (Hp < MaxHp && countitem(504)) { delitem 504,1; consumeitem 504; specialeffect2 EF_POTION4; } }";No idea if it would work or not, but just another/simpler approach.
  9. Added 'bonus bAddMaxWeight,n;' in 0b6c542. Thanks, Annie!
  10. Please just read the error. "Duplicate unique name" means exactly what it sounds like. All NPCs are identified by a unique name, and the map-server will automatically rename any duplicates.
  11. Autotrade Persistence & Live Vendor Data 27cbc7f brings two major vending features to rAthena. Live Vendor Data All vending data is now stored in SQL tables `vendings` and `vending_items`, making the data easily accessible to third party applications. This makes it possible to display and search through player shops on web pages or control panels without any server modifications. The vending data can also be accessed through scripts, which opens similar possibilities for players to search for shop items. [spoiler=Table Structures:] CREATE TABLE IF NOT EXISTS `vending_items` ( `vending_id` int(10) unsigned NOT NULL, `index` smallint(5) unsigned NOT NULL, `cartinventory_id` int(10) unsigned NOT NULL, `amount` smallint(5) unsigned NOT NULL, `price` int(10) unsigned NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE IF NOT EXISTS `vendings` ( `id` int(10) unsigned NOT NULL, `account_id` int(11) unsigned NOT NULL, `char_id` int(10) unsigned NOT NULL, `sex` enum('F','M') NOT NULL DEFAULT 'M', `map` varchar(20) NOT NULL, `x` smallint(5) unsigned NOT NULL, `y` smallint(5) unsigned NOT NULL, `title` varchar(80) NOT NULL, `autotrade` tinyint(4) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Autotrade Persistence Vendors in auto-trade mode (@autotrade/@at) will now automatically be logged in after a server restart. In other words, it is no longer necessary for players to re-open their shops following each reboot or maintenance, made possible due to saving of vending data. This feature can be disabled in conf/battle/feature.conf. [spoiler=Options:] // Autotrade persistency (Note 1) // Should vendors that used @autotrade be restored after a restart? feature.autotrade: on // In which direction should respawned autotraders look? // Possible values are from 0-7 // Default: 4(South) feature.autotrade_direction: 4 // Do you want your autotraders to sit? (Note 1) feature.autotrade_sit: yes Credits Thanks to @Lemongrass for coding this update, and @Ind for the original idea. Don't forget to run sql-files/upgrades/upgrade_20140114.sql!
  12. Finished in 5d08795. npc/re/quests/newgears/2012_headgears.txt
  13. There's SQL and plenty of database GUIs for this already.
  14. if (roclass(eaclass()&EAJ_UPPERMASK) == BaseClass) {} // 1-1 jobs only if (Class == BaseClass) {} // 1-1 normal jobs (excluding advanced/baby) only
  15. bonus2 bSkillCooldown,sk,t; Increases cooldown of skill sk by t millisecondsNegative time -> reduces cooldown. Is that what you're looking for?
  16. As Annie stated, 'itemskill' will consume items of type 11, and other commands won't - so Fly Wings are consumed, Reins of Mount isn't. I'll add a note to the item_db documentation, so I'll mark this closed.
  17. You can keep a list (array or SQL, depending on what level of permanence you want) of all the players who join, and active a PCLogoutEvent to check if the player was part of the event + remove their name from the list if they were.
  18. You can't use 'donpcevent', because that invokes an event without an RID attached. You're thinking of 'Doevent'. (Also, grab a newer version of that script: npc/custom/quests/quest_shop.txt)
  19. Euphy

    stapo forever D:!

    Some more choices... xD Gold Poring: Bomb Poring: King Poring:
  20. This was a bug that we fixed a couple of days ago. Try updating your repository and see if this is fixed.
  21. It's there, located near the Code Redeemer if memory serves. If you want to rip the script, feel free to do so and submit a pull request. Shouldn't be too difficult, but I don't have time for it myself at the moment.
  22. Easy way is to just compare strings: set .@name$, strcharinfo(0); if (.@name$ == "Admin01" || .@name$ == "Admin02" || ... ) { //if (getgmlevel() < 1) end; //If this is GM only, block normal players too. getitem 501,1; end; }If you have a lot of names (100+, probably), you might want to use an SQL table or an array and search algorithm.
  23. It's not. We discussed whether or not to implement this many months back, but decided against it. (I wonder if @Lighta started working on it, though...)
  24. It's in the repository. npc/custom/quests/quest_shop.txt
×
×
  • Create New...