Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 10/13/18 in all areas

  1. Hello everyone. With this you can define everything in a structured array; bonuses(types only, the maximal value will be set) and sockets. I know the code is a bit wierd, I've tested on bsd where I have only gcc4.2 from 2k7 so I had to rewrite it to compile with it. I'm too lazy to upgrade the gcc and all stuffs what need after all. I filled up the set for warrior only [Hidden Content] And last if you want to increase of decrease the set of equpments you must to edit this aswell: ITEM_SET_EQUIP_MAX PS.: If you are smart enough, you can also use it for starter equpment for the new players or whatever you like.
    1 point
  2. Maybe you should post this in "Searching" and offer some pay for it.
    1 point
  3. I do not prefer to use the SetForceAttribute and SetSocket functions in loops, every each call sends an UpdatePacket . From the CHARACTER::EquipItem the CItem::EquipTo will run down where the UpdatePacket will be called.
    1 point
  4. thx for sharing this fix but there is still one bug with m_GraphicThingInstance.HideAllAttachingEffect(); that when any player zoom to gm he can see his gm logo [Hidden Content] hopefully you can fix it
    1 point
  5. Hello, let's start! 1- char_item.cpp Find for double ";;" It's ok for compiler but not good for other things that may happen. 2- On bool CHARACTER::EquipItem(LPITEM item, int iCandidateCell) Find: if (iWearCell < 0) return false; Add below: //FIX BLOCK MARRIAGE ITEMS WHILE RIDING if (iWearCell == WEAR_BODY && IsRiding() && (item->GetVnum() >= 11901 && item->GetVnum() <= 11914)) //Marriage Armors { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("?????????????????????????????")); return false; } if (iWearCell == WEAR_WEAPON && IsRiding() && (item->GetVnum() == 50201)) //Marriage Weapon { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("?????????????????????????????")); return false; } 3- SMALL PREVENTS ON questlua_global.cpp int _clear_server_timer(lua_State* L) { CQuestManager & q = CQuestManager::instance(); const char * name = lua_tostring(L, 1); DWORD arg = (DWORD) lua_tonumber(L, 2); if (name && arg) q.ClearServerTimer(name, arg); else sys_err("LUA PREVENT: Wrong argument on ClearServerTimer!"); return 0; } int _char_log(lua_State * L) { CQuestManager& q = CQuestManager::instance(); LPCHARACTER ch = q.GetCurrentCharacterPtr(); DWORD what = 0; const char* how = ""; const char* hint = ""; if (lua_isnumber(L, 1)) what = (DWORD)lua_tonumber(L, 1); if (lua_isstring(L, 2)) how = lua_tostring(L, 2); if (lua_tostring(L, 3)) hint = lua_tostring(L, 3); if (ch) LogManager::instance().CharLog(ch, what, how, hint); else sys_err("LUA PREVENT: !ch on _char_log!"); return 0; } 4- FIX ISSUE ON WAR: battle.cpp Find: battle_is_attackable Must be like this: if (victim->IsDead() || victim->IsObserverMode()) return false; if (ch->IsStun() || ch->IsDead() || ch->IsObserverMode()) return false; Hope it'll be useful.
    1 point
  6. !ch->IsDead() for FCountMonster is also handy.
    1 point
  7. Don't work, i have negative exp an 100 lv.
    0 points
×
×
  • 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.