Jump to content

jaBote

Community Contributors
  • Content Count

    2037
  • Joined

  • Last visited

  • Days Won

    43

Reputation Activity

  1. Upvote
    jaBote got a reaction from Patskie in Wandering Poring v1.0   
    Whops, sorry Patskie, was trying to reply Mission all the time on last post
  2. Upvote
    jaBote got a reaction from Mission in Music Player NPC / DJ   
    Just make another menu with switch(select("Your menu"))
  3. Upvote
    jaBote reacted to Neo-Mind in Shell Command - exec athena-start from sh file outside of emulator directory   
    exec ${EMULATOR}athena-start << this will run the athena-start script but the working directory will still be the same and athena-start looks for the server binaries in the working directory i.e. /home
     
    what you should be doing instead is.
     
    cd $EMULATOR
    exec athena-start stop
     
    or alternatively add $EMULATOR to the $PATH variable instead of ./
  4. Upvote
    jaBote reacted to karazu in NPC Soul Linker   
    Just replace 
     
     
            default: if ( upper == 1 && baselevel < 70 ) set .@spirit, 494; } if ( .@spirit ) { sc_start4 sc_spirit, .@time, 5, .@spirit,0,0;<------------------------- REPLACE THIS LINE skilleffect .@spirit, 5; }case 2:mes .@n$;mes "Okay,goodbye!";close;}l_nozeny:   
  5. Upvote
    jaBote got a reaction from Mumbles in Blessing(NPC,Skill)   
    Hello.
     
    Some status change names were changed some months ago, so some items may not work.
     
    Here's an online comparison between old and new status change names I made at that time (and it's still mostly valid) so that people can compare what's the new and old names for them: http://www.diffnow.com/?report=kze0y New name is on the left, old names are on the right.
     
    Just try to fix the SC names on your NPC by changing the names that appear on the right to the ones that appear on the left.
    Please remember that using an old/invalid SC name will make its value default to 0, which means stone curse by that list.
     
    Hope I helped you.
  6. Upvote
    jaBote reacted to Triedge in Npc Job Changer Script   
    in: npc/custom/jobmaster.txt
    Search line:
    set .ThirdClass,1;    // Enable third classes? (1: yes / 0: no)
    Change for:
    set .ThirdClass,0;    // Enable third classes? (1: yes / 0: no)
  7. Upvote
    jaBote got a reaction from Mumbles in Help with GvG Map   
    Just set a map with the gvg mapflag, either with the setmapflag or the gvgon and gvgoff script commands:
     
    *gvgon "<map name>";*gvgoff "<map name>";These commands will turn GVG mode for the specified maps on and off, setting up appropriate map flags. In GVG mode, maps behave as if during the time of WoE, even though WoE itself may or may not actually be in effect.  
    Or you can even use the GM commands @gvgon or @gvgoff ingame on the same map if you want.
  8. Upvote
    jaBote got a reaction from Mumbles in ¿Why used Git and no SVN?   
    Maybe this can help you a bit:
    http://git-scm.com/book/en/Getting-Started-Git-Basics
     
    Also, I must note the fact that you can actively participate on the emulator's development when using Git, by sending pull requests via Github. Check this guide!
  9. Upvote
    jaBote got a reaction from Gelo in Cannot login to character select but no errors   
    Does your login server point you to the appropriate char server and map server port?
     
    It seems you're getting lost either by an IP issue or a port issue. Check them thoroughly.
  10. Upvote
    jaBote reacted to kyeme in Autobuff   
    Yes
    - script autobuffs -1,{OnPCLoginEvent: addtimer 60000,"autobuffs::OnBuffs"; end;OnBuffs: sc_start SC_INC_AGI,240000,10; sc_start SC_BLESSING,240000,10; specialeffect2 EF_INCAGILITY; specialeffect2 EF_BLESSING; addtimer 60000,"autobuffs::OnBuffs"; end;}
  11. Upvote
    jaBote got a reaction from Mumbles in Move rAthena to Hercules   
    I've reached a very similar SQL to yours, please compare and remember to make a backup before applying (I haven't tested them but there shouldn't be problems):
     
    -- rAthena to Hercules main database upgrade query.-- Please don't use if too outdated.-- Remember to make a backup before applying.-- Apply in the same database you applied your main.sql-- Last revision: November 2, 2013-- Drop table `skillcooldown` since it's not used in HerculesDROP TABLE IF EXISTS `skillcooldown`;-- Upgrades for table `cart_inventory`ALTER TABLE `cart_inventory` MODIFY `equip` INT(11) UNSIGNED NOT NULL default '0', DROP COLUMN `bound`;-- Upgrades for table `char`ALTER TABLE `char` DROP COLUMN `moves`, ADD `slotchange` SMALLINT(3) UNSIGNED NOT NULL default '0', ADD `char_opt` INT( 11 ) UNSIGNED NOT NULL default '0', ADD `font` TINYINT( 3 ) UNSIGNED NOT NULL DEFAULT '0';-- Upgrades for table `guild_storage`ALTER TABLE `guild_storage` MODIFY `equip` INT(11) UNSIGNED NOT NULL default '0', DROP COLUMN `bound`;-- Upgrades for table `inventory`ALTER TABLE `inventory` MODIFY `equip` INT(11) UNSIGNED NOT NULL default '0', DROP COLUMN `bound`;---- Table structure for table `sql_updates`--CREATE TABLE IF NOT EXISTS `sql_updates` ( `timestamp` int(11) unsigned NOT NULL, `ignored` enum('Yes','No') NOT NULL DEFAULT 'No', PRIMARY KEY (`timestamp`)) ENGINE=MyISAM;-- Existent updates to enterINSERT INTO `sql_updates` (`timestamp`) VALUES (1360858500);INSERT INTO `sql_updates` (`timestamp`) VALUES (1360951560);INSERT INTO `sql_updates` (`timestamp`) VALUES (1362445531);INSERT INTO `sql_updates` (`timestamp`) VALUES (1362528000);INSERT INTO `sql_updates` (`timestamp`) VALUES (1362794218);INSERT INTO `sql_updates` (`timestamp`) VALUES (1364409316);INSERT INTO `sql_updates` (`timestamp`) VALUES (1366075474);INSERT INTO `sql_updates` (`timestamp`) VALUES (1366078541);INSERT INTO `sql_updates` (`timestamp`) VALUES (1381354728);INSERT INTO `sql_updates` (`timestamp`) VALUES (1381423003);INSERT INTO `sql_updates` (`timestamp`) VALUES (1382892428);INSERT INTO `sql_updates` (`timestamp`) VALUES (1383167577);-- Updates to table `storage`ALTER TABLE `storage` MODIFY `equip` INT(11) UNSIGNED NOT NULL default '0', DROP COLUMN `bound`;---- Table structure for table `account_data`--CREATE TABLE IF NOT EXISTS `account_data` ( `account_id` int(11) unsigned NOT NULL default '0', `bank_vault` int(11) unsigned NOT NULL default '0', PRIMARY KEY (`account_id`)) ENGINE=MyISAM; uPaste.me mirror: http://upaste.me/7fbc8490ebb57a6a 
    Also, even if not needed, here's the log upgrade query:
    -- rAthena to Hercules log database upgrade query.-- Please don't use if too outdated.-- Remember to make a backup before applying.-- Apply in the same database you applied your logs.sql-- Last revision: November 2, 2013-- Upgrades to table `picklog`ALTER TABLE `picklog` MODIFY `type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$') NOT NULL default 'P';-- Drop table `cashlog` since it's not used in HerculesDROP TABLE IF EXISTS `cashlog`;uPaste.me mirror: http://upaste.me/a011849121f6f38c 
    Hope it's useful.
  12. Upvote
    jaBote got a reaction from Mumbles in How to Disable Skill?   
    Or, if you want to disable skills on certain maps only, you could do that in your map_zone_db.conf file: db/pre-re/map_zone_db.conf for pre-renewal servers or db/re/map_zone_db.conf for renewal servers.
  13. Upvote
    jaBote got a reaction from Mumbles in Request Script Syntax Again :)))) THANKS IN ADVANCE SCREEN SHOT INCLUDED   
    Why don't you try to make it yourself? It's quite easy.
     
    Plus, with the aid of doc/item_bonus.txt, doc/script_commands.txt and maybe some online database that interprets the meaning of the item script such as http://midgard-library.org/ (beware it's outrageously outdated but still does its job, just look for comparable item effects) it shouldn't be too complicated. You just need spending some time by yourself the first time, then next time you'll spend a bit less and have less doubts, until you master it and will make item scripts quickly without any problems.
  14. Upvote
    jaBote got a reaction from Mumbles in Request Syntax. Screenshot Inside   
    So you'd have to alter your SQL item databases instead of your text databases.
  15. Upvote
    jaBote got a reaction from Mumbles in Is it possible?   
    I don't like myself the EVERY hit part, but you could try this as your item script:
     
    { if(getmapflag(strcharinfo(3),mf_pvp) || getmapflag(strcharinfo(3),mf_gvg)) { bonus bSPVanishRate,1000,4; } } That is supposed to do that, in every hit in PvP or GvG (this includes WoE), target's SP will be reduced by 4% (this effect won't work on things such as @duel on a non-pvp map for example). If you want to reduce 4% SP with each hit regardless of where (remember monsters usually have 0 SP, they cast without SP restrictions), just make its script like this:
     
    { bonus bSPVanishRate,1000,4; }  
    P.S.: Documentation says that for this bonus, 1000 means 100% (of hits in this particular case), but I'm not completely sure since in other things 100% is 10000. This is just matter of trial and error I think.
  16. Upvote
    jaBote got a reaction from Mumbles in Need this script command in item   
    Is it a script for an usable or an equippable item? If it's for an usable item you can't do that AD damage increase.
     
    Supposing this is for an equippable item and you want to give the bonus only when the item is equipped, its script should be:
    skill 232,5,1; bonus2 bSkillAtk,CR_ACIDDEMONSTRATION,5; Its equippable job value should be 0xFFFFFFFF and its upper value should be 15.
     
    Since you haven't specified more info for the item, creating the rest of it is up to you. Refer to /doc/item_db.txt for more documentation about item creations, and /doc/item_bonus.txt for more information on item bonuses. The new item should be place in /db/item_db2.txt. Make sure new item ID doesn't collide with an existent one (unless you want to overwrite it) and you should be good to go making that new item.
     
    If you want a sprite and a description for the item, you'll have touse /db/item_avail.txt if you want to copy existent ones or add them to your client-side.
  17. Upvote
    jaBote reacted to Mhalicot in how can i increase the base and job exp rates   
    1. edit conf/battle/exp.conf for exp rates
     
    2. edit conf/battle/player.conf for max stats parameters and atkspeed
     
    3. edit db/re/exp.txt and src/map/map.h for max level
     
    4. then recompile, and your done..
  18. Upvote
    jaBote got a reaction from khenma in How to Increase Mobs/Monster in Specific Map   
    No, it has 1 line only. Use the first one if you won't be using any NPC event for the monster, or the second one if you'll be using it.
     
    If you'll not have an NPC for whick you want to run the event, then you'll always get that error, so it'd be better if you didn't put any event label if not using them.
     
    Have you seen the examples on my text? By reading the text and trying to understand the examples, it should be quite clear.
     
    P.S.: No, you can't remove the looting behavior of a poring unless you make a custom entry on the mob database that removes that AI part of the mob.
  19. Upvote
    jaBote reacted to Mumbles in Points to Zeny Exchanger   
    Utility: Points to Zeny Exchanger
    As per themon's request: http://herc.ws/board/topic/2774-zeny-to-cash-point/
     
    Description:
    Allows players to exchange points for zeny and vice-versa. Point variable, exchange rate, and minimum exchange can be configured easily below the 'OnInit' label.
     
    Optimised for Hercules emulators.
     
    Download:
    https://github.com/datmumbles/Scripts/raw/master/util/points2zeny.txt
  20. Upvote
    jaBote got a reaction from kyeme in Move rAthena to Hercules   
    I've reached a very similar SQL to yours, please compare and remember to make a backup before applying (I haven't tested them but there shouldn't be problems):
     
    -- rAthena to Hercules main database upgrade query.-- Please don't use if too outdated.-- Remember to make a backup before applying.-- Apply in the same database you applied your main.sql-- Last revision: November 2, 2013-- Drop table `skillcooldown` since it's not used in HerculesDROP TABLE IF EXISTS `skillcooldown`;-- Upgrades for table `cart_inventory`ALTER TABLE `cart_inventory` MODIFY `equip` INT(11) UNSIGNED NOT NULL default '0', DROP COLUMN `bound`;-- Upgrades for table `char`ALTER TABLE `char` DROP COLUMN `moves`, ADD `slotchange` SMALLINT(3) UNSIGNED NOT NULL default '0', ADD `char_opt` INT( 11 ) UNSIGNED NOT NULL default '0', ADD `font` TINYINT( 3 ) UNSIGNED NOT NULL DEFAULT '0';-- Upgrades for table `guild_storage`ALTER TABLE `guild_storage` MODIFY `equip` INT(11) UNSIGNED NOT NULL default '0', DROP COLUMN `bound`;-- Upgrades for table `inventory`ALTER TABLE `inventory` MODIFY `equip` INT(11) UNSIGNED NOT NULL default '0', DROP COLUMN `bound`;---- Table structure for table `sql_updates`--CREATE TABLE IF NOT EXISTS `sql_updates` ( `timestamp` int(11) unsigned NOT NULL, `ignored` enum('Yes','No') NOT NULL DEFAULT 'No', PRIMARY KEY (`timestamp`)) ENGINE=MyISAM;-- Existent updates to enterINSERT INTO `sql_updates` (`timestamp`) VALUES (1360858500);INSERT INTO `sql_updates` (`timestamp`) VALUES (1360951560);INSERT INTO `sql_updates` (`timestamp`) VALUES (1362445531);INSERT INTO `sql_updates` (`timestamp`) VALUES (1362528000);INSERT INTO `sql_updates` (`timestamp`) VALUES (1362794218);INSERT INTO `sql_updates` (`timestamp`) VALUES (1364409316);INSERT INTO `sql_updates` (`timestamp`) VALUES (1366075474);INSERT INTO `sql_updates` (`timestamp`) VALUES (1366078541);INSERT INTO `sql_updates` (`timestamp`) VALUES (1381354728);INSERT INTO `sql_updates` (`timestamp`) VALUES (1381423003);INSERT INTO `sql_updates` (`timestamp`) VALUES (1382892428);INSERT INTO `sql_updates` (`timestamp`) VALUES (1383167577);-- Updates to table `storage`ALTER TABLE `storage` MODIFY `equip` INT(11) UNSIGNED NOT NULL default '0', DROP COLUMN `bound`;---- Table structure for table `account_data`--CREATE TABLE IF NOT EXISTS `account_data` ( `account_id` int(11) unsigned NOT NULL default '0', `bank_vault` int(11) unsigned NOT NULL default '0', PRIMARY KEY (`account_id`)) ENGINE=MyISAM; uPaste.me mirror: http://upaste.me/7fbc8490ebb57a6a 
    Also, even if not needed, here's the log upgrade query:
    -- rAthena to Hercules log database upgrade query.-- Please don't use if too outdated.-- Remember to make a backup before applying.-- Apply in the same database you applied your logs.sql-- Last revision: November 2, 2013-- Upgrades to table `picklog`ALTER TABLE `picklog` MODIFY `type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$') NOT NULL default 'P';-- Drop table `cashlog` since it's not used in HerculesDROP TABLE IF EXISTS `cashlog`;uPaste.me mirror: http://upaste.me/a011849121f6f38c 
    Hope it's useful.
  21. Upvote
    jaBote got a reaction from khenma in Questions in one post ^_^   
    I'd better tell you on a live example. Could you please paste the content of your clientinfo.xml here?
     
    Try to open it as plaintext, else it's possible you won't be able to open it.
  22. Upvote
    jaBote got a reaction from Patskie in MVP Announcer   
    The script works, you just forgot first line spaces are actually tabs:
    - script Sample -1,{ OnInit: setarray .Maps$[0],"prontera","payon","geffen"; .mob_id = 1002; end; OnMinute00: .random_index = rand(getarraysize(.Maps$)); monster .Maps$[.random_index],0,0,getmonsterinfo(.mob_id,0),.mob_id,1,strnpcinfo(1)+"::OnKill"; announce getmonsterinfo(.mob_id,0)+ " has been spawned on map " +.Maps$[.random_index],0; end; OnKill: announce getmonsterinfo(.mob_id,0)+ " has been killed and will spawn again at " +(gettime(3)+1)+ ":" +gettime(2)+ " " +(gettime(3)+1>11?"PM":"AM"),0; end;}  
     
     
    Yeah, it's an MvP (or whichever mob you want to spawn, this one is in fact a poring) each hour, on a random city. If you want to add more monsters and maps there please use my script modification of Patskie's:
     
    - script Sample -1,{ OnInit: setarray .Maps$[0],"prontera","payon","geffen","aldebaran"; // Add more map names here following this syntax (up to 128) setarray .mob_ids[0], 1002,1031,1062,1090,1096,1120,1388,1582,1613,1836,1894; // Add more mob IDs here following this syntax (up to 128) end; OnMinute00: .random_map = rand(getarraysize(.Maps$)); .random_mob = rand(getarraysize(.mob_ids)); monster .Maps$[.random_map],0,0,getmonsterinfo(.mob_ids[.random_mob],0),.mob_ids[.random_mob],1,strnpcinfo(3)+"::OnKill"; announce getmonsterinfo(.mob_ids[.random_mob],0)+ " has been spawned on map " +.Maps$[.random_map],0; end; OnKill: announce getmonsterinfo(.mob_ids[.random_mob],0)+ " has been killed and will spawn again at " +(gettime(3)+1)+ ":" +gettime(2)+ " " +(gettime(3)+1>11?"PM":"AM"),0; end;}
  23. Upvote
    jaBote got a reaction from khenma in Questions in one post ^_^   
    a) That's is due to the fact you're using Euphy's WoE setter, not your client. If so, you can easily change the reward to the one you want this NPC line: npc/custom/woe_controller.txt, line 70
     
    Change it to the item ID you want to give, and the amount of them you want the guildmasters to get.  Follow the instructions some lines before that configuration
     
    b ) Finished!
     
    c) Hmm, I didn't find that someone did put a cap on the server side. Try changing the MAX_LEVEL definition from src/map/map.h, line 39 to a higher value. Remember that every time you make changes inside /src, you have to recompile so that these changes will take effect.
     
    d) Then it's an issue of the client side only. Try to find the file that manages your item data on the client. According to the Client Side Translation project posted here in Hercules (topic link), it's stored on the System/itemInfo.lua (or .lub, doesn't matter) file. Set the slotCount parameter for each item you want to change to a value between 0 and 4.
     
    Hope this completes the help!
  24. Upvote
    jaBote got a reaction from themon in MVP Announcer   
    The script works, you just forgot first line spaces are actually tabs:
    - script Sample -1,{ OnInit: setarray .Maps$[0],"prontera","payon","geffen"; .mob_id = 1002; end; OnMinute00: .random_index = rand(getarraysize(.Maps$)); monster .Maps$[.random_index],0,0,getmonsterinfo(.mob_id,0),.mob_id,1,strnpcinfo(1)+"::OnKill"; announce getmonsterinfo(.mob_id,0)+ " has been spawned on map " +.Maps$[.random_index],0; end; OnKill: announce getmonsterinfo(.mob_id,0)+ " has been killed and will spawn again at " +(gettime(3)+1)+ ":" +gettime(2)+ " " +(gettime(3)+1>11?"PM":"AM"),0; end;}  
     
     
    Yeah, it's an MvP (or whichever mob you want to spawn, this one is in fact a poring) each hour, on a random city. If you want to add more monsters and maps there please use my script modification of Patskie's:
     
    - script Sample -1,{ OnInit: setarray .Maps$[0],"prontera","payon","geffen","aldebaran"; // Add more map names here following this syntax (up to 128) setarray .mob_ids[0], 1002,1031,1062,1090,1096,1120,1388,1582,1613,1836,1894; // Add more mob IDs here following this syntax (up to 128) end; OnMinute00: .random_map = rand(getarraysize(.Maps$)); .random_mob = rand(getarraysize(.mob_ids)); monster .Maps$[.random_map],0,0,getmonsterinfo(.mob_ids[.random_mob],0),.mob_ids[.random_mob],1,strnpcinfo(3)+"::OnKill"; announce getmonsterinfo(.mob_ids[.random_mob],0)+ " has been spawned on map " +.Maps$[.random_map],0; end; OnKill: announce getmonsterinfo(.mob_ids[.random_mob],0)+ " has been killed and will spawn again at " +(gettime(3)+1)+ ":" +gettime(2)+ " " +(gettime(3)+1>11?"PM":"AM"),0; end;}
  25. Upvote
    jaBote reacted to Patskie in MVP Announcer   
    Every hour spawn time :
    - script Sample -1,{ OnInit: setarray .Maps$[0],"prontera","payon","geffen"; .mob_id = 1002; end; OnMinute00: .random_index = rand(getarraysize(.Maps$)); monster .Maps$[.random_index],0,0,getmonsterinfo(.mob_id,0),.mob_id,1,strnpcinfo(1)+"::OnKill"; announce getmonsterinfo(.mob_id,0)+ " has been spawned on map " +.Maps$[.random_index],0; end; OnKill: announce getmonsterinfo(.mob_id,0)+ " has been killed and will spawn again at " +(gettime(3)+1)+ ":" +gettime(2)+ " " +(gettime(3)+1>11?"PM":"AM"),0; end;}
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.