Jump to content

Bahmut

Members
  • Posts

    382
  • Joined

  • Last visited

Community Answers

  1. Bahmut's post in disabler was marked as the answer   
    You could create an extra group without any commands and then use:

    atcommand "@adjgroup <group id>";
    when talking to the npc and reset it after finishing your stuff.
  2. Bahmut's post in having an error was marked as the answer   
    First of all why are you using such an old revision? Not using the latest one can be wise because of bugs in the trunk but using too old revision can cause problems such as unfixed bugs with skills, npcs and so on. But anyway if this is your only error and you haven't modified the functions_kafras.txt then the file might just be crapped. Just redownload it from the SVN and replace it:
    https://rathena.svn.sourceforge.net/svnroot/rathena/trunk/npc/kafras/
  3. Bahmut's post in Is there anyway to check... was marked as the answer   
    I don't think this is possible without any source modifications
  4. Bahmut's post in Double accounting was marked as the answer   
    OnPCLoginEvent: //- 1 accounts per IP address during WoE         set .@name$, strcharinfo(0); if (query_sql("SELECT login.account_id FROM login LEFT JOIN `char` ON login.account_id=`char`.account_id WHERE login.last_ip=(SELECT last_ip FROM login WHERE account_id=" + getcharid(3) + ") AND `char`.online=1", .@account_id) > 1 && (agitcheck() == 1 || agitcheck2() == 1)) { announce "Sorry, only 1 accounts per IP can be logged in at a time.",bc_self,0xFF4949; sleep2 3000; atcommand "@kick " + .@name$; end; }  
    This script should work
  5. Bahmut's post in Allow shop on place was marked as the answer   
    You can set cells to no vending like this:
    setcell "market",<x1>,<y1>,<x2>,<x2>,cell_novending,1;
  6. Bahmut's post in like countitem but for monsters on map? was marked as the answer   
    From doc/script_commands.txt:
    *mobcount("<map name>","<event label>") This function will count all the monsters on the specified map that have a given event label and return the number or 0 if it can't find any. Naturally, only monsters spawned with 'monster' and 'areamonster' script commands can have non-empty event label. If you pass this function an empty string for the event label, it will return the total count of monster without event label, including permanently spawning monsters. With the dynamic mobs system enabled, where mobs are not kept in memory for maps with no actual people playing on them, this will return a 0 for any such map. If the event label is given as "all", all monsters will be counted, regardless of having any event label attached. If the map name is given as "this", the map the invoking character is on will be used. If the map is not found, or the invoker is not a character while the map is "this", it will return -1.
  7. Bahmut's post in Possible Assistant? was marked as the answer   
    First I do not recommend you to open a public server without the proper knowlege about the server software, configurating a webserver and so on. I would recommend you to create a local server on your system and then learn from it. If you just want to play with your friends use tunngle or hamachi it's saver and does not require a root server. In the rAthena Wiki you will find lots of guides on how to configure your server and many other things.
    Here is a basic guide on how to setup a local server:
    http://rathena.org/b...private-server/
  8. Bahmut's post in ifgetgmlvl only lvl 20 help anyone? was marked as the answer   
    if( getgmlevel() == 20 ){ mes "Only Donator can get supply here! lol!"; close; }
    for only lvl 20.

    if( getgmlevel() >= 20 ){ mes "Only Donator can get supply here! lol!"; close; }
    for lvl 20 and higher
  9. Bahmut's post in @request complete vote4points script was marked as the answer   
    What exactly are you requesting?
    For a vote for points system in your control panel go here:
    http://rathena.org/board/topic/64099-ceres-cp-addon-show-vote-points/
    or
    http://rathena.org/board/topic/60640-fluxcp-addon-vote-for-points/
  10. Bahmut's post in can you make this script every 55mins was marked as the answer   
    Here:

    //===== rAthena Script ======================================= //= Poring Summoner //===== By: ================================================== //= Bahmut (Made it automated) //= MoonlightRO (Original) //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== //= TXT & SQL //===== Link to orginal: ===================================== //= http://www.eathena.ws/board/index.php?showtopic=236779 //============================================================ - script Poring Summoner -1,{ OnInit: //---- NPC Config ----- set .ItemID,1000; set .SpecialPorings,2; set .NormalPorings,2; //--------------------- initnpctimer; end; OnSpecialKill: set .SpecialPorings[1],.SpecialPorings[1]-1; announce strcharinfo(0) + " got a " + getitemname(.ItemID) + "!",bc_map; getitem .ItemID,1; goto PoringCount; OnNormalKill: set .NormalPorings[1],.NormalPorings[1]-1; goto PoringCount; PoringCount: announce "Special Poring: " + .SpecialPorings[1] + " || Normal Poring: " + .NormalPorings[1],bc_map; if(!.SpecialPorings[1]) goto EndEvent; end; OnTimer216000000: RestartEvent: killmonster .Map$,"All"; set .Event,0; set .SpecialPorings[1],0; set .NormalPorings[1],0; removemapflag .Map$,mf_noskill; set $@ran, rand(1,10); if ($@ran == 10) set .Map$,"lighthalzen"; if ($@ran == 9) set .Map$,"louyang"; if ($@ran == 8) set .Map$,"comodo"; if ($@ran == 7) set .Map$,"xmas"; if ($@ran == 6) set .Map$,"aldebaran"; if ($@ran == 5) set .Map$,"izlude"; if ($@ran == 4) set .Map$,"payon"; if ($@ran == 3) set .Map$,"geffen"; if ($@ran == 2) set .Map$,"morocc"; if ($@ran == 1) set .Map$,"prontera"; setmapflag .Map$,mf_noskill; monster .Map$,0,0,"Poring",1002,.SpecialPorings,"Poring Summoner::OnSpecialKill"; monster .Map$,0,0,"Poring",1002,.NormalPorings,"Poring Summoner::OnNormalKill"; set .SpecialPorings[1],.SpecialPorings; set .NormalPorings[1],.NormalPorings; announce "The Poring Event has begun!",bc_all; announce "Location: " + .Map$,bc_all; announce "Special Poring: " + .SpecialPorings,bc_all; announce "Normal Poring: " + .NormalPorings,bc_all; setnpctimer 0; end; }
  11. Bahmut's post in PVP on was marked as the answer   
    Try this for a specific area or use Mysterious solution for whole maps:

    *setcell "<map name>",<x1>,<y1>,<x2>,<y2>,<type>,<flag>; Each map cell has several 'flags' that specify the properties of that cell. These include terrain properties (walkability, shootability, presence of water), skills (basilica, land protector, ...) and other (NPC nearby, no vending, ...). Each of these can be 'on' or 'off'. Together they define a cell's behavior. This command lets you alter these flags for all map cells in the specified (x1,y1)-(x2,y2) rectangle. The 'flag' can be 0 or 1 (0:clear flag, 1:set flag). The 'type' defines which flag to modify. Possible options include cell_walkable, cell_shootable, cell_basilica. For a full list, see const.txt. Example: setcell "arena",0,0,300,300,cell_basilica,1; setcell "arena",140,140,160,160,cell_basilica,0; setcell "arena",135,135,165,165,cell_walkable,0; setcell "arena",140,140,160,160,cell_walkable,1; This will add a makeshift ring into the center of the map. The ring will be surrounded by a 5-cell wide 'gap' to prevent interference from outside, and the rest of the map will be marked as 'basilica', preventing observers from casting any offensive skills or fighting among themselves. Note that the wall will not be shown nor known client-side, which may cause movement problems. Another example: OnBarricadeDeploy: setcell "schg_cas05",114,51,125,51,cell_walkable,0; end; OnBarricadeBreak: setcell "schg_cas05",114,51,125,51,cell_walkable,1; end; This could be a part of the WoE:SE script, where attackers are not allowed to proceed until all barricades are destroyed. This script would place and remove a nonwalkable row of cells after the barricade mobs.
  12. Bahmut's post in Question regarding the "produce" script command was marked as the answer   
    I created a new entry with a new item level in the produce_db.txt and so there is no skill to relate to:

    7060,50,0,0,29101,1
    EDIT:
    Found it by searching the source and I have to say the skill_produce_mix function is very ugly. Default it's 50% success rate.
    If you want to change it find this block in skill.c:

    default: if (sd->menuskill_id == AM_PHARMACY && sd->menuskill_val > 10 && sd->menuskill_val <= 20) { //Assume Cooking Dish if (sd->menuskill_val >= 15) //Legendary Cooking Set. make_per = 10000; //100% Success else make_per = 1200 * (sd->menuskill_val - 10) + 20 * (sd->status.base_level + 1) + 20 * (status->dex + 1) + 100 * (rnd()%(30+5*(sd->cook_mastery/400) - (6+sd->cook_mastery/80)) + (6+sd->cook_mastery/80)) - 400 * (skill_produce_db[idx].itemlv - 11 + 1) - 10 * (100 - status->luk + 1) - 500 * (num - 1) - 100 * (rnd()%4 + 1); break; } make_per = 5000; break;
    and change the last

    make_per = 5000;
    to

    make_per = 10000;
    for 100%
  13. Bahmut's post in Need Help about Emperium Breaker script was marked as the answer   
    This might help you:
    add in db/castle_db.txt:

    100,job3_arch01,Breaker Room,test,1
  14. Bahmut's post in Can somebody give me or help me? was marked as the answer   
    You may want to use this guide for this:
    http://rathena.org/wiki/Custom_Items
  15. Bahmut's post in Script Request was marked as the answer   
    There is a WoE setter in your npc/custom/ folder. WIth the Breaker Ladder I don't have a direct link but you might want to search the eAthena Board there was one released long time ago and it might also work on rAthena.
    EDIT:
    I found one on the eAthena Board but I don't know if it work with rAthena:
    http://www.eathena.ws/board/index.php?showtopic=233189&hl=emp+breaker+ladder
×
×
  • Create New...