Podem ajudar ? Já fiz um item que da 10k de Life é possivel mudar a life para skill?Se puder eu posto para vocês darem uma olhada.
Ajuda?
Por mylorc, 23 de out. de 2013 em Scripts
Podem ajudar ? Já fiz um item que da 10k de Life é possivel mudar a life para skill?Se puder eu posto para vocês darem uma olhada.
Ajuda?
info
Grupo: Conde
Registrado: 16/09/07
Posts: 600
Reputação: +151
Gênero: Masculino
Char no Tibia: NãoJogoMais

Você tentou alterar a tag como eu postei?
Pois tem OTServ que identifica como doPlayerAddMagicLevel, se não me engano tive este problema antes.
Não deu certo.Estou postando o que da life aqui para você dar uma olhada,se você souber mudar life por ml me avisa:
function onUse(cid, item, fromPosition, itemEx, toPosition)
doRemoveItem(item.uid, 1)
doPlayerSendTextMessage(cid, 27, "You won 10.000 points of life.")
return setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + 10000)
end
info
Grupo: Marquês
Registrado: 03/02/13
Posts: 1.2k
Reputação: +254
Gênero: Masculino
Char no Tibia: Partiu Baladinha

Cara impossível não funcionar, você colocou a tag no actions.xml?
info
Grupo: Conde
Registrado: 16/09/07
Posts: 600
Reputação: +151
Gênero: Masculino
Char no Tibia: NãoJogoMais

Não deu certo.Estou postando o que da life aqui para você dar uma olhada,se você souber mudar life por ml me avisa:
function onUse(cid, item, fromPosition, itemEx, toPosition)
doRemoveItem(item.uid, 1)
doPlayerSendTextMessage(cid, 27, "You won 10.000 points of life.")
return setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + 10000)
end
Teste este abaixo:
function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 11296) >= 1 then doPlayerSendCancel(cid, "Voce ja usou este item.") else doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 11296, 1) doPlayerAddMagLevel(cid, (getPlayerMagLevel(cid))+10) doPlayerSendTextMessage(cid, 22, "Você recebeu 10 leveis de magic level.") return true end
Poste o resultado.
Adriano, não faltou um end ae não? Ou é só impressão minha?
info
Grupo: Marquês
Registrado: 03/02/13
Posts: 1.2k
Reputação: +254
Gênero: Masculino
Char no Tibia: Partiu Baladinha

Adriano, não faltou um end ae não? Ou é só impressão minha?
function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 11296) >= 1 then doPlayerSendCancel(cid, "Voce ja usou este item.") else doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 11296, 1) doPlayerAddMagLevel(cid, (getPlayerMagLevel(cid))+10) doPlayerSendTextMessage(cid, 22, "Você recebeu 10 leveis de magic level.") end return true end
@adriano é difícil identar o script? *-*
Editado Outubro 28 por Fawz
Desculpa a pergunta de nb, mas como se identa aqui no xtibia? ._.
Eu idento tudo bunitin e talz, só q quando vou passar pra cá, fica "normal".
Editado Outubro 28 por zipter98
Sim coloquei.E o item não funciona,nem chega a dar 10 ml para o player.
info
Grupo: Marquês
Registrado: 03/02/13
Posts: 1.2k
Reputação: +254
Gênero: Masculino
Char no Tibia: Partiu Baladinha

Tentemos assim:
Em creaturescripts crie um arquivo e cole isso dentro:
function onLogin(cid)
local pid = getPlayerGUID(cid)
local cfg = { stg = 15498, -- storage dada ao usar o item.
ml = 10, -- qtd de ml
}
if getPlayerStorageValue(cid, cfg.stg) <= 1 then
doRemoveCreature(cid)
db.query("UPDATE `players` SET `maglevel` = `maglevel` + 10 WHERE `id` = "..pid)
setPlayerStorageValue(cid, cfg.stg, 2)
else
return false
end
return TRUE
end
Em data/actions cole isso:
function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 15498) >= 1 then doPlayerSendCancel(cid, "vc já usou o item de ml.") return true elseif doRemoveItem(item.uid, 1) then setPlayerStorageValue(cid, 15498, 1) doPlayerSendTextMessage(cid, 22, "Porfavor, relogue seu personagem.") end return true end
@Edit:
Se caso os de cima não funcionar, tente com esse:
function onUse(cid, item, fromPosition, itemEx, toPosition)
local item = 2160, -- id do item
local pid = getPlayerGUID(cid)
if getPlayerStorageValue(cid, 15499) <= 1 then
elseif doPlayerRemoveItem(cid, item) then
doRemoveCreature(cid)
db.query("UPDATE `players` SET `maglevel` = `maglevel` + 10 WHERE `id` = "..pid)
return TRUE
else
return false
end
end
Ps: sou iniciante ainda, caso alguém mais experiente, ache um erro me fale ![]()
Editado Outubro 28 por Fawz
info
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: Jabuti Selvagem

Fawz eu achei meio estranho esse elseif, acho q ia ficar melhor assim
function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 15498) >= 1 then doPlayerSendCancel(cid, "vc já usou o item de ml.") return false end if doRemoveItem(item.uid, 1) then setPlayerStorageValue(cid, 15498, 1) doPlayerSendTextMessage(cid, 22, "Porfavor, relogue seu personagem.") end return true end
Sim,eu coloquei. E mesmo assim não funciona,o item não chega a dar 10 de ML para o player.Pode ajudar?
info
Grupo: Marquês
Registrado: 03/02/13
Posts: 1.2k
Reputação: +254
Gênero: Masculino
Char no Tibia: Partiu Baladinha

Tentou com o que postei?
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake
Usar condition não resolve, quando o player fizer logout vai sair.
O mais certo é usar doPlayerAddMagLevel(cid, amount) ou pela database mesmo, fazendo logout no player e modificando.