Jump to content

meko

Core Developers
  • Content Count

    363
  • Joined

  • Last visited

  • Days Won

    46

meko last won the day on July 13 2022

meko had the most liked content!

About meko

  • Rank
    Advanced Member

Contact Methods

  • IRC Nickname
    meko

Profile Information

  • Gender
    Not Telling
  • Github
    Helianthella
  • Client Version
    ManaPlus

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. unittalk(getnpcid(0), "your message", true, SELF, playerattached()); see doc/script_commands.txt for documentation
  2. Cannot find -lcurl means you are missing libcurl: you should install it with your package manager (apt, yum, etc). Usually this package is named libcurl-dev or curl-dev. If it tells you that the package is a virtual/meta package provided by other packages then you must pick a flavour (openssl, libressl, gnutls, etc), This means on Ubuntu you likely want to install libcurl4-openssl-dev
  3. @Origami Put the hashtable.c file in Hercules/src/plugins Build the plugin On Linux: from Hercules/ run "make plugin.hashtable" On Windows you have to do quite a bit more work: you must create a vcproj file by following our official instructions, or you can auto-generate it with this tool: https://herc.ws/board/files/file/408-vs-plugin-creator/ Once the solution file is made, you have to build it in visual studio Add "hashtable" to plugins_list in src/plugins.conf
  4. MF_LOADEVENT should be in uppercase. Also it might be faster to use a hash table than looping through the array (imagine having an array with 2k maps and doing a string comparison for each one of them every time someone enters the map) - script map_name -1,{ OnInit: .maps = htnew(); // create a new hash table // htput(.maps, "<map name>", "<map nick>"); htput(.maps, "prontera", "Prontera City, The Imperial Capital"); htput(.maps, "morocc", "Morroc Town, The Frontier"); htput(.maps, "geffen", "Geffen, The City of Magic"); htput(.maps, "payon", "Payon Town, The Upland Village"); htput(.maps, "alberta", "Alberta, The Port City"); htput(.maps, "izlude", "Izlude Town, The Satellite City of Prontera"); htput(.maps, "aldebaran", "Al De Baran, The Gate to the New World"); htput(.maps, "xmas", "Lutie, The City of Eternal Christmas"); htput(.maps, "comodo", "Comodo, The City of Fun and Celebrations"); htput(.maps, "yuno", "Juno, The Capital of the Commonwealth and Ancient Lore"); htput(.maps, "amatsu", "Amatsu, The New Land Discovered"); htput(.maps, "gonryun", "Gonryun, The Hermit Land"); htput(.maps, "umbala", "Umbala, The Lost Land"); htput(.maps, "niflheim", "Niffleheim, The Cold Land of Death"); htput(.maps, "louyang", "Louyang, The Fortress of Dragon"); htput(.maps, "new_1-1", "Training Ground"); htput(.maps, "sec_pri", "Valhalla Prison"); htput(.maps, "jawaii", "Jawaii, The Island of Love"); htput(.maps, "ayothaya", "Ayothaya, The Land of Majectic Culture"); htput(.maps, "einbroch", "Einbroch, The Steel City"); htput(.maps, "lighthalzen", "Lighthalzen, The City of Scientific Myths"); htput(.maps, "einbech", "Einbech, The Mining Town"); htput(.maps, "hugel", "Hugel, Between the Icy Moutain and Chilly Blue Sea"); htput(.maps, "rachel", "Rachel, The Capital City of Arunafeltz"); htput(.maps, "veins", "Veins, The Canyon Village"); htput(.maps, "mid_camp", "Rune Midgard Allied Forces Post"); .@it = htiterator(.maps); // create an iterator to loop through the table for (.@map$ = htifirstkey(.@it); hticheck(.@it); .@map$ = htinextkey(.@it)) { // we are only interested in the key so no need to htget() here setmapflag(.@map$, MF_LOADEVENT); } htidelete(.@it); // we're done with the iterator: deallocate it end; OnPCLoadMapEvent: // check whether it's in the hash table: if (.@nick$ = htget(.maps, strcharinfo(PC_MAP), "")) { announce(.@nick$, bc_self); } end; }
  5. pointshop is not a valid NPC type in Hercules. You might want to use the trader type with subtype NST_CUSTOM
  6. for inarray() you can use array_find() from Array manipulation functions, which behaves the same way: if (array_find(.blackList[0], .@potion) != -1) { for debugmes you should use consolemes: consolemes(CONSOLEMES_DEBUG, "message");
  7. You must execute the queries from sql-files/logs.sql to create the log tables
  8. the file is located at db/abra_db.txt
  9. the documentation has not been updated yet but you must define the constant CUSTOM_SKILL_RANGES at compile time, with the syntax being: {from, to}, {from, to}, ... In your case since you are only adding one skill you would define it as: {8443, 8443}, this means you would pass a -D compiler option like this: -DCUSTOM_SKILL_RANGES="{8443,8443}," ...which will insert it in skill_idx_ranges[]
  10. this just means mysql is not available in the apt repos so you should install mariadb-server instead of mysql-server and libmariadb-dev (and optionally the compatibility layer libmariadb-dev-compat) instead of libmysqlclient-dev
  11. Follow the installation instructions provided in the README file and make sure to configure your firewall and to open ports with your hosting provider
  12. meko

    auto revive

    OnPCDieEvent: if (!(isequipped(Helm_Of_Sun)) // no helm of sun || agitcheck() // WoE || getmapflag(strcharinfo(PC_MAP), mf_pvp) // map PvP || getunittype(killerrid) == UNITTYPE_PC) // killed by a player end; addtimer(1000, strnpcinfo(NPC_NAME) + "::OnAutoRevive"); end; OnAutoRevive: recovery(getcharid(CHAR_ID_ACCOUNT)); // revive the player end;
×
×
  • Create New...

Important Information

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