Jump to content

Search the Community

Showing results for tags 'state'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Bulletin Centre
    • Community News
    • Repository News
    • Ragnarok News
  • Hercules Development Centre
    • Development Discussion
    • Suggestions
    • Development Centre Archives
  • Support & Releases
    • General Server Support
    • Database
    • Scripting
    • Source
    • Plugin
    • Client-Side
    • Graphic Enhancements
    • Other Support & Releases
  • Hercules Community
    • General Discussion
    • Projects
    • Employment
    • Server Advertisement
    • Arts & Writings
    • Off Topic
  • 3CeAM Centre
    • News and Development
    • Community
  • International Communities
    • Filipino Community
    • Portuguese Community
    • Spanish Community
    • Other Communities

Categories

  • Client Resources
  • Graphic Resources
    • Sprites & Palettes
    • Maps & Textures
    • Other Graphics
  • Server Resources
    • Server Managers / Editors Releases
    • Script Releases
    • Source Modifications
    • Plugins
    • Pre-Compiled Server
  • Web Resources

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Discord


Skype


IRC Nickname


Website URL


Location:


Interests


Github

Found 1 result

  1. Hello, Hercules community! I want to ask you, how it possible to save @atcommand state after re-login? For exmple: player do @aloottype +card and adding to aloottype list card-based item. Is it possible to save this list? I've tried to do it like this: ACMD(autoloottype) { int i; uint8 action = 3; // 1=add, 2=remove, 3=help+list (default), 4=reset enum item_types type = -1; int ITEM_NONE = 0; if (message && *message) { if (message[0] == '+') { message++; action = 1; } else if (message[0] == '-') { message++; action = 2; } else if (strcmp(message,"reset") == 0) { action = 4; } if (action < 3) { // add or remove if (strncmp(message, "healing", 3) == 0) type = IT_HEALING; else if (strncmp(message, "usable", 3) == 0) type = IT_USABLE; else if (strncmp(message, "etc", 3) == 0) type = IT_ETC; else if (strncmp(message, "weapon", 3) == 0) type = IT_WEAPON; else if (strncmp(message, "armor", 3) == 0) type = IT_ARMOR; else if (strncmp(message, "card", 3) == 0) type = IT_CARD; else if (strncmp(message, "petegg", 4) == 0) type = IT_PETEGG; else if (strncmp(message, "petarmor", 4) == 0) type = IT_PETARMOR; else if (strncmp(message, "ammo", 3) == 0) type = IT_AMMO; else { clif->message(fd, msg_txt(1491)); // Item type not found. return false; } } } switch (action) { case 1: if (sd->state.autoloottype&(1<<type)) { clif->message(fd, msg_txt(1490)); // You're already autolooting this item type. return false; } sd->state.autoloottype |= (1<<type); // Stores the type sprintf(atcmd_output, msg_txt(1492), itemdb->typename(type)); // Autolooting item type: '%s' clif->message(fd, atcmd_output); break; case 2: if (!(sd->state.autoloottype&(1<<type))) { clif->message(fd, msg_txt(1493)); // You're currently not autolooting this item type. return false; } sd->state.autoloottype &= ~(1<<type); sprintf(atcmd_output, msg_txt(1494), itemdb->typename(type)); // Removed item type: '%s' from your autoloottype list. clif->message(fd, atcmd_output); break; case 3: clif->message(fd, msg_txt(38)); // Invalid location number, or name. { // attempt to find the text help string const char *text = atcommand_help_string(info); if (text) clif->messageln(fd, text); // send the text to the client } if (sd->state.autoloottype == ITEM_NONE) { clif->message(fd, msg_txt(1495)); // Your autoloottype list is empty. } else { clif->message(fd, msg_txt(1496)); // Item types on your autoloottype list: for(i=0; i < IT_MAX; i++) { if (sd->state.autoloottype&(1<<i)) { sprintf(atcmd_output, " '%s'", itemdb->typename(i)); clif->message(fd, atcmd_output); } } } break; case 4: sd->state.autoloottype = ITEM_NONE; pc_setglobalreg(sd, script->add_str("AT_ALOOTTYPE"), type); clif->message(fd, msg_txt(1497)); // Your autoloottype list has been reset. break; } return true;}in case 4:pc_setglobalreg(sd, script->add_str("AT_ALOOTTYPE"), type); But my `char_reg_num_db` has no AT_ALOOTTYPE value for char. Can you show me another way to do it? Thank you!
×
×
  • Create New...

Important Information

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