Jump to content

Mumbles

Retired Staff
  • Content Count

    618
  • Joined

  • Last visited

  • Days Won

    15

Posts posted by Mumbles


  1. You could add multiple setcells for a perimeter to accommodate your needs. I haven't tried this, but setting that particular cell/area to be walkable after setting the enclosing area to be unwalkable might work.


  2.                         if( battle_config.at_timeout )                        {                                int timeout = atoi(message);                                status->change_start(&sd->bl, SC_AUTOTRADE, 10000, 0, 0, 0, 0, ((timeout > 0) ? min(timeout,battle_config.at_timeout) : battle_config.at_timeout) * 60000, 0);                        }

     

    The way it's currently written, at_timeout will affect @afk. However, if the sc_start at @afk uses a custom number, at_timeout wont bother you.1

     

    1Thanks to @Ind for the extra info.


  3. thanks

     

    meaning:

     

    git pull --commit will update my rev at the sametime will keep all my changes?

     

    As long as you don't have anything that conflicts with the update, you'll be fine in most cases. In the event that you do have conflicts, a manual update may be needed. Your own changes won't be discarded unless you confirm that's what you want to do.


  4.  

    Nice. But for some reason if you loggin at open "my acc" it say 

     

     

    Storage Items of PlayerThere are no storage items on this account. 
    But there are items at the storage.

     

    Hi Vincent,

    Are you sure you've updated all of the files from the first commit? I've tested both stock themes on both pre-renewal and renewal modes of FluxCP on the latest version, and the Jellopy I've stored appears properly. If you have a custom theme, you will have to update your theme manually; the differentiation in most FluxCP theme infrastructures are minimal in most cases, so you shouldn't have much of an issue doing this.


  5. If your server's live and running, type @version in-game to retrieve the GIT hash. Alternatively, you can check it from a command line, like this:

    git rev-parse HEAD

     

    If you want the short version of the hash, type this instead:

    git rev-parse --short HEAD

     


     

    Assuming you're still using the command line to operate git, you can merge new updates with this command:

    git pull --commit

     


     

    To stay updated with ease, simply just make changes for your server within the same working copy that you use for GIT. Concurrent changes are handled fairly well, so unless you've made mass updates, you should be fine. I recommend that you make backups if you're unsure of whether or not updating will conflict with your customisations.


  6.  

     

     

    ^ Please post your code inside 

    This Code box, click <> at the toolbar of your reply window then add your code
    so that we can easily read/test your script :)

     

    [cbox]/*=========================================================
    @go command
    Original concept by jTynne
    Revised by Mumbles
    ===========================================================
    Compatibility:
    Optimised for Hercules emulators.
    ===========================================================
    Description:
    Alternative @go command. Allows for unlimited aliasing, as
    well as level and group restrictions for each destination.

    Additional options to add a delay, prevent use when dead,
    and charge per use are available; default cost is defined
    with '.cost', but this parameter can be set manually with
    'go()'. These extra features are disabled by default.

    Be mindful that the delay uses a temporary player variable,
    '@go_delay'; if the player logs out, this variable will be
    cleared. If you would like for a more secure delay, replace
    all instances of '@go_delay' with 'go_delay'.
    =========================================================*/

    - script at_go -1,{

    /*-----------------------------------------------------
    Configuration
    -----------------------------------------------------*/
    OnInit:
    .delay = 15; // Delay per use, in seconds (default: 0)
    .cost = 2500; // Default cost to use command if '.charge' is enabled
    .charge = 1; // Charge to use command? 0 = no, 1 = yes (default: 0)
    .deadlock = 1; // Prevent usage when dead? 0 = no, 1 = yes (default: 0)

    bindatcmd("go", strnpcinfo(3) +"::OnAtcommand", 0, 2);
    end;

    /*-----------------------------------------------------
    Function: Go()
    -------------------------------------------------------
    Description: Warps player and checks prerequisites.
    -------------------------------------------------------
    Usage:
    go(<"map_name">, , , , , )
    -----------------------------------------------------*/
    function Go {
    if (.deadlock && !Hp) {
    message strcharinfo(0), "You may not use @go when you are dead.";
    } else if (.delay && @Go_delay > gettimetick(2)) {
    message strcharinfo(0), "You must wait "+ (@Go_delay - gettimetick(2)) +" seconds before warping again.";
    } else if (BaseLevel < getarg(3)) {
    message strcharinfo(0), "You must be at least level "+ getarg(3) +" to warp to this map.";
    } else if (getgroupid() < getarg(4) || getmapflag(getarg(0), mf_nowarp)) {
    message strcharinfo(0), "You are not authorised to warp to this map.";
    } else if (.charge && Zeny < getarg(5)) {
    message strcharinfo(0), "You must have at least "+ getarg(5) +" zeny to warp to this map.";
    } else {
    if (.delay) {
    @Go_delay = gettimetick(2) + .delay;
    }

    if (.charge) {
    Zeny -= getarg(5);
    }

    warp getarg(0), getarg(1), getarg(2);
    end;
    }

    message strcharinfo(0), "@Go failed.";
    end;
    }

    /*-----------------------------------------------------
    Function: alias()
    -------------------------------------------------------
    Description: Determines if input matches alias.
    -------------------------------------------------------
    Usage: alias(<"number">, <"name1">{, <"name2">, <...>})
    -----------------------------------------------------*/
    function alias {
    for (.@i = 0; .@i < getargcount(); .@i++) {
    if (@input$ == getarg(.@i)) {
    @input$ = "";
    return 1;
    }
    }

    return 0;
    }

    OnAtcommand:
    @input$ = .@atcmd_parameters$[0];

    if (alias("0", "inv", "Invek", "invek")) {
    Go("Invek",146, 164, 0, 0, .cost);
    } else if (alias("1", "moc", "mor", "morocc", "morroc")) {
    Go("morocc", 160, 100, 0, 0, .cost);
    } else if (alias("2", "gef", "geffen")) {
    Go("geffen", 120, 70, 0, 0, .cost);
    } else if (alias("3", "pay", "payo", "payon")) {
    Go("payon", 174, 98, 0, 0, .cost);
    } else if (alias("4", "alb", "alberta")) {
    Go("alberta", 192, 147, 0, 0, .cost);
    } else if (alias("5", "izl", "izlude")) {
    Go("izlude", 127, 109, 0, 0, .cost);
    } else if (alias("6", "ald", "alde", "aldebaran")) {
    Go("aldebaran", 140, 114, 0, 0, .cost);
    } else if (alias("7", "xmas", "lutie")) {
    Go("xmas", 148, 117, 0, 0, .cost);
    } else if (alias("8", "com", "comodo")) {
    Go("comodo",189, 151, 0, 0, .cost);
    } else if (alias("9", "juno", "yuno")) {
    Go("yuno", 157, 182, 0, 0, .cost);
    } else if (alias("10", "ama", "amat", "amatsu")) {
    Go("amatsu", 115, 153, 0, 0, .cost);
    } else if (alias("11", "Gon", "Gonr", "Gonryun")) {
    Go("Gonryun", 159, 116, 0, 0, .cost);
    } else if (alias("12", "umb", "umbala", "umbrella")) {
    Go("umbala", 90, 154, 0, 0, .cost);
    } else if (alias("13", "nif", "niflheim")) {
    Go("niflheim", 195, 175, 0, 0, .cost);
    } else if (alias("14", "lou", "louyang")) {
    Go("louyang", 218, 99, 0, 0, .cost);
    } else if (alias("15", "nov", "ng", "novice")) {
    Go("new_1-1", 53, 111, 0, 10, .cost);
    } else if (alias("16", "jail", "prison")) {
    Go("sec_pri", 23, 61, 0, 10, .cost);
    } else if (alias("17", "jaw", "jawaii")) {
    Go("jawaii", 221, 221, 0, 0, .cost);
    } else if (alias("18", "ayo", "ayotaya", "ayothaya")) {
    Go("ayothaya", 151, 165, 0, 0, .cost);
    } else if (alias("19", "ein", "einbroch")) {
    Go("einbroch", 64, 200, 0, 0, .cost);
    } else if (alias("20", "lhz", "light", "lighthalzen")) {
    Go("lighthalzen", 158, 92, 0, 0, .cost);
    } else if (alias("21", "einbe", "einbech")) {
    Go("einbech", 176, 125, 0, 0, .cost);
    } else if (alias("22", "hug", "hugel")) {
    Go("hugel", 96, 145, 0, 0, .cost);
    } else if (alias("23", "rach", "rachel")) {
    Go("rachel", 130, 110, 0, 0, .cost);
    } else if (alias("24", "ve", "veins")) {
    Go("veins", 216, 123, 0, 0, .cost);
    } else if (alias("25", "mosc", "mosk", "moscovia")) {
    Go("moscovia", 223, 184, 0, 0, .cost);
    } else if (alias("26", "camp", "mid", "midgard")) {
    Go("mid_camp", 180, 240, 0, 0, .cost);
    } else if (alias("27", "man", "manuk")) {
    Go("manuk", 282, 138, 0, 0, .cost);
    } else if (alias("28", "spl", "splend", "splendide")) {
    Go("splendide", 197, 176, 0, 0, .cost);
    } else if (alias("29", "br", "bra", "brasil", "brasilis")) {
    Go("brasilis", 182, 239, 0, 0, .cost);
    } else if (alias("30", "el", "eldic", "dic", "dicastes")) {
    Go("dicastes01", 198, 187, 0, 0, .cost);
    } else if (alias("31", "mora")) {
    Go("mora", 44, 151, 0, 0, .cost);
    } else if (alias("32", "dew", "dewata")) {
    Go("dewata", 200, 180, 0, 0, .cost);
    } else if (alias("33", "mal", "malang", "malangdo")) {
    Go("malangdo", 140, 114, 0, 0, .cost);
    } else if (alias("34", "port", "malay", "malaya")) {
    Go("malaya", 242, 211, 0, 0, .cost);
    } else if (alias("35", "ecl", "ecla", "eclag", "eclage")) {
    Go("eclage", 110, 39, 0, 0, .cost);
    } else if (alias("36", "pro", "pront", "prontera")) {
    Go("prontera",156, 184, 0, 0, .cost);
    } else {
    message strcharinfo(0), "Invalid location number, or name.";
    message strcharinfo(0), "Params: ";
    message strcharinfo(0), "Warps you to a city.";
    message strcharinfo(0), "0: Invek 1: Morroc 2: Geffen 3: Payon 4: Alberta";
    message strcharinfo(0), "5: Izlude 6: Al De Baran 7: Lutie 8: Comodo 9: Yuno";
    message strcharinfo(0), "10: Amatsu 11: Gonryun 12: Umbala 13: Niflheim 14: Louyang";
    message strcharinfo(0), "15: Novice Grounds 16: Prison 17: Jawaii 18: Ayothaya 19: Einbroch";
    message strcharinfo(0), "20: Lighthalzen 21: Einbech 22: Hugel 23: Rachel 24: Veins";
    message strcharinfo(0), "25: Moscovia 26: Midgard Camp 27: Manuk 28: Splendide 29: Brasilis";
    message strcharinfo(0), "30: El Dicastes 31: Mora 32: Dewata 33: Malangdo 34: Malaya";
    message strcharinfo(0), "35: Eclage 36: Prontera";
    message strcharinfo(0), "@Go failed.";
    }

    end;

    }[/cbox]

     

     

     

    I was unable to replicate the error with your version of my script. Tested on 463cbc9.


  7. i got this error 

     

     

    [Error]: script:op_2: invalid data for operator C_LOR

    [Debug]: Data: C_ARG

    [Debug]: Data: number value=0

    [Debug]: Source (NPC): at_go (invisible/not on a map)

     

     

     

    This script is supported on Hercules at revision 463cbc9.

     

    If you want to manually fix this error, add these lines to db/const.txt:

     IOT_CHAR  1 IOT_PARTY  2 IOT_GUILD  3++false  0+true  1

     

    If you are already using the current revision, have you added or customised any locations? If so, please post your changed code.


  8. Utility: @go command
    Original concept by http://herc.ws/board/topic/14-utility-added-feature-jtynnes-go-command-alternative-txt-format/
     
    Description:
    Alternative @go command. Allows for unlimited aliasing, as well as level and group restrictions for each destination. Additional options to add a delay, prevent use when dead, and charge per use are available; default cost is defined with '.cost', but this parameter can be set manually with 'go()'. These extra features are disabled by default.
     
    Be mindful that the delay uses a temporary player variable, '@go_delay'; if the player logs out, this variable will be cleared. If you would like for a more secure delay, replace all instances of '@go_delay' with 'go_delay'.
     
    Download:
    https://github.com/datmumbles/Scripts/raw/master/cmd/go.txt


  9. You could try something like this:

    while (getrefine(EQI_ARMOR) < 6) {	successrefitem EQI_ARMOR;}

     
    Item script version:

    while (getrefine(EQI_ARMOR) < 6) { successrefitem EQI_ARMOR; }

     

    If you're using a "Guarantee_Armor_6Up", I would assume you're refining an armor lol. The only choice the user should have is wearing the desired equipment to be refined.


  10. nice work Mumbles

    how can we add the quest skill?

    or can we add the quest skill id on for each job?

    :)

     

    You can add quests skills after this line:

    skill 1, 9, 0;	  // Level 9 Basic Skill

     

    I recommend using a nested switch based on their new class to add quest skills.


  11. In what manner are you attempting to create a guild with spaces in the name? Like this?

    /guild Guild Name

     

    The proper way would be to enclose it in quotation marks:

    /guild "Guild Name"

     

    If you know that already, have you tried using a different client? The best way to determine whether or not it's your specific client is to compare it with a different version.


  12. I don't understand the purpose of converting this monitor for Hercules, other than the "interface"/wrapper. You can easily start and stop Hercules in Windows, and it's already colour-coded. If there's some special functionality that I'm failing to notice, please enlighten me.


  13. No; once you've compiled your server, you should be able to start it from a command line.

     

    ./athena-start start

     

    If you need to recompile in the future, be sure to shut down the server prior to attempting to do so.

     

    ./athena-start stop

     

    You can also just type make by itself and all components will be compiled in one go.


  14. Just a few questions:

    • [*]What limitations/restrictions do you plan on having for buyable items?
      • [*]Can I buy anything I want, or only items on a whitelist? [*]Can I only buy consumables, with the exception of some items on blacklist?

    [*]Will you check for weight?

    These are just a few questions that can be asked; perhaps you could provide a little more detail about your request.

×
×
  • Create New...

Important Information

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