Beiträge von LightCore
-
-
#ifdef WJ_SPLIT_INVENTORY_SYSTEM sind die invis wie kann ich das beheben habe damit 0 ahnung mit der pickup funktion
Code- bool CHARACTER::PickupItem(DWORD dwVID)
- {
- LPITEM item = ITEM_MANAGER::instance().FindByVID(dwVID);
- if (IsObserverMode())
- return false;
- if (!item || !item->GetSectree())
- return false;
- if (item->DistanceValid(this))
- {
- if (item->IsOwnership(this))
- {
- // 만약 주으려 하는 아이템이 엘크라면
- if (item->GetType() == ITEM_ELK)
- {
- GiveGold(item->GetCount());
- item->RemoveFromGround();
- M2_DESTROY_ITEM(item);
- Save();
- }
- #ifdef ENABLE_CHEQUE_SYSTEM
- else if (item->GetType() == ITEM_WON)
- {
- GiveCheque(item->GetCount());
- item->RemoveFromGround();
- M2_DESTROY_ITEM(item);
- Save();
- }
- #endif
- // 평범한 아이템이라면
- else
- {
- if (item->IsStackable() && !IS_SET(item->GetAntiFlag(), ITEM_ANTIFLAG_STACK))
- {
- BYTE bCount = item->GetCount();
- for (int i = 0; i < INVENTORY_AND_EQUIP_SLOT_MAX; ++i)
- {
- LPITEM item2 = GetInventoryItem(i);
- if (!item2)
- continue;
- if (item2->GetVnum() == item->GetVnum())
- {
- int j;
- for (int i = 0; i < INVENTORY_AND_EQUIP_SLOT_MAX; ++i)
- if (item2->GetSocket(j) != item->GetSocket(j))
- break;
- if (j != ITEM_SOCKET_MAX_NUM)
- continue;
- BYTE bCount2 = MIN(200 - item2->GetCount(), bCount);
- bCount -= bCount2;
- item2->SetCount(item2->GetCount() + bCount2);
- if (bCount == 0)
- {
- ChatPacket(CHAT_TYPE_INFO, LC_TEXT("아이템 획득: %s"), item2->GetName());
- M2_DESTROY_ITEM(item);
- if (item2->GetType() == ITEM_QUEST)
- quest::CQuestManager::instance().PickupItem (GetPlayerID(), item2);
- return true;
- }
- }
- }
- item->SetCount(bCount);
- }
- int iEmptyCell;
- if (item->IsDragonSoul())
- {
- if ((iEmptyCell = GetEmptyDragonSoulInventory(item)) == -1)
- {
- sys_log(0, "No empty ds inventory pid %u size %ud itemid %u", GetPlayerID(), item->GetSize(), item->GetID());
- ChatPacket(CHAT_TYPE_INFO, LC_TEXT("소지하고 있는 아이템이 너무 많습니다."));
- return false;
- }
- }
- #ifdef WJ_SPLIT_INVENTORY_SYSTEM
- else if (item->IsSkillBook())
- {
- if ((iEmptyCell = GetEmptySkillBookInventory(item->GetSize())) == -1)
- {
- sys_log(0, "No empty ds inventory pid %u size %ud itemid %u", GetPlayerID(), item->GetSize(), item->GetID());
- ChatPacket(CHAT_TYPE_INFO, LC_TEXT("???? ?? ???? ?? ????."));
- return false;
- }
- }
- else if (item->IsUpgradeItem())
- {
- if ((iEmptyCell = GetEmptyUpgradeItemsInventory(item->GetSize())) == -1)
- {
- sys_log(0, "No empty ds inventory pid %u size %ud itemid %u", GetPlayerID(), item->GetSize(), item->GetID());
- ChatPacket(CHAT_TYPE_INFO, LC_TEXT("???? ?? ???? ?? ????."));
- return false;
- }
- }
- else if (item->IsStone())
- {
- if ((iEmptyCell = GetEmptyStoneInventory(item->GetSize())) == -1)
- {
- sys_log(0, "No empty ds inventory pid %u size %ud itemid %u", GetPlayerID(), item->GetSize(), item->GetID());
- ChatPacket(CHAT_TYPE_INFO, LC_TEXT("???? ?? ???? ?? ????."));
- return false;
- }
- }
- else if (item->IsSandik())
- {
- if ((iEmptyCell = GetEmptySandikInventory(item->GetSize())) == -1)
- {
- sys_log(0, "No empty ds inventory pid %u size %ud itemid %u", GetPlayerID(), item->GetSize(), item->GetID());
- ChatPacket(CHAT_TYPE_INFO, LC_TEXT("???? ?? ???? ?? ????."));
- return false;
- }
- }
- #endif
- else
- {
- if ((iEmptyCell = GetEmptyInventory(item->GetSize())) == -1)
- {
- sys_log(0, "No empty inventory pid %u size %ud itemid %u", GetPlayerID(), item->GetSize(), item->GetID());
- ChatPacket(CHAT_TYPE_INFO, LC_TEXT("소지하고 있는 아이템이 너무 많습니다."));
- return false;
- }
- }
- item->RemoveFromGround();
- if (item->IsDragonSoul())
- item->AddToCharacter(this, TItemPos(DRAGON_SOUL_INVENTORY, iEmptyCell));
- #ifdef WJ_SPLIT_INVENTORY_SYSTEM
- else if (item->IsSkillBook())
- item->AddToCharacter(this, TItemPos(INVENTORY, iEmptyCell));
- else if (item->IsUpgradeItem())
- item->AddToCharacter(this, TItemPos(INVENTORY, iEmptyCell));
- else if (item->IsStone())
- item->AddToCharacter(this, TItemPos(INVENTORY, iEmptyCell));
- else if (item->IsSandik())
- item->AddToCharacter(this, TItemPos(INVENTORY, iEmptyCell));
- #endif
- else
- item->AddToCharacter(this, TItemPos(INVENTORY, iEmptyCell));
- char szHint[32+1];
- snprintf(szHint, sizeof(szHint), "%s %u %u", item->GetName(), item->GetCount(), item->GetOriginalVnum());
- LogManager::instance().ItemLog(this, item, "GET", szHint);
- ChatPacket(CHAT_TYPE_INFO, LC_TEXT("아이템 획득: %s"), item->GetName());
- if (item->GetType() == ITEM_QUEST)
- quest::CQuestManager::instance().PickupItem (GetPlayerID(), item);
- }
- //Motion(MOTION_PICKUP);
- return true;
- }
- else if (!IS_SET(item->GetAntiFlag(), ITEM_ANTIFLAG_GIVE | ITEM_ANTIFLAG_DROP) && GetParty())
- {
- // 다른 파티원 소유권 아이템을 주으려고 한다면
- NPartyPickupDistribute::FFindOwnership funcFindOwnership(item);
- GetParty()->ForEachOnlineMember(funcFindOwnership);
- LPCHARACTER owner = funcFindOwnership.owner;
- if (!owner)
- return false;
- int iEmptyCell;
- if (item->IsDragonSoul())
- {
- if (!(owner && (iEmptyCell = owner->GetEmptyDragonSoulInventory(item)) != -1))
- {
- owner = this;
- if ((iEmptyCell = GetEmptyDragonSoulInventory(item)) == -1)
- {
- owner->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("소지하고 있는 아이템이 너무 많습니다."));
- return false;
- }
- }
- }
- #ifdef WJ_SPLIT_INVENTORY_SYSTEM
- else if (item->IsSkillBook())
- {
- if (!(owner && (iEmptyCell = owner->GetEmptySkillBookInventory(item->GetSize())) != -1))
- {
- owner = this;
- if ((iEmptyCell = GetEmptySkillBookInventory(item->GetSize())) == -1)
- {
- owner->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("???? ?? ???? ?? ????."));
- return false;
- }
- }
- }
- else if (item->IsUpgradeItem())
- {
- if (!(owner && (iEmptyCell = owner->GetEmptyUpgradeItemsInventory(item->GetSize())) != -1))
- {
- owner = this;
- if ((iEmptyCell = GetEmptyUpgradeItemsInventory(item->GetSize())) == -1)
- {
- owner->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("???? ?? ???? ?? ????."));
- return false;
- }
- }
- }
- else if (item->IsStone())
- {
- if (!(owner && (iEmptyCell = owner->GetEmptyStoneInventory(item->GetSize())) != -1))
- {
- owner = this;
- if ((iEmptyCell = GetEmptyStoneInventory(item->GetSize())) == -1)
- {
- owner->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("???? ?? ???? ?? ????."));
- return false;
- }
- }
- }
- else if (item->IsSandik())
- {
- if (!(owner && (iEmptyCell = owner->GetEmptySandikInventory(item->GetSize())) != -1))
- {
- owner = this;
- if ((iEmptyCell = GetEmptySandikInventory(item->GetSize())) == -1)
- {
- owner->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("???? ?? ???? ?? ????."));
- return false;
- }
- }
- }
- #endif
- else
- {
- if (!(owner && (iEmptyCell = owner->GetEmptyInventory(item->GetSize())) != -1))
- {
- owner = this;
- if ((iEmptyCell = GetEmptyInventory(item->GetSize())) == -1)
- {
- owner->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("소지하고 있는 아이템이 너무 많습니다."));
- return false;
- }
- }
- }
- item->RemoveFromGround();
- if (item->IsDragonSoul())
- item->AddToCharacter(owner, TItemPos(DRAGON_SOUL_INVENTORY, iEmptyCell));
- #ifdef WJ_SPLIT_INVENTORY_SYSTEM
- else if (item->IsSkillBook())
- item->AddToCharacter(owner, TItemPos(INVENTORY, iEmptyCell));
- else if (item->IsUpgradeItem())
- item->AddToCharacter(owner, TItemPos(INVENTORY, iEmptyCell));
- else if (item->IsStone())
- item->AddToCharacter(owner, TItemPos(INVENTORY, iEmptyCell));
- else if (item->IsSandik())
- item->AddToCharacter(owner, TItemPos(INVENTORY, iEmptyCell));
- #endif
- else
- item->AddToCharacter(owner, TItemPos(INVENTORY, iEmptyCell));
- char szHint[32+1];
- snprintf(szHint, sizeof(szHint), "%s %u %u", item->GetName(), item->GetCount(), item->GetOriginalVnum());
- LogManager::instance().ItemLog(owner, item, "GET", szHint);
- if (owner == this)
- ChatPacket(CHAT_TYPE_INFO, LC_TEXT("아이템 획득: %s"), item->GetName());
- else
- {
- owner->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("아이템 획득: %s 님으로부터 %s"), GetName(), item->GetName());
- ChatPacket(CHAT_TYPE_INFO, LC_TEXT("아이템 전달: %s 님에게 %s"), owner->GetName(), item->GetName());
- }
- if (item->GetType() == ITEM_QUEST)
- quest::CQuestManager::instance().PickupItem (owner->GetPlayerID(), item);
- return true;
- }
- }
- return false;
- }
das liegt an der PickUp funktion
-
undzwar versuche ich ein Special Storage zu entbuggen was ich sogut wie geschafft habe
aber die aufgehoben items stacken sich nicht
hier ein beispiel
Bitte melden Sie sich an, um diesen Link zu sehen.
ich denke es liegt hier dran aber brauche hilfe weil ich keine ahnung habe wie ich das ändern kann
Code- else if (pItem->IsSkillBook())
- pItem->AddToCharacter(ch, TItemPos(INVENTORY, iEmptyPos));
- else if (pItem->IsUpgradeItem())
- pItem->AddToCharacter(ch, TItemPos(INVENTORY, iEmptyPos));
- else if (pItem->IsStone())
- pItem->AddToCharacter(ch, TItemPos(INVENTORY, iEmptyPos));
- else if (pItem->IsSandik())
- pItem->AddToCharacter(ch, TItemPos(INVENTORY, iEmptyPos));
- ich denke an den iEmptyPos
-
was ist das fürn kossi?
-
Ganz dumme Idee, passen die Berechtigungen der Serverfiles alle?
Ehm wenn du mir sagst wie die berechtigugen sind würde ich dir sagen ob die richtig sind
-
-
hey ich habe ein problem
undzwar habe ich eine quest zum coins geben aber wenn man drauf clickt
dann passiert halt nichts nur das item verschwindet aber die coins werden nicht gut geschrieben das ist bei allen quests die mysql_query benötigt#Server err.
hier zb vom vip
SYSERR: Oct 27 23:03:49.171773 :: RunState: LUA_ERROR: locale/germany/quest/object/state/vip_by_kilroy:1: attempt to index field `?' (a nil value)
SYSERR: Oct 27 23:03:49.171885 :: WriteRunningStateToSyserr: LUA_ERROR: quest vip_by_kilroy.start click
das kommt bei jeder mysql quest
-
oder so
-
hmm komisch
guck mal in den andern quests
-
guck dort dochmal alles durch ob du es findest das muss eig in den quests sein such mal mit strg +f
-
kannst du mir das ebent mal hochladen ?
-
zeig mal deinen root ordner oder lad es mir mal hoch wäre am besten
-
guck mal ob du im ordner dates.py oder so findest wenn du ein anderes interface hast sollte eig dort alles eingetragen sein
-
Zeig mal alle deine quests her Bitte;D
-
ehm guild_war oder so müsste sie heißen guck mal nach
-
in der Quest einfach vertauschen oder ab ändern
-
Bitte melden Sie sich an, um diesen Link zu sehen.
-1015 15:54:05862 ::
networkModule.py(line:209) SetSelectCharacterPhase
system.py(line:147) __pack_import
system.py(line:127) _process_result
introSelect.py(line:24) <module>
system.py(line:147) __pack_import
system.py(line:127) _process_result
uiAffectShower.py(line:8) <module>
system.py(line:147) __pack_import
networkModule.SetSelectCharacterPhase - <type 'exceptions.IndentationError'>:unexpected indent (uiToolTip.py, line 1244)
1015 15:54:05862 :: ========================================
====================================================================1015 15:54:05862 :: Abort!!!!
hab schon alles durch getabt aber irgendwie will es nicht
//denkfehler
hab schon
-
How much bro
-
über prüfe die Pfade der GR datei
-
hallo
mein Make.sh compielt keine lua datein er ignoriert die lua datein
hat jemand vllt eine idee