Ir para conteúdo

Featured Replies

Postado

.Qual servidor ou website você utiliza como base? 

 

OTServBR-Global, TFS 1.3

 

Qual o motivo deste tópico? 

 

Galera, estou tentando implementar um sistema que a princípio parece simples (e deve ser mesmo), mas que está me tirando o sono hahaha

 

A ideia é a do título mesmo, ao matar um monstro o player tem a chance de aprender uma determinada spell.

Dei uma pesquisada, criei um script, entretanto ele não funciona (e não da erro no log do servidor)
Alguém poderia me dar um help? Provavelmente devo estar escrevendo o código errado, faz tempo que não sei o que é programação :v

 

Desde já obrigado!

 

 

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

function onKill(creature, target)
    local targetMonster = target:getMonster()
    if not targetMonster or targetMonster:getName():lower() ~= 'rat' then
        return true
    end

local magia = "Light"

    if getPlayerLearnedInstantSpell(cid, magia) then
        doPlayerSendTextMessage(cid,25,"Você já aprendeu essa magia.")
    elseif playerLearnInstantSpell(cid, magia) then
        local position = getCreaturePosition(cid)
        doSendMagicEffect(position, 13)
        doPlayerSendTextMessage(cid,19,"Você absorveu os poderes de "..magia..".")
    end
end

 

  • Respostas 8
  • Visualizações 1.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Em data/creaturescripts/scripts, crie um arquivo.lua e cole isto dentro: local t = { ["rotworm"] = {name = "light", level = 8}, ["dwarf"] = {name = "haste", level = 15}, ["dwarf soldie

Posted Images

Postado
Citar

Dei uma pesquisada, criei um script, entretanto ele não funciona (e não da erro no log do servidor)

Você carregou o script onde? Pelo que eu entendi do seu script,ele será um evento global(pois toda vez que ele matar um monstro terá que chamar o seu script)então ele tem que ser carregado no globalevent.lua

Contribuições:
 

=> Distribuições/Servidores

  1. [8.60] The Forgotten Server 1.3 (COMPILADO WIN x64)

 

=> Scripts/Códigos/Tutoriais

  1. Pokemon pescado aparece em volta do seu pokemon
  2. [Gesior]Dobrar pontos PagSeguro a partir de x valor doado

 

 Gostou de alguma contribuição? Rep +?

Postado
  • Autor
27 minutos atrás, Rayo disse:

Você carregou o script onde? Pelo que eu entendi do seu script,ele será um evento global(pois toda vez que ele matar um monstro terá que chamar o seu script)então ele tem que ser carregado no globalevent.lua

 

Carreguei no creaturescripts, porque peguei scripts de base nesse mesmo diretório, vou ver isso ai de colocar no globalevents!

Postado

Em data/creaturescripts/scripts, crie um arquivo.lua e cole isto dentro:

local t = {
    ["rotworm"] = {name = "light", level = 8},
    ["dwarf"] = {name = "haste", level = 15},
    ["dwarf soldier"] = {name = "heal friend", level = 10}
}

function onKill(creature, target)
    local targetMonster = target:getMonster()
    if not targetMonster then return true end
    if isSummon(target:getId()) then return true end
    local m = t[targetMonster:getName():lower()] 
    if not m then return true end
    local player = creature:getPlayer()
    if not player then return true end
    if player:canLearnSpell(m.name) and not player:hasLearnedSpell(m.name) then
        if player:getLevel() >= m.level then
            player:learnSpell(m.name)
            player:getPosition():sendMagicEffect(CONST_ME_HOLYAREA)
            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have learnt the spell '" .. m.name .. "'. Open your spellbook and the check the words.")
        end
    end
    return true
end

No creaturescripts.xml, adicione a tag:

<event type="kill" name="MonsterSpell" script="NOMEDOARQUIVO.lua" />

Em data/creaturescripts/scripts/login.lua, adicione a linha:

player:registerEvent("MonsterSpell")

Não tive como testar, mas creio que funcionará. Edite o nome do monstro, o nome da magia e o level mínimo para aprender a magia conforme os exemplos que deixei.

Contato:

 

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo