Jump to content


Core Developers
  • Content Count

  • Joined

  • Last visited

  • Days Won


Kenpachi last won the day on January 15

Kenpachi had the most liked content!


About Kenpachi

  • Rank
    Advanced Member
  • Birthday 04/03/1984

Profile Information

  • Gender
  • Location:

Recent Profile Visitors

2667 profile views
  1. pc_status_def_rate and mob_status_def_rate still exist in in conf/map/battle/status.conf. If you need pc_luk_status_def and mob_luk_status_def, I could probably write a patch for you, but have a look at the commit where they were removed and see @Ind's reasons to remove them. ~Kenpachi
  2. Indeed. But the permission flag skill_unconditional makes all conditions being ignored. From skill.c skillnotok(): if (pc_has_permission(sd, PC_PERM_SKILL_UNCONDITIONAL)) return 0; // can do any damn thing they want And because @brunosc explicitly asked for gemstones, I wrote that dirty little hack. 😅 ~Kenpachi
  3. Hi. Quick, dirty and untested:admin_no_gems.diff diff --git a/src/map/pc.c b/src/map/pc.c index 179a4b78a..c77bfbc22 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -1359,6 +1359,10 @@ static bool pc_authok(struct map_session_data *sd, int login_id2, time_t expirat sd->sc_display = NULL; sd->sc_display_count = 0; + /// Characters with group level => 99 don't use gemstones. + if (sd->group->level >= 99) + sd->special_state.no_gemstone = 1; + // Request all registries (auth is considered completed whence they arrive) intif->request_registry(sd,7); return true; ~Kenpachi
  4. Kenpachi


    Hi. In Checagem script: OnClock1055: set $Check, 1; end; Add a 3 second delay before setting the variable $Check to 1: OnClock1055: sleep 3000; set $Check, 1; end; ~Kenpachi
  5. Hi. The are effect type to achieve this. From doc/effect_list.md: 420 | EF_BABYBODY | Eswoo (Small) (Visual Effect) 421 | EF_BABYBODY2 | Eswoo (Alt. Small) (Visual Effect) 422 | EF_GIANTBODY | Eswoo (Normal) (Visual Effect) 423 | EF_GIANTBODY2 | Eswoo (Alt. Normal) (Visual Effect) Atcommand @size uses 420 and 422 for example. ~Kenpachi
  6. Hi. Please open an issue: https://github.com/HerculesWS/Hercules/issues/new/choose ~Kenpachi
  7. Kenpachi


    Hi. Would be nice to see the script you're using to let us know how you store the IDs of chars that should have their save point changed. ~Kenpachi
  8. Hi. Quick and dirty. Partially tested. ~Kenpachi patch.diff
  9. Open script file in editor. Find the line which contains query_sql "DELETE FROM `viptable` ...... Set cursor to the end of that line (click behind the semicolon) Press Backspace. Save file. You'll notice that the semicolon wasn't removed, because you deleted the hidden character (whitespace) behind it. ~Kenpachi
  10. You can do this in OnClock0000 by running a simple SQL query. If your variable is a character variable: query_sql("DELETE FROM `char_reg_num_db` WHERE `key` = 'your_var_name'"); If it's an account variable: query_sql("DELETE FROM `acc_reg_num_db` WHERE `key` = '#your_var_name'"); ~Kenpachhi
  11. There is a hidden character behind the semicolon in that line. (Probably caused by text encoding mismatch.)
  12. Hi. Alter your SQL table: ALTER TABLE `viptable` ADD COLUMN `insert_on` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP AFTER `email`; Or recreate it: DROP TABLE IF EXISTS `viptable`; CREATE TABLE `viptable` ( `vipacc_id` int(11) unsigned NOT NULL default '0', `vip_id` varchar(255) NOT NULL default '', `days` int(11) NOT NULL default '0', `email` varchar(39) NOT NULL default '', `insert_on` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`vipacc_id`), KEY `name` (`vip_id`) ) ENGINE=MyISAM; Change your function (note line 2): function script F_TicketAddVip { Query_SQL "DELETE FROM `viptable` WHERE `vipacc_id` = '"+GetCharID(3)+"' AND DATEDIFF(DATE_ADD(`insert_on`, INTERVAL `days` DAY), NOW()) < 0"; // remove expired VIP status before reapplying Query_SQL "SELECT `days` FROM `viptable` WHERE `vipacc_id` = '"+GetCharID(3)+"'", [email protected]; if ([email protected] > 0) { Set [email protected], ([email protected] + 30); Query_SQL "UPDATE `viptable` SET `days`='"[email protected]+"' WHERE `vipacc_id`='"+GetCharID(3)+"'"; Query_SQL "SELECT `group_id` FROM `login` WHERE `account_id`='"+GetCharID(3)+"'", [email protected]; If ([email protected] < 1) Query_SQL "UPDATE `login` SET `group_id`='2' WHERE `account_id`='"+GetCharID(3)+"'"; } Else { Query_SQL "UPDATE `login` SET `group_id`='2' WHERE `account_id`='"+GetCharID(3)+"'"; Query_SQL "SELECT `userid` FROM `login` WHERE `account_id`='"+GetCharID(3)+"'", [email protected]$; Query_SQL "SELECT `email` FROM `login` WHERE `account_id`='"+GetCharID(3)+"'", [email protected]$; Query_SQL "INSERT INTO `viptable` (`vipacc_id`,`vip_id`,`days`,`email`) VALUES ('"+GetCharID(3)+"','"[email protected]$+"','30','"[email protected]$+"')"; } AtCommand "@reloadpcdb"; dispbottom "You received 30 days of VIP Account, congrats!"; specialeffect2 338; End; Return; } The info script could look like this: - script VIP_STATUS FAKE_NPC,{ OnPCLoginEvent: if (getgroupid() >= 2) { Query_SQL "SELECT DATE(DATE_ADD(`insert_on`, INTERVAL `days` DAY)), DATEDIFF(DATE_ADD(`insert_on`, INTERVAL `days` DAY), NOW()) FROM `viptable` WHERE `vipacc_id` = '"+GetCharID(3)+"'", [email protected]_date$, [email protected]_left; dispbottom "========================"; dispbottom "Account Status : VIP"; dispbottom "Expire Date : " + [email protected]_date$; dispbottom "Time left : " + [email protected]_left; dispbottom "========================"; end; } } ~Kenpachi
  13. Sorry dude, but I wont write a complete patch for the item options system that works with your emulator version. it's not just updating the clif.c/.h but also packets, the socket, macros and everything else related to items. I spent more than an hour trying to add that diff to your emulator version, but didn't even came close to something compilable... Again, sorry. ~Kenpachi
  14. Kenpachi

    Woe setter

    Hi. I see no problems. It should start WoE each friday at 14:45 and end it at 16:45. I'd use agitstart; and agitend; instead of the @commands, but that's up to you. ~Kenpachi
  15. Hi. Haven't tested it, but try ITEMLINK instaead of ITEM. (Source) It depends on the used client which one works. (Source) ~Kenpachi
  • Create New...

Important Information

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