Jump to content

Ken

Inactive Member
  • Posts

    726
  • Joined

  • Last visited

  • Days Won

    44
  • Feedback

    0%

Everything posted by Ken

  1. Ken

    About me!

    Someone say this to me too. Someone like to use our names what ever relax.
  2. Can you sell your dragon stones in npc-shop? That root is containing your wolf modifications? I did not know. Only leaked files. I think many people like to use my root file. What ever congrulations again. Kind Regards Ken
  3. You can say something is from ellie about your root file. What ever thanks for share us. Kind Regards Ken
  4. Ken

    Forest Boss

    Hell yea my brother Kind Regards Ken ~ TA
  5. Run binary as debug mode. You will see your fault my brother. Kind Regards Ken ~ TA
  6. Good customer. you can trust him Kind Regards Ken ~ TA
  7. You can see them as a stupid or something but i am pretty sure they are really good about this job. At first learn respect! Kind Regards Ken ~ TA
  8. If you want to this mob as aggressive (when it's spawn, mob is attack to player) if you want to this mob as aggressive ; true if you don't want to this mob as aggressive ; false Kind Regards Ken ~ TA
  9. int _spawn_mob_in_map(lua_State * L) { if (!lua_isnumber(L, 1) || !lua_isnumber(L, 2) || !lua_isnumber(L, 3) || !lua_isnumber(L,4) || !lua_isnumber(L,5) || !lua_isboolean(L,6)) { sys_err("Missing argument!"); return 1; } long lMapIndex = static_cast<long>(lua_tonumber(L, 1)); DWORD dwMobVnum = static_cast<DWORD>(lua_tonumber(L, 2)); long x = static_cast<long>(lua_tonumber(L, 3)); long y = static_cast<long>(lua_tonumber(L, 4)); BYTE bSpawnCount = static_cast<BYTE>(lua_tonumber(L, 5)); bool isAggressive = lua_toboolean(L, 6); const CMob * pMonster = CMobManager::instance().Get(dwMobVnum); if (pMonster) { for (BYTE i = 0; i < bSpawnCount; ++i) { LPCHARACTER pSpawnMonster = CHARACTER_MANAGER::instance().SpawnMobRange( lMapIndex, x - number(200, 750), y - number(200, 750), x + number(200, 750), y + number(200, 750), true, pMonster->m_table.bType == CHAR_TYPE_STONE, isAggressive); if (pSpawnMonster) ++bSpawnCount; } sys_log(0, "QUEST Spawn Monster: VNUM(%u) COUNT(%d) isAggressive(%d)", dwMobVnum, bSpawnCount, isAggressive); } lua_pushnumber(L, 0); return 1; } How to use it ; spawn_mob_in_map(mapIndex,mobVnum,coordinateX,coordinateY,spawnCount,isAggressive); Kind Regards Ken ~ TA
  10. pc.get_sig_items(vnum) System will check this in special_item_group.txt. So i mean this table Group 탈것교환권 { Vnum 10032 Type Quest 1 52701 1 1 2 52702 1 1 3 52703 1 1 4 52704 1 1 5 52705 1 1 6 52706 1 1 } If you wanna create new one you can do like that ; Group MyBrother { Vnum 10033 Type Quest 1 52707 1 1 2 52708 1 1 3 52709 1 1 4 52710 1 1 5 52711 1 1 6 52712 1 1 } local items = {pc.get_sig_items(10032)} Result : local items = {52701,52702,52703,52704,52705,52706} 52701 "전갑사자 교환권" "ITEM_QUEST" 0 1 "ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_STACK | ANTI_MYSHOP" "NONE" "NONE" "NONE" 0 0 0 0 0 "LIMIT_NONE" 0 "LIMIT_NONE" 0 "APPLY_NONE" 0 "APPLY_NONE" 0 "APPLY_NONE" 0 52031 52032 52033 52034 52035 0 0 0 0 If you wanna change give item, you can edit 52031,52032,52033,52034,52035 Kind Regards Ken ~ TA
  11. Why people is not know actual section? #moverequest Kind Regards Ken ~ TA
  12. szPointOn can't be 0 i think via this condition. Can you check it? Kind Regards Ken ~ TA
  13. If your playtime is bugged, your player table is not valid via client player table. Check it Kind Regards Ken ~ TA
  14. int iIdx = FindPointType(t->szPointOn); if (iIdx < 0) { snprintf(buf, sizeof(buf), "SkillManager::Initialize : cannot find point type on skill: %s szPointOn: %s", t->szName, t->szPointOn); sys_err("%s", buf); SendLog(buf); bError = true; M2_DELETE(pkProto); continue; } Check conditions. Kind Regards Ken ~ TA
  15. struct SPointOnType { const char * c_pszName; int iPointOn; } kPointOnTypes[] = { { "NONE", POINT_NONE }, { "MAX_HP", POINT_MAX_HP }, { "MAX_SP", POINT_MAX_SP }, { "HP_REGEN", POINT_HP_REGEN }, { "SP_REGEN", POINT_SP_REGEN }, { "BLOCK", POINT_BLOCK }, { "HP", POINT_HP }, { "SP", POINT_SP }, { "ATT_GRADE", POINT_ATT_GRADE_BONUS }, { "DEF_GRADE", POINT_DEF_GRADE_BONUS }, { "MAGIC_ATT_GRADE",POINT_MAGIC_ATT_GRADE_BONUS }, { "MAGIC_DEF_GRADE",POINT_MAGIC_DEF_GRADE_BONUS }, { "BOW_DISTANCE", POINT_BOW_DISTANCE }, { "MOV_SPEED", POINT_MOV_SPEED }, { "ATT_SPEED", POINT_ATT_SPEED }, { "POISON_PCT", POINT_POISON_PCT }, { "RESIST_RANGE", POINT_RESIST_BOW }, //{ "RESIST_MELEE", POINT_RESIST_MELEE }, { "CASTING_SPEED", POINT_CASTING_SPEED }, { "REFLECT_MELEE", POINT_REFLECT_MELEE }, { "ATT_BONUS", POINT_ATT_BONUS }, { "DEF_BONUS", POINT_DEF_BONUS }, { "RESIST_NORMAL", POINT_RESIST_NORMAL_DAMAGE }, { "DODGE", POINT_DODGE }, { "KILL_HP_RECOVER",POINT_KILL_HP_RECOVERY }, { "KILL_SP_RECOVER",POINT_KILL_SP_RECOVER }, { "HIT_HP_RECOVER", POINT_HIT_HP_RECOVERY }, { "HIT_SP_RECOVER", POINT_HIT_SP_RECOVERY }, { "CRITICAL", POINT_CRITICAL_PCT }, { "MANASHIELD", POINT_MANASHIELD }, { "SKILL_DAMAGE_BONUS", POINT_SKILL_DAMAGE_BONUS }, { "NORMAL_HIT_DAMAGE_BONUS", POINT_NORMAL_HIT_DAMAGE_BONUS }, { "n", POINT_NONE }, }; System can't find your type in this table. Check it Kind Regards Ken ~ TA
  16. At first read some contents please. Kind Regards Ken ~ TA
  17. int npc_get_level(lua_State * L) { LPCHARACTER npc = CQuestManager::instance().GetCurrentNPCCharacterPtr(); lua_pushnumber(L,npc ? npc->GetLevel() : 0); return 1; } Conditions Kind Regards Ken ~ TA
  18. Can you tell me one thing please? How can gcc know these functions if it's not declared in char.h & char.cpp ? #first error unban & ban are not declared in char.h & char.cpp Kind Regards Ken ~ TA
  19. I can't see actual functions ch-unban(name); tch->ban(reason, ch->GetPlayerID()); // GM이 아니거나 block_chat_privilege가 없는 사람은 명령어 사용 불가 I don't know what i say for this Thanks anyway. Kind Regards Ken ~ TA
  20. You are removed me and you are say many thing. I can change my nickname and that's too normal. But i am so sorry for you. You are bought this from me also my customer is bought this from me but him system working perfectly what ever #edit Kind Regards Ken ~ TA
  21. GCC 4.2 is not support that. As galet said. If you wanna use that, you can use it. Meanwhile new command for gcc 4.8+ ACMD(do_ban) { char szName[CHARACTER_NAME_MAX_LEN + 1]; char szReason[512]; int iDuration; one_argument(two_arguments(argument,szName,sizeof(szName),szReason,sizeof(szReason)),iDuration,sizeof(iDuration)); // Invalid syntax if (!*arg1 || !*arg2 || !*arg3) { ch->ChatPacket(CHAT_TYPE_INFO, "Invalid Syntax, usage: <player name> <time in hours> <reason> tip: don't use spaces in the reason, use _"); return; } str_to_number(iDuration,arg2); if (iDuration <= 0) { ch->ChatPacket(CHAT_TYPE_INFO, "Duration can't be 0 or minus."); return; } LPCHARACTER tch = CHARACTER_MANAGER::instance().FindPC(szName); if (!tch->GetDesc()) { ch->ChatPacket(CHAT_TYPE_INFO, "%s don't have desc", szName); return; } if (tch == ch) { ch->ChatPacket(CHAT_TYPE_INFO, "What's wrong with you? Don't ban yourself"); return; } if (tch->GetGMLevel() > GM_HIGH_WIZARD) { ch->ChatPacket(CHAT_TYPE_INFO, "Do not ban GMs"); return; } std::unique_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("UPDATE account.account SET availDt = FROM_UNIXTIME(UNIX_TIMESTAMP(CURRENT_TIMESTAMP()) + %d), reason = '%s' WHERE id = %u", iDuration * 3600, szReason, tch->GetDesc()->GetAccountTable().id)); if(msg.get() && msg->Get()->uiAffectedRows == 0 || msg->Get()->uiAffectedRows == (uint32_t)-1) { ch->ChatPacket(CHAT_TYPE_INFO,"do_ban failed : can not modify account table"); return; } tch->GetDesc()->DelayedDisconnect(5); sys_log(0, "%s[%u] banned %s for %d hours with reason: %s", ch->GetName(), ch->GetPlayerID(), szName, iDuration, szReason); ch->ChatPacket(CHAT_TYPE_INFO, "%s has been banned for %d hours with reason: %s", szName, iDuration, szReason); } Kind Regards Ken ~ TA
  22. Sorry. Post is updated again. Kind Regards Ken ~ TA
  23. ACMD(do_ban) { char szName[CHARACTER_NAME_MAX_LEN + 1]; char szReason[512]; int iDuration; one_argument(two_arguments(argument,szName,sizeof(szName),szReason,sizeof(szReason)),iDuration,sizeof(iDuration)); // Invalid syntax if (!*arg1 || !*arg2 || !*arg3) { ch->ChatPacket(CHAT_TYPE_INFO, "Invalid Syntax, usage: <player name> <time in hours> <reason> tip: don't use spaces in the reason, use _"); return; } str_to_number(iDuration,arg2); if (iDuration <= 0) { ch->ChatPacket(CHAT_TYPE_INFO, "Duration can't be 0 or minus."); return; } LPCHARACTER tch = CHARACTER_MANAGER::instance().FindPC(szName); if (!tch->GetDesc()) { ch->ChatPacket(CHAT_TYPE_INFO, "%s don't have desc", szName); return; } if (tch == ch) { ch->ChatPacket(CHAT_TYPE_INFO, "What's wrong with you? Don't ban yourself"); return; } if (tch->GetGMLevel() > GM_HIGH_WIZARD) { ch->ChatPacket(CHAT_TYPE_INFO, "Do not ban GMs"); return; } std::auto_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("UPDATE account.account SET availDt = FROM_UNIXTIME(UNIX_TIMESTAMP(CURRENT_TIMESTAMP()) + %d), reason = '%s' WHERE id = %u", iDuration * 3600, szReason, tch->GetDesc()->GetAccountTable().id)); if(msg.get() && msg->Get()->uiAffectedRows == 0 || msg->Get()->uiAffectedRows == (uint32_t)-1) { ch->ChatPacket(CHAT_TYPE_INFO,"do_ban failed : can not modify account table"); return; } tch->GetDesc()->DelayedDisconnect(5); sys_log(0, "%s[%u] banned %s for %d hours with reason: %s", ch->GetName(), ch->GetPlayerID(), szName, iDuration, szReason); ch->ChatPacket(CHAT_TYPE_INFO, "%s has been banned for %d hours with reason: %s", szName, iDuration, szReason); } Kind Regards Ken ~ TA
×
×
  • 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.