Ir para conteúdo
  • Cadastre-se

[Ajuda] Script não apresenta erro e nem funciona


Posts Recomendados

Olá Senhores,

 

 por favor, alguém poderia me ajudar com a script abaixo ?

 

 No momento ela não funciona. Ao matar o player, o coração não aparece.

 

 

 

function onKill(cid, target)

 
 
    if isPlayer(cid) and isPlayer(target) then
    if getPlayerIp(cid) ~= getPlayerIp(target) then
 
 local config = {
 
Kname = getPlayerName(cid),
Tname = getPlayerName(target),
Tlevel = getPlayerLevel(target),
}
 
local heart = doPlayerAddItem(cid, 5943, 1)
 
doItemSetAttribute(heart, "name", "" ..config.Tname.. " Heart's")
doItemSetAttribute(heart, "description", "Killed at Level "..config.Tlevel.." by "..config.Kname..". " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "(Unjustified)" or "(Justified)"))
 
    elseif getPlayerIp(cid) == getPlayerIp(target) then
doPlayerAddExp(cid, -10000)
    end
end
return true
end

 

 

Link para o post
Compartilhar em outros sites
  • 1 month later...

cara qual versão do seu tsf? se for 0.4 tenta esse:

 

data/creaturescript/scripts/hearts.lua

function onDeath(cid, corpse, deathList)

 
local heart = doPlayerAddItem(deathList[1],5943, 1)
 
if isPlayer(cid) and isPlayer(deathList[1]) then
 
doItemSetAttribute(heart, "name", "" ..getPlayerName(cid).. " Heart's")
doItemSetAttribute(heart, "description", "Killed at Level "..getPlayerLevel(cid).." by "..getPlayerName(deathList[1])..". " .. (getCreatureSkullType(cid) <= SKULL_GREEN and "(Unjustified)" or "(Justified)"))
end
return true
end

 
data/creaturescript/creaturescript.xml
<event type="death" name="Reward" event="script" value="hearts.lua"/>
 
data/creaturescript/scripts/loguin
 
antes do ultimo return true adicione essa tag
registerCreatureEvent(cid, "Reward")

 

Se ajudei da rep+ ae n custa nada :)

Editado por hempz (veja o histórico de edições)

Se Ajudei Clique no rep_up.png ao Lado, Não Custa nada :D!!

Link para o post
Compartilhar em outros sites
  • 5 months later...

A versão dele é TSF1.0 por isso que não da erro nem acontece

se alguem mandar o script aqui para TSF1.0 eu agradeço e dou REP

Estou precisando Também

                                                                    by : GOTD

                                                       :facepalm: esperando voce morrer..

 

 

                                                                 40% Scripter

                                                                 70% Mapper

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 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 luanluciano93
      Olá pessoal, resolvi criar um sistema de recompensa parecido com o sistema do tibia global para a versão 8.60, mas tie que fazer varias "gambiarras" para ele funcionar nesta versão.

      Para quem não conhece: http://www.tibiawiki.com.br/wiki/Loot#Sistema_de_Recompensas

      Basicamente meu sistema funciona da seguinte forma:
      • você determina as criaturas que irão funcionar com esse sistema (normalmente bosses).
      • durante a batalha com a criatura o sistema conta pontos aos jogadores por ataque, bloqueio e suporte ("healar" quem esta na batalha).
      • quando a criatura é morta o sistema cria um "loot" de acordo com os pontos e envia-o ao depot do jogador em uma bag determinada nas configurações.

      Primeiramente vamos criar o arquivo das configurações gerais, crie uma pasta dentro do "data" com o nome de sistemas e dentro cria um arquivo rewardchest.lua: 

      Depois em creaturescript crie dois arquivos:
      rewardchest_boss.lua:

      e rewardchest_pontos.lua: 

      Lembrando que em todas as criaturas que forem adicionadas ao sistema além de coloca-las no rewarchest.lua você deve add isso no xml do monstro: 
      <script> <event name="RewardChestDeath"/> <event name="RewardChestMonster"/> </script> E isso no creaturescript.xml: 
      <!-- Sistema de recompensa criado por luanluciano93 --> <event type="login" name="RewardChestLogin" event="script" value="rewardchest_pontos.lua"/> <event type="statschange" name="RewardChestStats" event="script" value="rewardchest_pontos.lua"/> <event type="death" name="RewardChestDeath" event="script" value="rewardchest_boss.lua"/> <event type="statschange" name="RewardChestMonster" event="script" value="rewardchest_boss.lua"/>
      Basicamente é isso, qualquer dúvida postem aqui ... abraços!

      LINK DO SCRIPT NO GITHUB: https://github.com/luanluciano93/ESTUDOS/tree/master/LUA/REWARD_SYSTEM_860
    • Por Qwizer
      Global 11/12x [v32]
       

       
       
      - New Falcons
      - New Asuras
      - Warzone 4,5,6
      - Exercise Training
      - Raids 100%
      - Monstros 100%
      - Trainer Offline 100%
      - Trainer Online 100%
      - Taming system funcionando 100%;
      - Database completa
      - War System 100%
      - Global MAP Full
      - Store 100%
      - Imbuement
      - Prey System
      - Entre outros sistemas.
       
      Projeto no: GITHUB

      Scan Vírus Total
       
      IMAGES
       
      Créditos:
       
       











    • Por Fausto32
      Então meu server tá praticamente terminado preciso apenas arrumar 5 Scripts q não consegui até agr de geito nem um '-' tenho todos falta apenas adapta-los ao meu server algum scripter c candidata? '-' nada demorado apenas pra isso
    • Por Fausto32
      Tenho varios mais nem um funciona \: Alguém ae sabe um funcionando perfeitamente ?
      Ahh é Hearth System eh aquele sisteminha de que quando um player mata o outro ele ganha o coração dele saka? com level q o cara morreu nome do carea pra quem ele morreu e o level de quem mato ele '-' então e isso ae
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo