Jump to content

Khazou

Members
  • Content Count

    41
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by Khazou


  1. ^^

    If you're trying to add addrid you should read this http://herc.ws/board/topic/3285-script-command-addrid/

    And the cons about using such a command :)

     

     

     


    Will provide sexual favours to the person who can get this working for latest herc. Can pay money too.


    This kind of addrid was rejected from Hercules too. Because this can be dangerous. It can have unexpected behavior when the player is attached to other npc and you call addrid, either that script would stop executing(think doing some quest, the variables changed but you didn't got reward), or the script with addrid would behave oddly(rid not attached but script continued to run)
    More info: https://github.com/HerculesWS/Hercules/pull/211

  2. You can use this :)

     

    
    *getunits(<type>, <variable>, <limit>, "<map>"{, <x1>, <y1>, <x2>, <y2>})
    
    This function searches a whole map or area for units and adds their GID to
    the provided <variable> array. It filters units by <type> and stops searching
    after <limit> units have been found. Set <limit> to false (0) if you wish to
    disable the limit altogether.
    
    Type is the type of unit to search for:
    
    	BL_PC    - Character object
    	BL_MOB   - Monster object
    	BL_PET   - Pet object
    	BL_HOM   - Homunculus object
    	BL_MER   - Mercenary object
    	BL_IEM   - Item object (item drops)
    	BL_SKILL - Skill object (skill fx & sfx)
    	BL_NPC   - NPC object
    	BL_CHAT  - Chat object
    	BL_ELEM  - Elemental object
    	BL_CHAR  - Shorthand for (BL_PC|BL_MOB|BL_HOM|BL_MER|BL_ELEM)
    	BL_ALL   - Any kind of object
    
    ** Do NOT use UNITTYPE_ constants here, they have different values.
    
    Example:
    
    	.@count = getunits((BL_PC | BL_NPC), .@units, false, "prontera");
    
    The above example would search the map "prontera" for all PC and NPC units and
    add them to the .@units array, while setting .@count to the amount of units
    added to the array (useful in for() loops).
    
    

  3. Just change all the "close" at the end of all your label by "end".

     

    Close is use to close a conversation box, so it need a player attached.

     

    http://pastebin.com/fnG8UL7j

     

    Just keep the close from the OnMyMobDeath label since it has a "mes" command.

     

    Also, you shouldn't use a variable named such as $monster, that's too common, you may end having the same variable in an other script.


  4. Hello :)

     

    1. You don't need to put a "-"

    2. Your "/" sign is not at the right place

     

    From docs:

    bonus2 bHPLossRate,n,t;				Lose n HP every t millisecond
    

     

    => I didn't understand what you were trying to do.

    If you want player to lose (50 * Job Lvl/10) HP every seconde it will be like this

     

    bonus2 bHPLossRate,50*(readparam(JobLevel)/10),1000;


  5. Well, did you test leveling up a ninja ?

    Because here everything seems ok.

     

    Ninja and extended class are included in the: "Base - Normal and Baby Jobs"

     

    If you want to check by yourself:

    <lvl_max>,<class_id>:<class_id>:<class_id>,<exp_required>,<exp_required>

     

    Ninja has the job id 25, you can find it at the beginning of your "Base - Normal and Baby Jobs" line :)


  6. Well i personally use to have a single Browedit folder with browedit586.exe and browedit620.exe, that way you don't need to maintain 2 folders updated with your custom models :)

     

    If your browedit can't load your model, yeah, it will crash


  7. It should be the same, 620 is used to build your whole map whereas 586 is use to save maps you've created with 620 because 620 doesn't save them right, you can have some models that disappears in game.

     

    So:

     

    620: Build your maps, save it

    586: Open your 620 maps, save it


  8. You should update your emulator, if using constant like NPC_MAP throw a "no character is attached" it may be because they are not defined (because you don't have an updated version of the emulator :) ) and so it tries to get a player variable with the name NPC_MAP (and so it throw an error).

     

    You can't have a tomb with a monster spawn with the *monster command, because of they way its coded in the emulator. You need to make a permanent monster spawn using boss_monster, unless you specify this boss_monster, you won't have your tomb.

     

    I looked to see if you could spawn it with a permanent monster spawn, but here the problem would be to spawn a "Bloody Dead Branch" mob since you can't put a "-3"

     id for a permanent monster spawn.


  9. You should go back to NPC_MAP and NPC_NAME_UNIQUE, this is recommended way of scripting.

     

    Your error is just because of your main npc, the one which is duplicate. He also hit the OnInit label, so as you didn't set a map for this one you're getting your error :)

     

    Just put something like this:

    if(strnpcinfo(NPC_MAP) == "") end;
    

    Just after the OnInit label.

×
×
  • Create New...

Important Information

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