Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/15/14 in all areas

  1. A solution for GM corruption, and player doubt! Prize Giving NPC EventRewards.txt GMs use this NPC to give rewards without using #item or trading! This should be used in combination with removing @item from your Event GMs commands, and disabling their ability to trade. The NPC logs everything in a SQL table, which you will need to create. The NPC broadcasts that a player has received a prize(GMs have no way to hide the broadcast) This script was not made by me, but it was heavily edited so that it only gives an item that you specify in the the settings, and will work with the group_id system! Warning: If you do not use the group_id system you'll need to replace all instances of getgroupid() with getgmlevel() SQL Log Web Viewer (PHP) index.php You can find an example of it here. It can be intergrated into a Flux page if you wish, but I chose not to. Installation! 1)First execute this SQL query via phpmyadmin, or your preferred mysql query browser. CREATE TABLE IF NOT EXISTS `itemizer` ( `id` int(11) unsigned NOT NULL auto_increment, `item_id` int(11) NOT NULL, `item_amount` int(11) NOT NULL, `item_name` varchar(255) NOT NULL, `char_id` int(11) NOT NULL, `char_name` varchar(255) NOT NULL, `reason` varchar(255) NOT NULL, `by_gm` varchar(255) NOT NULL, `when` datetime NOT NULL, `for` varchar(255) NOT NULL, `collected` tinyint(1) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM ; 2) Place EventRewards.txt in your NPC/Custom Folder, and add it to scripts_custom.conf as so npc: npc/custom/EventRewards.txt 3) (Optional Web Viewer) Open up Index.php and find this line. mysql_connect("127.0.0.1", "User", "Password") or die (mysql_error ()); and mysql_select_db("rathena_rag") or die(mysql_error()); Change 127.0.0.1 to your SQL database's IP, User to your SQL username, Password to your SQL password, and lastly rathena_rag to the name of your Ragnarok Database. 4) Create a new directory inside public_html called "rewards" or whatever you like, and place index.php in there! 5) I am not sure if it is safe to @loadnpc this script, so for safety reasons, I would suggest restarting the rAthena emulator. 6) Now give it a test, and if completed correctly you should have http://yourROsite.com/rewards/ looking like this. ~Credits~ *******Latheesan ( He created the original NPC called "Itemizer" )******* Pancake ( Created the web viewer, and modified the script to work with group_id ) Coming soon: The ability for GMs to whisper this NPC, so that they can reward players from any map!
    1 point
  2. It's message of the day xD
    1 point
  3. If you want to change it for skill damage, go to battle.c look for: if( sc->data[SC_EDP] ){ switch(skill_id){ case AS_SPLASHER: // Pre-Renewal only: Soul Breaker and Meteor Assault ignores EDP // Renewal only: Grimtooth and Venom Knife ignore EDP // Both: Venom Splasher ignores EDP [helvetica] #ifndef RENEWAL case ASC_BREAKER: case ASC_METEORASSAULT: #else case AS_GRIMTOOTH: case AS_VENOMKNIFE: #endif break; // skills above have no effect with edp #ifdef RENEWAL // renewal EDP mode requires renewal enabled as well // Renewal EDP: damage gets a half modifier on top of EDP bonus for skills [helvetica] // * Sonic Blow // * Soul Breaker // * Counter Slash // * Cross Impact case AS_SONICBLOW: case ASC_BREAKER: case GC_COUNTERSLASH: case GC_CROSSIMPACT: ATK_RATE(wd.weaponAtk, wd.weaponAtk2, 50); ATK_RATE(wd.equipAtk, wd.equipAtk2, 50); default: // fall through to apply EDP bonuses // Renewal EDP formula [helvetica] // weapon atk * (1 + (edp level * .8)) // equip atk * (1 + (edp level * .6)) ATK_RATE(wd.weaponAtk, wd.weaponAtk2, 100 + (sc->data[SC_EDP]->val1 * 80)); ATK_RATE(wd.equipAtk, wd.equipAtk2, 100 + (sc->data[SC_EDP]->val1 * 60)); break; #else default: ATK_ADDRATE(wd.damage, wd.damage2, sc->data[SC_EDP]->val3); #endif } } change to if( sc->data[SC_EDP] ){ switch(skill_id){ case AS_SPLASHER: // Pre-Renewal only: Soul Breaker and Meteor Assault ignores EDP // Renewal only: Grimtooth and Venom Knife ignore EDP // Both: Venom Splasher ignores EDP [helvetica] #ifndef RENEWAL case ASC_BREAKER: case ASC_METEORASSAULT: #else case AS_GRIMTOOTH: case AS_VENOMKNIFE: #endif break; // skills above have no effect with edp #ifdef RENEWAL // renewal EDP mode requires renewal enabled as well // Renewal EDP: damage gets a half modifier on top of EDP bonus for skills [helvetica] // * Sonic Blow // * Soul Breaker // * Counter Slash // * Cross Impact case AS_SONICBLOW: case ASC_BREAKER: case GC_COUNTERSLASH: case GC_CROSSIMPACT: ATK_RATE(wd.weaponAtk, wd.weaponAtk2, 50/2); ATK_RATE(wd.equipAtk, wd.equipAtk2, 50/2); default: // fall through to apply EDP bonuses // Renewal EDP formula [helvetica] // weapon atk * (1 + (edp level * .8)) // equip atk * (1 + (edp level * .6)) ATK_RATE(wd.weaponAtk, wd.weaponAtk2, (100 + (sc->data[SC_EDP]->val1 * 80))/2); ATK_RATE(wd.equipAtk, wd.equipAtk2, (100 + (sc->data[SC_EDP]->val1 * 60))/2); break; #else default: ATK_ADDRATE(wd.damage, wd.damage2, (sc->data[SC_EDP]->val3)/2); #endif } } Re-compile. ______________________________________________________________________________________ If you want to change EDP status in general go to status.c, look for: case SC_EDP: val2 = val1 + 2; // Chance to Poison enemies. #ifndef RENEWAL val3 = 50*(val1+1); // Damage increase (+50 +50*lv%) #endif if( sd )// [Ind] - iROwiki says each level increases its duration by 3 seconds tick += pc_checkskill(sd,GC_RESEARCHNEWPOISON)*3000; break; change to case SC_EDP: val2 = val1 + 2; // Chance to Poison enemies. #ifndef RENEWAL val3 = (50*(val1+1))/2; // Damage increase (+50 +50*lv%) #endif if( sd )// [Ind] - iROwiki says each level increases its duration by 3 seconds tick += pc_checkskill(sd,GC_RESEARCHNEWPOISON)*3000; break; Re-compile. Let me know if it works. Cheers, Shade
    1 point
  4. Set it up here https://github.com/rathena/rathena/blob/master/conf/battle/player.conf#L76
    1 point
×
×
  • Create New...