Jump to content

milk

Members
  • Content Count

    91
  • Joined

  • Last visited

Everything posted by milk

  1. milk

    Tree of Savior

    Does anyone have a unused key?
  2. My client is : 20140115 Can you check sex values in `login` and `char` table?
  3. Thank you very much. Again c:
  4. Btw, eAmod have this feature in battleconf: // ****************************************// Fixeds - Balance// ****************************************// Does slaves monsters can give "item granded drop"?// As YES is the official setting, this can prevent a serious exploid with users making lot of items and money with Dracula slaves.mob_slave_adddrop: no But I can't understand how it works, because I'm sooo noob in C :c
  5. Now it drops from each mob summoned by boss-monster.
  6. Hello community! I have a question: is it possible to remove drop from slave mobs without editing mob_db? For example: White Lady summoning Green Maiden, who drops Bao Bao, and every time when player killing slave mob - it drops this item again and again. Many players like to abuse it. Is it any way to fix it? Thanks for advance! c:
  7. This is eAthena/rAthena with a lot of modifications (eAthena modifications). And with a lot of bugs c:
  8. @aloottype +<type name> for example: @aloottype +healing, @aloottype +usable, @aloottype +card
  9. Same with @autolootid I dont know how to correctly save state.autolootid after relog. ACMD(autolootitem){ struct item_data *item_data = NULL; int i; int action = 3; // 1=add, 2=remove, 3=help+list (default), 4=reset if (message && *message) { if (message[0] == '+') { message++; action = 1; } else if (message[0] == '-') { message++; action = 2; } else if (!strcmp(message,"reset")) action = 4; if (action < 3) // add or remove { if ((item_data = itemdb->exists(atoi(message))) == NULL) item_data = itemdb->search_name(message); if (!item_data) { // No items founds in the DB with Id or Name clif->message(fd, msg_txt(1189)); // Item not found. return false; } } } switch(action) { case 1: ARR_FIND(0, AUTOLOOTITEM_SIZE, i, sd->state.autolootid[i] == item_data->nameid); if (i != AUTOLOOTITEM_SIZE) { clif->message(fd, msg_txt(1190)); // You're already autolooting this item. return false; } ARR_FIND(0, AUTOLOOTITEM_SIZE, i, sd->state.autolootid[i] == 0); if (i == AUTOLOOTITEM_SIZE) { clif->message(fd, msg_txt(1191)); // Your autolootitem list is full. Remove some items first with @autolootid -<item name or ID>. return false; } sd->state.autolootid[i] = item_data->nameid; // Autoloot Activated sprintf(atcmd_output, msg_txt(1192), item_data->name, item_data->jname, item_data->nameid); // Autolooting item: '%s'/'%s' {%d} pc_setglobalreg(sd, script->add_str("AT_ALOOTID"), item_data->nameid); clif->message(fd, atcmd_output); sd->state.autolooting = 1; break; case 2: ARR_FIND(0, AUTOLOOTITEM_SIZE, i, sd->state.autolootid[i] == item_data->nameid); if (i == AUTOLOOTITEM_SIZE) { clif->message(fd, msg_txt(1193)); // You're currently not autolooting this item. return false; } sd->state.autolootid[i] = 0; sprintf(atcmd_output, msg_txt(1194), item_data->name, item_data->jname, item_data->nameid); // Removed item: '%s'/'%s' {%d} from your autolootitem list. clif->message(fd, atcmd_output); ARR_FIND(0, AUTOLOOTITEM_SIZE, i, sd->state.autolootid[i] != 0); if (i == AUTOLOOTITEM_SIZE) { sd->state.autolooting = 0; } break; case 3: sprintf(atcmd_output, msg_txt(1195), AUTOLOOTITEM_SIZE); // You can have %d items on your autolootitem list. clif->message(fd, atcmd_output); clif->message(fd, msg_txt(1196)); // To add an item to the list, use "@alootid +<item name or ID>". To remove an item, use "@alootid -<item name or ID>". clif->message(fd, msg_txt(1197)); // "@alootid reset" will clear your autolootitem list. ARR_FIND(0, AUTOLOOTITEM_SIZE, i, sd->state.autolootid[i] != 0); if (i == AUTOLOOTITEM_SIZE) { clif->message(fd, msg_txt(1198)); // Your autolootitem list is empty. } else { clif->message(fd, msg_txt(1199)); // Items on your autolootitem list: for(i = 0; i < AUTOLOOTITEM_SIZE; i++) { if (sd->state.autolootid[i] == 0) continue; if (!(item_data = itemdb->exists(sd->state.autolootid[i]))) { ShowDebug("Non-existant item %d on autolootitem list (account_id: %d, char_id: %d)", sd->state.autolootid[i], sd->status.account_id, sd->status.char_id); continue; } sprintf(atcmd_output, "'%s'/'%s' {%d}", item_data->name, item_data->jname, item_data->nameid); clif->message(fd, atcmd_output); } } break; case 4: memset(sd->state.autolootid, 0, sizeof(sd->state.autolootid)); clif->message(fd, msg_txt(1200)); // Your autolootitem list has been reset. sd->state.autolooting = 0; pc_setglobalreg(sd, script->add_str("AT_ALOOTID"), 0); break; } return true;} I've tryed to use it in pc_reg_received like this: int pc_reg_received(struct map_session_data *sd){ int i,j, idx = 0; int i; sd->vars_ok = true; sd->state.autolootid = pc_readglobalreg(sd,script->add_str("AT_ALOOTID")); But GCC show me an error: pc.c: In function ‘pc_reg_received’:pc.c:1415: error: incompatible types when assigning to type ‘short unsigned int[10]’ from type ‘int’
  10. - script OnStartNPC -1,{OnPCLoginEvent: atcommand "@join #main";}
  11. milk

    modified @dance

    ALL_CLIENT may cause the client crash when user will spamming it.
  12. Maybe I am unlucky, but this guy sold me bugged battlegrounds converted from eAmod to Hercules. There is hard to catch him on Skype, or he is ignoring me, but I am very very sad.
  13. It works like a charm. Thanks for help!
  14. 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!
  15. ヽ(゚〇゚)ノ

  16. Hello, Hercules community! I have a little trouble with renaming homunculus. Why client says that it is possible to rename already renamed homunculus? In my conf/battle/homunc.conf // Can you name a homunculus more then once? (Note 1)hom_rename: no I am using 2014-02-15bRagexe. As I remember - in older clients there was no problems with it. Fix me if I'm wrong c: Is it client issue? Is there possible to fix it? Thanks!
  17. my-super-script.sh #!/bin/bash/usr/sbin/ntpdate ntp.pagasa.dost.gov.ph put it into /etc/init.d folder: mv my-super-script.sh /etc/init.d/ Set it executable: chmod +x /etc/init.d/my-super-script.sh Create symlink to /etc/rc.d folder ln -s /etc/init.d/my-super-script.sh /etc/rc.d/
  18. Hello. What patches did you applied to the client?
×
×
  • Create New...

Important Information

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