Ir para conteúdo

[Creatureevents] Promotion Ao Atingir Level 20


allan1001

Posts Recomendados

Bom, tava sem nada para fazer resolvir criar esse script sódizuera,

não tenho ctz mais eu nunca vi aqui no Xtibia ou em qualquer outro forum.

 

Oq ele Faz?

R: Quando o Player upar level 20 (configurável) ele ganha promotion.

 

Bom vamos la então.

 

1- Crie um arquivo com o nome de "promotion.lua" (sem aspas) em : data/creaturescripts/scripts.

Adicione este code:

--- Created by Allan.

--[inicio das Configurações]--
local config = {
level = 20,                                              -- Level que o player vai ser promovido.
storage = 2020,                                          -- Storage Value que vai ser usado.
msg = "Parabéns, você foi promovido com sucesso!",       -- Mensagem enviada quando atingir o level necessário.
msgtype = MESSAGE_EVENT_ADVANCE                          -- Tipo da mensagem enviada. 
}
--[Fim das Configurações]--

function onAdvance(cid, oldLevel, newLevel)
if getPlayerStorageValue(cid, config.storage) == -1 and getPlayerLevel(cid) >= config.level then
setPlayerPromotionLevel(cid, 1)
doPlayerSendTextMessage(cid, config.msgtype, config.msg)
setPlayerStorageValue(cid, config.storage, 1)
end
return TRUE
end

 

2- Em, data/creaturescripts abra o arquivo creaturescripts.xml.

Adicione a tag:

<event type="advance" name="promotion" event="script" value="promotion.lua"/> 

 

3- Em, data/creaturescripts/scripts abra o arquivo longin.lua.

Adicione esta linha antes do ultimo return true :

registerCreatureEvent(cid, "promotion")

 

 

Qualquer duvida postar aqui.

Se forem postar em outro forum, coloque os meus creditos.

 

Sem Mais, allan :*

Editado por allan1001
Link para o comentário
Compartilhar em outros sites

MEU DEUS VELHO,VOCÊ ESTA USANDO function onKill ?????????

o correto não seria function onAdvance não?

sem comentarios.

 

Prontinhu ja arrumei, tinha me esquecido da função onAdvance, rs valeu por me lembrar.

Editado por allan1001
Link para o comentário
Compartilhar em outros sites

cara coloca ae para soh premium account receber promotion.

Ta ae do jeito que você pediu...só ganha promotion se o jogador for premiun.

 


--- Created by Allan.

--[inicio das Configurações]--
local config = {
level = 20,                                              -- Level que o player vai ser promovido.
storage = 2020,                                          -- Storage Value que vai ser usado.
msg = "Parabéns, você foi promovido com sucesso!",       -- Mensagem enviada quando atingir o level necessário.
msgtype = MESSAGE_EVENT_ADVANCE                          -- Tipo da mensagem enviada. 
}
--[Fim das Configurações]--

function onAdvance(cid, oldLevel, newLevel)
if getPlayerStorageValue(cid, config.storage) == -1 and getPlayerLevel(cid) >= config.level and isPremium(cid) == TRUE then
setPlayerPromotionLevel(cid, 1)
doPlayerSendTextMessage(cid, config.msgtype, config.msg)
setPlayerStorageValue(cid, config.storage, 1)
end
return TRUE
end
Link para o comentário
Compartilhar em outros sites

A função OnAdvance é para quando o jogador passar de level ser executada uma ação,nesse caso será executada quando o jogador tiver no level 20,então se ele não possuir a storage o script será executado e ele ganhará a promotion.

ai supondo que ele morre no level 20 e volte pro 19,o script não será executado novamente porque ele já ganhou a promotion e a storage irá checar isso...entendeu?

Link para o comentário
Compartilhar em outros sites

A função OnAdvance é para quando o jogador passar de level ser executada uma ação,nesse caso será executada quando o jogador tiver no level 20,então se ele não possuir a storage o script será executado e ele ganhará a promotion.

ai supondo que ele morre no level 20 e volte pro 19,o script não será executado novamente porque ele já ganhou a promotion e a storage irá checar isso...entendeu?

 

vlw ae pela explicação!!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...