Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/25/23 in Posts

  1. try with this - script KillMon2Cash -1,{ OnNPCKillEvent: .@gettimetick = gettimetick(2); if (rand(100) < 1 && .@gettimetick > @delay) { getitem 50001,1; @delay = .@gettimetick + 60; // 60 seconds } end; OnInit: bindatcmd "check", "KillMon2Cash::OnCheckTime"; end; OnCheckTime: if (( @delay - gettimetick(2)) <=0 ) message strcharinfo(0),"Your next drop is ready!"; else message strcharinfo(0),"Next drop in "+ ( @delay - gettimetick(2) ) + " seconds."; end; }
    1 point
  2. my bad - script KillMon2Cash -1,{ OnNPCKillEvent: .@gettimetick = gettimetick(2); if (rand(100) < 1 && .@gettimetick > @delay) { getitem 50001,1; @delay = .@gettimetick + 60; // 60 seconds } end; OnInit: bindatcmd "check", "KillMon2Cash::OnCheckTime"; end; OnCheckTime: message strcharinfo(0),"Next drop in "+ ( @delay - gettimetick(2) ) + " seconds."; end; }
    1 point
  3. in the mob_dead(...) search for drop_rate = mob_getdroprate(src, md->db, md->db->dropitem[i].rate, drop_modifier); replace with if (it->type == IT_CARD) drop_rate = md->db->dropitem[i].rate; else drop_rate = mob_getdroprate(src, md->db, md->db->dropitem[i].rate, drop_modifier); hmm... nvm this actually removed all modifier. it probably better if you pass the item type into drop_rate = mob_getdroprate(src, md->db, md->db->dropitem[i].rate, drop_modifier, it); then int mob_getdroprate(struct block_list *src, std::shared_ptr<s_mob_db> mob, int base_rate, int drop_modifier,struct item_data it) then add the item type checking to skip if its card and is vip if (pc_isvip(sd) && it->type != IT_CARD) { // Increase item drop rate for VIP.
    1 point
  4. Here is my solution. All thanks to @Litro Endemic for the idea.. goto pc.cpp look for /*========================================== * Invoked once after the char/account/account2 registry variables are received. [Skotlex] * We didn't receive item information at this point so DO NOT attempt to do item operations here. * See intif_parse_StorageReceived() for item operations [lighta] *------------------------------------------*/ void pc_reg_received(struct map_session_data *sd) Add this : // Cash shop sd->cashPoints = pc_readaccountreg(sd, add_str(CASHPOINT_VAR)); sd->kafraPoints = pc_readaccountreg(sd, add_str(KAFRAPOINT_VAR)); + if ( pc_readaccountreg(sd, add_str("#BLOCKPASS")) ) + sd->state.protection_acc = 1; + else + sd->state.protection_acc = 0; Dont include + compile and done.
    1 point
×
×
  • Create New...