Ir para conteúdo

Featured Replies

Postado

.Qual servidor ou website você utiliza como base? 

TFS 1.3

Qual o motivo deste tópico? 

Suporte

 

Qual problema?

Na minha pasta data não tinha creaturescripts e muito menos o arquilo .xml, como eu queria adicionar o sistema de upar de level e ganhar recompensa eu criei essa pasta e um arquivo .xml colocando essas informações, mas mesmo assim não pega no servidor, ja tentei de tudo, até mesmo outros codigos!

 

Você tem o código disponível? Se tiver publique-o aqui: 

creaturescripts.xml

<?xml version="1.0" encoding="UTF-8"?>
<creaturescripts>
 
    <!-- RECOMPENSA POR LEVEL -->
    <event type="advance" name="Recompensa" scripts="recompensa.lua"/>
   
</creaturescripts>

 

recompensa.lua

 

local table =
{
    -- [level] = type = "item", id = {ITEM_ID, QUANTIDADE}, msg = "MENSAGEM"},
    -- [level] = type = "bank", id = {QUANTIDADE, 0}, msg = "MENSAGEM"},
    -- [level] = type = "addon", id = {ID_ADDON_FEMALE, ID_ADDON_MALE}, msg = "MENSAGEM"},
    -- [level] = type = "mount", id = {ID_MOUNT, 0}, msg = "MENSAGEM"},
 
    [20] = {type = "item", id = {2160, 2}, msg = "Voce ganhou 2 crystal coins por alcancar o level 20!"},
    [30] = {type = "bank", id = {20000, 0}, msg = "Foi depositado em seu bank 20000 gold coints!"},
    [40] = {type = "addon", id = {136, 128}, msg = "Voce ganhou o addon citizen full por alcancar o level 40!"},
    [60] = {type = "mount", id = {2, 0}, msg = "Voce ganhou a montaria x!"},
}
 
local storage = 15000
 
function onAdvance(player, skill, oldLevel, newLevel)
 
    if skill ~= SKILL_LEVEL or newLevel <= oldLevel then
        return true
    end
 
    for level, _ in pairs(table) do
        if newLevel >= level and player:getStorageValue(storage) < level then
            if table[level].type == "item" then
                player:addItem(table[level].id[1], table[level].id[2])
            elseif table[level].type == "bank" then
                player:setBankBalance(player:getBankBalance() + table[level].id[1])
            elseif table[level].type == "addon" then
                player:addOutfitAddon(table[level].id[1], 3)
                player:addOutfitAddon(table[level].id[2], 3)
            elseif table[level].type == "mount" then
                player:addMount(table[level].id[1])
            else
                return false
            end
 
            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, table[level].msg)
            player:setStorageValue(storage, level)
        end
    end
 
    player:save()
 
    return true
end

 

 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

587063878_Semttulo.thumb.png.c5b28a74df603d0897d36c2ae27dedaa.pngPASTA DATAimage.thumb.png.2320f62c23f412b93654dbccf5fa5294.png PASTA CREATURESCRIPTSimage.thumb.png.4aed56eda2730e08ca21fa23026b4b19.png PASTA SCRIPTS

Resolvido por Toruk

Ir para solução
Postado
  • Solução

Só por o script em data/scripts/creaturescripts: 

** Lembre que o script tem que ser escrito em lua (sem por nada em XML) **

 

local table = {
    -- [level] = type = "item", id = {ITEM_ID, QUANTIDADE}, msg = "MENSAGEM"},
    -- [level] = type = "bank", id = {QUANTIDADE, 0}, msg = "MENSAGEM"},
    -- [level] = type = "addon", id = {ID_ADDON_FEMALE, ID_ADDON_MALE}, msg = "MENSAGEM"},
    -- [level] = type = "mount", id = {ID_MOUNT, 0}, msg = "MENSAGEM"},
    [20] = {type = "item", id = {2160, 2}, msg = "Voce ganhou 2 crystal coins por alcancar o level 20!"},
    [30] = {type = "bank", id = {20000, 0}, msg = "Foi depositado em seu bank 20000 gold coints!"},
    [40] = {type = "addon", id = {136, 128}, msg = "Voce ganhou o addon citizen full por alcancar o level 40!"},
    [60] = {type = "mount", id = {2, 0}, msg = "Voce ganhou a montaria x!"},
}
 
local storage = 15000

local event = CreatureEvent("advanceRewards")

function event.onAdvance(player, skill, oldLevel, newLevel)
 
    if skill ~= SKILL_LEVEL or newLevel <= oldLevel then
        return true
    end
 
    for level, _ in pairs(table) do
        if newLevel >= level and player:getStorageValue(storage) < level then
            if table[level].type == "item" then
                player:addItem(table[level].id[1], table[level].id[2])
            elseif table[level].type == "bank" then
                player:setBankBalance(player:getBankBalance() + table[level].id[1])
            elseif table[level].type == "addon" then
                player:addOutfitAddon(table[level].id[1], 3)
                player:addOutfitAddon(table[level].id[2], 3)
            elseif table[level].type == "mount" then
                player:addMount(table[level].id[1])
            else
                return false
            end
 
            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, table[level].msg)
            player:setStorageValue(storage, level)
        end
    end
 
    player:save()
 
    return true
end

event:register()

 

Postado
  • Autor
  Em 08/06/2022 em 14:23, Toruk disse:

Só por o script em data/scripts/creaturescripts: 

** Lembre que o script tem que ser escrito em lua (sem por nada em XML) **

 


local table = {
    -- [level] = type = "item", id = {ITEM_ID, QUANTIDADE}, msg = "MENSAGEM"},
    -- [level] = type = "bank", id = {QUANTIDADE, 0}, msg = "MENSAGEM"},
    -- [level] = type = "addon", id = {ID_ADDON_FEMALE, ID_ADDON_MALE}, msg = "MENSAGEM"},
    -- [level] = type = "mount", id = {ID_MOUNT, 0}, msg = "MENSAGEM"},
    [20] = {type = "item", id = {2160, 2}, msg = "Voce ganhou 2 crystal coins por alcancar o level 20!"},
    [30] = {type = "bank", id = {20000, 0}, msg = "Foi depositado em seu bank 20000 gold coints!"},
    [40] = {type = "addon", id = {136, 128}, msg = "Voce ganhou o addon citizen full por alcancar o level 40!"},
    [60] = {type = "mount", id = {2, 0}, msg = "Voce ganhou a montaria x!"},
}
 
local storage = 15000

local event = CreatureEvent("advanceRewards")

function event.onAdvance(player, skill, oldLevel, newLevel)
 
    if skill ~= SKILL_LEVEL or newLevel <= oldLevel then
        return true
    end
 
    for level, _ in pairs(table) do
        if newLevel >= level and player:getStorageValue(storage) < level then
            if table[level].type == "item" then
                player:addItem(table[level].id[1], table[level].id[2])
            elseif table[level].type == "bank" then
                player:setBankBalance(player:getBankBalance() + table[level].id[1])
            elseif table[level].type == "addon" then
                player:addOutfitAddon(table[level].id[1], 3)
                player:addOutfitAddon(table[level].id[2], 3)
            elseif table[level].type == "mount" then
                player:addMount(table[level].id[1])
            else
                return false
            end
 
            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, table[level].msg)
            player:setStorageValue(storage, level)
        end
    end
 
    player:save()
 
    return true
end

event:register()

 

Funcionou certinho, obrigado!!! <3 +REP

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo