Jump to content

Speachless

Premium
  • Posts

    683
  • Joined

  • Last visited

  • Days Won

    8
  • Feedback

    0%

Everything posted by Speachless

  1. It's because you had disabled the option from the wrong place.
  2. Am I too tired, or .. what ? Isn't HH old since metin2 was created ?
  3. Check your packet structure to be the same as client side, by DWORD dwMountVnum;
  4. I haven't remembered i worked on this and i forgot to improve it, but your solutions need alot of code. Let's reduce it. Check bool CHARACTER::Return()
  5. @flexio, in my tutorial it's included the same thing.
  6. Going to watch now. (The Rain)
  7. I still don't understand why don't you change your packets. The reaseon why hacks works is because they know what source contain. Change those data and they won't work anymore.
  8. I don't use the absorption sash system, but I don't think that in item_proto should be set any bonus.
  9. if true == horse.is_summon() then notice("Horse is already summoned.") else if number(1, 100) <= horse_summon.get_horse_summon_prob_pct() then horse.summon() notice("You successfuly summoned your horse.") else notice("Horse wasn't summoned.") end end You have to use like this.
  10. It's because if names with �. Rename all names with � from mob proto 0x2900d080 it's a hex, it can be changed back to words.
  11. Yep, I noticed and corrected. I tested. It works ok. There would still be ok if we make a check for 0 message length.
  12. It's more efficient to use thecore_pulse rather than a quest flag. It is a constructive critique. I like your pm in chat idea.
  13. #ifdef CHAT_PM std::string findstr(buf); if (findstr.at(0) == '@') { findstr = findstr.substr(1); int pos = findstr.find(" "); std::string message = findstr.substr(pos + 1), chname = findstr.substr(0, pos); LPCHARACTER stch = CHARACTER_MANAGER::instance().FindPC(chname.c_str()); if (stch) { if (message.size() - chname.size() <= 1 ) { ch->ChatPacket(CHAT_TYPE_INFO, "You haven't written a message or it is too short."); return (iExtraLen); } if (ch->GetLastPMPulse() < thecore_pulse()) ch->ClearPMCounter(); if (ch->GetPMCounter() > 3 && ch->GetLastPMPulse() > thecore_pulse()) { ch->GetDesc()->SetPhase(PHASE_CLOSE); return -1; } if (stch == ch) { ch->ChatPacket(CHAT_TYPE_INFO, "You can't send message to yourself."); return (iExtraLen); } stch->ChatPacket(CHAT_TYPE_WHISPER, "%s: %s", ch->GetName(), message.c_str()); ch->ChatPacket(CHAT_TYPE_WHISPER, "To %s: %s", stch->GetName(), message.c_str()); ch->IncreasePMCounter(); ch->SetLastPMPulse(); } else ch->ChatPacket(CHAT_TYPE_INFO, "The player doesn't exist or is not online."); return (iExtraLen); } #endif I've made some improvements
  14. I haven't checked the source code, but have you protected your admin page ip and password ? It's about config. BIND_IP: for conf.txt db adminpage_ip: and admin_page_password: for all channels.
  15. It's not just about server part. Some are faster because of their motion.
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.