Ir para conteúdo
  • Cadastre-se

Derivado [ERROR] Npc não encerra conversar, gerar erro


Posts Recomendados

Sempre que que um Player fala com um NPC gera um erro e o NPC não encerra a converssa, fica falando sem para God Bye, God Bye, God Bye,God Bye constantemente.

Todos os NPC do game estão dessa maneira, falo com ele eles vão ficar falando God Bye até a morte.

Lua Script Error: [Npc interface] 
data/npc/scripts/default.lua:onThink 
data/npc/lib/npcsystem/npchandler.lua:178: bad argument #1 to 'remove' (position out of bounds) 
stack traceback: 
[C]: in ? 
[C]: in function 'remove' 
data/npc/lib/npcsystem/npchandler.lua:178: in function 'releaseFocus' 
data/npc/lib/npcsystem/npchandler.lua:552: in function 'onWalkAway' 
data/npc/lib/npcsystem/npchandler.lua:496: in function 'onThink' 
data/npc/scripts/default.lua:8: in function 

 



Alguem poderia me dar uma luz de como resolver?

 

 

 

 

 

Link para o post
Compartilhar em outros sites
  • Sub-Admin
2 horas atrás, alexmoretoni disse:

Sempre que que um Player fala com um NPC gera um erro e o NPC não encerra a converssa, fica falando sem para God Bye, God Bye, God Bye,God Bye constantemente.

Todos os NPC do game estão dessa maneira, falo com ele eles vão ficar falando God Bye até a morte.

Lua Script Error: [Npc interface] 
data/npc/scripts/default.lua:onThink 
data/npc/lib/npcsystem/npchandler.lua:178: bad argument #1 to 'remove' (position out of bounds) 
stack traceback: 
[C]: in ? 
[C]: in function 'remove' 
data/npc/lib/npcsystem/npchandler.lua:178: in function 'releaseFocus' 
data/npc/lib/npcsystem/npchandler.lua:552: in function 'onWalkAway' 
data/npc/lib/npcsystem/npchandler.lua:496: in function 'onThink' 
data/npc/scripts/default.lua:8: in function 

 



Alguem poderia me dar uma luz de como resolver?

 

 

 

 

 

manda o npc vo testar ele

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites

Opa vlw,

Bom ele vive conflitando com alguns NPCs,

 

npchandler.lua
http://pastebin.com/viQrwUap

 

default.lua

http://pastebin.com/W4LHs6qN

 

 

As vezes da o mesmo erro com outros NPC e o que eles tem em comum é que o erro sempre acontece envolvendo o npchandler.lua

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por kk4444
      Se eu não poder fazer isso por favor me avisem aqui no tópico que eu retiro.   Créditos SOMENTE do: cbrm (OTLand) Tópico Oficial:https://otland.net/threads/reward-chest-boss-reward-tfs-1-2.233397/   Tested on TFS 1.2, 10.77/78
      Based on http://www.tibia.com/news/?subtopic=newsarchive&id=2486   Oque tem?  
       
      To-do
       
        Changelog  
       
      Comentários
       
          Agradecimentos especiais para  
      Instruções de instalação
      Execute a query na database
       
      CREATE TABLE IF NOT EXISTS `player_rewardchest` ( `id` int(11) NOT NULL AUTO_INCREMENT, `player_id` int(11) NOT NULL, `reward` text NOT NULL, `date` bigint(20) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`), FOREIGN KEY (`player_id`) REFERENCES `players` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB; src/const.h
      Abaixo...
      ITEM_MARKET = 14405 ...Adicione:
      ITEM_REWARD_CHEST = 21584, REWARD_CHEST_DEPOT = 99, src/depotchest.h
      Abaixo...
      explicit DepotChest(uint16_t _type);  
      ...Adicione:
      uint32_t getDepotId() const { return depotId; } void setDepotId(uint32_t id) { depotId = id; }  
      Abaixo...
      uint32_t maxDepotItems; ...Adicione:
      uint32_t depotId; src/depotchest.cpp
      Abaixo...
      maxDepotItems = 1500; ...Adicione:
      depotId = 0; Acima...
      return Container::queryAdd(index, thing, count, flags, actor); ...Adicione:
      if (actor != nullptr && getDepotId() == REWARD_CHEST_DEPOT) { return RETURNVALUE_NOTPOSSIBLE; } src/depotlocker.h
      Acima...
      //cylinder implementations ...Adicione:
      void setMaxLockerItems(uint32_t maxitems) { maxSize = maxitems; } src/luascript.h
      Acima...
      static int luaContainerGetSize(lua_State* L); ...Adicione:
      static int luaContainerGetContentDescription(lua_State* L); src/luascript.cpp
      Acima...
      registerMethod("Container", "getSize", LuaScriptInterface::luaContainerGetSize); ...Adicione:
      registerMethod("Container", "getContentDescription", LuaScriptInterface::luaContainerGetContentDescription); Acima...
      int LuaScriptInterface::luaContainerGetSize(lua_State* L) ...Adicione:
      int LuaScriptInterface::luaContainerGetContentDescription(lua_State* L) { // container:getContentDescription() Container* container = getUserdata<Container>(L, 1); if (container) { std::ostringstream ss; ss << container->getContentDescription(); pushString(L, ss.str()); } else { lua_pushnil(L); } return 1; } src/actions.cpp
      Troque:
      //depot container if (DepotLocker* depot = container->getDepotLocker()) { DepotLocker* myDepotLocker = player->getDepotLocker(depot->getDepotId()); myDepotLocker->setParent(depot->getParent()->getTile()); openContainer = myDepotLocker; player->setLastDepotId(depot->getDepotId()); } else { openContainer = container; } Por:
      //reward chest and depot container if (item->getID() == ITEM_REWARD_CHEST) { DepotLocker* myRewardChest = player->getRewardChest(); myRewardChest->setParent(item->getTile()); openContainer = myRewardChest; player->setLastDepotId(REWARD_CHEST_DEPOT); } else if (DepotLocker* depot = container->getDepotLocker()) { DepotLocker* myDepotLocker = player->getDepotLocker(depot->getDepotId()); myDepotLocker->setParent(depot->getParent()->getTile()); openContainer = myDepotLocker; player->setLastDepotId(depot->getDepotId()); } else { openContainer = container; } src/player.h
      Abaixo...
      DepotLocker* getDepotLocker(uint32_t depotId); ...Adicione:
      DepotLocker* getRewardChest(); src/player.cpp
      Abaixo...
      DepotChest* depotChest = new DepotChest(ITEM_DEPOT); ...Adicione:
      depotChest->setDepotId(depotId); Acima...
      void Player::sendCancelMessage(ReturnValue message) const ...Adicione:
      DepotLocker* Player::getRewardChest() { auto it = depotLockerMap.find(REWARD_CHEST_DEPOT); if (it != depotLockerMap.end()) { inbox->setParent(it->second); return it->second; } DepotLocker* rewardChest = new DepotLocker(ITEM_LOCKER1); rewardChest->setDepotId(REWARD_CHEST_DEPOT); rewardChest->setMaxLockerItems(1); rewardChest->internalAddThing(getDepotChest(REWARD_CHEST_DEPOT, true)); depotLockerMap[REWARD_CHEST_DEPOT] = rewardChest; return rewardChest; } On player.cpp, container.cpp, inbox.cpp
      Change:
      if (!item->isPickupable()) {  Por:
      if (item->getID() != 21518 && !item->isPickupable()) { Adicione em @ data/actions/actions.xml
      <!-- Reward Chest System --> <action itemid="21584" script="reward_chest.lua"/> <action actionid="21584" script="reward_chest.lua"/> Crie @ data/actions/scripts/reward_chest.lua
      function onUse(player, item, fromPosition, target, toPosition, isHotkey) --Reward Chest if item:getId() == 21584 then if player:getExhaustion(REWARD_CHEST.STORAGE) > 0 then return player:sendCancelMessage('You need to wait ' .. string.diff(player:getStorageValue(REWARD_CHEST.STORAGE)-os.time()) .. ' before using this chest again.') end player:updateRewardChest() --Boss Corpse elseif item:getActionId() == 21584 then local reward = REWARD_CHEST.LOOT[tonumber(item:getAttribute('text'))][player:getGuid()] if reward ~= nil then local rewardBag = Container(doCreateItemEx(REWARD_CHEST.CONTAINER, 1)) addContainerItems(rewardBag, reward) if player:getCapacity() < rewardBag:getCapacity() then return player:sendCancelMessage(RETURNVALUE_NOTENOUGHCAPACITY) end if player:addItemEx(rewardBag, false) == RETURNVALUE_NOERROR then REWARD_CHEST.LOOT[tonumber(item:getAttribute('text'))][player:getGuid()] = nil player:sendCancelMessage('You have picked up a reward container.') else player:sendCancelMessage(RETURNVALUE_NOTENOUGHROOM) return true end end end return false end Adicione @ data/creaturescripts/creaturescripts.xml
      <event type="kill" name="RewardChest" script="reward_chest.lua"/> Registre em @data/creaturescripts/scripts/login.lua
      player:registerEvent("RewardChest") Adicione @ data/items/items.xml
      <item id="21518" article="a" name="reward container"> <attribute key="weight" value="1800" /> <attribute key="containersize" value="24" /> <attribute key="slotType" value="backpack" /> </item> <item id="21584" article="a" name="reward chest"> <attribute key="type" value="depot" /> <attribute key="containerSize" value="1" /> <attribute key="description" value="This chest contains your rewards earned in battles." /> </item> Add @ data/lib/core/player.lua
      function Player.setExhaustion(self, value, time) return self:setStorageValue(value, time + os.time()) end function Player.getExhaustion(self, value) local storage = self:getStorageValue(value) if storage <= 0 then return 0 end return storage - os.time() end Crie em @ data/creaturescripts/scripts/reward_chest.lua
      (download anexado nesse post)
       
      Download
       
      RELEMBRANDO CRÉDITOS APENAS DO CBRM DA OTLAND
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo