Jump to content

Tallywa

Inactive Member
  • Posts

    307
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by Tallywa

  1. i have try this fonction in item_manageur, bool ITEM_MANAGER::AddItem(LPITEM item) { LPCHARACTER owner = funcFindOwnership.owner; int pos; if (item->GetWindow() == EQUIPMENT) { item->RemoveFromCharacter(); item->AddToCharacter(owner, TItemPos(INVENTORY, pos)); } return true; } but game.core with this error : #0 CItem::AddToCharacter (this=0x2c4bd000, ch=0x2c4bd000, Cell={window_type = 1 '\001', cell = 0}) at item.h:47 47 const char * GetName() { return m_pProto ? m_pProto->szLocaleName : NULL; } [New LWP 100580] (gdb) bt full #0 CItem::AddToCharacter (this=0x2940d090, ch=0x28d62198, Cell={window_type = 0 '\0', cell = 0}) at item.h:47 pos = 35803 window_type = 0 '\0' __FUNCTION__ = "AddToCharacter" #1 0x28c5dbe6 in basename_r () from /usr/lib32/libc.so.7 No symbol table info available. #2 0x083a9d3e in CSemaphore::Wait () No symbol table info available. #3 0x083a8fad in CAsyncSQL::ChildLoop () No symbol table info available. #4 0x083a980e in AsyncSQLThread () No symbol table info available. #5 0x287abbbc in pthread_condattr_init () from /usr/lib32/libthr.so.3 No symbol table info available. #6 0x00000000 in ?? ()
  2. i have try this fonction in item_manageur, bool ITEM_MANAGER::AddItem(LPITEM item) { LPCHARACTER owner = funcFindOwnership.owner; int pos; if (item->GetWindow() == EQUIPMENT) { item->RemoveFromCharacter(); item->AddToCharacter(owner, TItemPos(INVENTORY, pos)); } return true; } but game.core with this error : #0 CItem::AddToCharacter (this=0x2c4bd000, ch=0x2c4bd000, Cell={window_type = 1 '\001', cell = 0}) at item.h:47 47 const char * GetName() { return m_pProto ? m_pProto->szLocaleName : NULL; } [New LWP 100580] (gdb) bt full #0 CItem::AddToCharacter (this=0x2940d090, ch=0x28d62198, Cell={window_type = 0 '\0', cell = 0}) at item.h:47 pos = 35803 window_type = 0 '\0' __FUNCTION__ = "AddToCharacter" #1 0x28c5dbe6 in basename_r () from /usr/lib32/libc.so.7 No symbol table info available. #2 0x083a9d3e in CSemaphore::Wait () No symbol table info available. #3 0x083a8fad in CAsyncSQL::ChildLoop () No symbol table info available. #4 0x083a980e in AsyncSQLThread () No symbol table info available. #5 0x287abbbc in pthread_condattr_init () from /usr/lib32/libthr.so.3 No symbol table info available. #6 0x00000000 in ?? ()
  3. i use this fonction in item.cpp now EVENTFUNC(real_time_expire_event) { const item_vid_event_info* info = reinterpret_cast<const item_vid_event_info*>(event->info); //LPCHARACTER pOwner = GetOwner(); //m_pOwner = ch; int Cell; if (NULL == info) return 0; const LPITEM item = ITEM_MANAGER::instance().FindByVID( info->item_vid ); if (NULL == item) return 0; const time_t current = get_global_time(); if (current > item->GetSocket(0)) { switch (item->GetVnum()) { if(item->IsNewMountItem()) { if (item->GetSocket(2) != 0) item->ClearMountAttributeAndAffect(); } break; } if (item->GetType() == ITEM_RING) { item->Unequip(); } else if (item->GetType() != ITEM_RING) { ITEM_MANAGER::instance().RemoveItem(item, "REAL_TIME_EXPIRE"); } return 0; } return PASSES_PER_SEC(1); } item has desequipe but is invisible in inventory, I am forced to reboot the server to make it appear
  4. i use this fonction now EVENTFUNC(real_time_expire_event) { const item_vid_event_info* info = reinterpret_cast<const item_vid_event_info*>(event->info); //LPCHARACTER pOwner = GetOwner(); //m_pOwner = ch; int Cell; if (NULL == info) return 0; const LPITEM item = ITEM_MANAGER::instance().FindByVID( info->item_vid ); if (NULL == item) return 0; const time_t current = get_global_time(); if (current > item->GetSocket(0)) { switch (item->GetVnum()) { if(item->IsNewMountItem()) { if (item->GetSocket(2) != 0) item->ClearMountAttributeAndAffect(); } break; } if (item->GetType() == ITEM_RING) { item->Unequip(); } else if (item->GetType() != ITEM_RING) { ITEM_MANAGER::instance().RemoveItem(item, "REAL_TIME_EXPIRE"); } return 0; } return PASSES_PER_SEC(1); } item has desequipe but is invisible in inventory, I am forced to reboot the server to make it appear
  5. Well, I would like to have the item disappear when the time is 0, that the one if it unequip automate.
  6. Hello I would like to make sure that this item automatically unequips when the time reaches 0. i have try this code in char_item.cpp but not succes case ITEM_RING: { LPITEM item; const time_t current = get_global_time(); if (item->IsEquipped()) { if (item->GetSocket(0) < current) { UnequipItem(item); } } if (!item->IsEquipped()) EquipItem(item); else UnequipItem(item); } break; help me please
  7. I would like to make sure that the item once time to zero item unequip automate but I can not
  8. Hello, i use this fonction EVENTFUNC(real_time_expire_event) { const item_vid_event_info* info = reinterpret_cast<const item_vid_event_info*>(event->info); if (NULL == info) return 0; const LPITEM item = ITEM_MANAGER::instance().FindByVID( info->item_vid ); if (NULL == item) return 0; const time_t current = get_global_time(); if (item->GetType() == ITEM_RING && (current > item->GetSocket(0))) return 1; if (current > item->GetSocket(0)) { switch (item->GetVnum()) { if(item->IsNewMountItem()) { if (item->GetSocket(2) != 0) item->ClearMountAttributeAndAffect(); } break; } ITEM_MANAGER::instance().RemoveItem(item, "REAL_TIME_EXPIRE"); return 0; } return PASSES_PER_SEC(1); } but item ring disppear after time is 0 and i dont know why.
  9. Hello, I would like to know how to make the blacksmiths indicate the percentage of success of the up item. I did not find any links to code that. I put an explicit screen showing what I want to do. But it's solved.
  10. case ITEM_METIN: { LPITEM item2; if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell))) return false; if (item2->IsExchanging()) return false; if (item2->GetType() == ITEM_PICK) return false; if (item2->GetType() == ITEM_ROD) return false; int i; for (i = 0; i < ITEM_SOCKET_MAX_NUM; ++i) { DWORD dwVnum; if ((dwVnum = item2->GetSocket(i)) <= 2) continue; TItemTable * p = ITEM_MANAGER::instance().GetTable(dwVnum); if (!p) continue; if (item->GetValue(5) == p->alValues[5]) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("°°Àº Á¾·ùÀÇ ¸Þƾ¼®Àº ¿©·¯°³ ºÎÂøÇÒ ¼ö ¾ø½À´Ï´Ù.")); return false; } if (item->GetVnum() == 40159 && item->GetVnum() == 28933) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("°°Àº Á¾·ùÀÇ ¸Þƾ¼®Àº ¿©·¯°³ ºÎÂøÇÒ ¼ö ¾ø½À´Ï´Ù.")); return false; } }
  11. Hello, I would like to block the binding of stones on a weapon compared to two vnum, but I block and it does not work
  12. I will try to explain better. The first round works without problem. Then gradually, I can not go up, when I break the metin of the first level I do not go up, and those randomly. The first two days after a reboot, the tower goes up without worries, then after, it bug on the first level.
  13. I have a problem (small problem), when I leave a guild, I see all the other guild with name * noname *. I do not know how to solve the problem.
  14. Bonjour, je voudrais savoir, comment faire pour que le forgerons indique le pourcentage de succès du up de l'item. Je n'ai pas trouver de liens pour coder cela. J'ai mis un screen explicite montrant ce que je veux faire.
  15. Hello, do you have any ideas of how to extend the time of a costume?
×
×
  • 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.