Ir para conteúdo

Sistema de Sentar


Posts Recomendados

É um sistema do tipo Ragnarok em que ao usar a talk, o player ficará imóvel e seu life e mana irão subir.

Vamos ao script!

Em data/talkactions/scripts, crie um arquivo com o nome de sentar.lua e adicione:



local sentar = {health = 5, mana = 5}
local storage = 12345

function onSay(cid, words)

if getTilePzInfo(getPlayerPosition(cid)) then
if getPlayerStorageValue(cid, 12345) == -1 then
doCreatureSay(cid, "Ahh, vou descansar...", TALKTYPE_MONSTER)
doSendMagicEffect(getCreaturePosition(cid), 1)
doPlayerAddHpManaSentar(cid, sentar)
doCreatureSetNoMove(cid, true)
setPlayerStorageValue(cid, 12345, 1)
else
setPlayerStorageValue(cid, 12345, -1)
doCreatureSetNoMove(cid, false)
doCreatureSay(cid, "Já descansei.", TALKTYPE_MONSTER)
stopEvent(hpmana)
end
end
return true
end

function doPlayerAddHpManaSentar(cid, formula)
if not isCreature(cid) then return true end
doCreatureAddHealth(cid, formula.health)
doCreatureAddMana(cid, formula.mana)
hpmana = addEvent(doPlayerAddHpManaSentar, 5000, cid, formula)
end[/code]

[b]Agora em talkactions.xml adicione a tag:[/b]

<talkaction words="!sentar" event="script" value="sentar.lua"/>



Imagens:

sentar1.png

sentar2.png


É isso ai galera, espero que isso sirva pra alguém.
Abraços e até semana que vem! ;)




Créditos: LuckOake por ajudar com storage.

Link para o comentário
Compartilhar em outros sites

Qual o erro?

 

@EDIT

Está usando a talk em pz?

Só funciona se estiver em pz.

 

@EDIT2

Adicionado imagens ao tópico.

 

@EDIT3

Tenta agora.

 

 

local sentar = {health = 5, mana = 5}

local storage = 12345

 

function onSay(cid, words)

 

if getTilePzInfo(getPlayerPosition(cid)) then

if getPlayerStorageValue(cid, 12345) == -1 then

doCreatureSay(cid, "Ahh, vou descansar...", TALKTYPE_MONSTER)

doSendMagicEffect(getCreaturePosition(cid), 1)

doPlayerAddHpManaSentar(cid, sentar)

doCreatureSetNoMove(cid, true)

setPlayerStorageValue(cid, 12345, 1)

else

setPlayerStorageValue(cid, 12345, -1)

doCreatureSetNoMove(cid, false)

doCreatureSay(cid, "Já descansei.", TALKTYPE_MONSTER)

stopEvent(hpmana)

end

end

return true

end

 

function doPlayerAddHpManaSentar(cid, formula)

if not isCreature(cid) then return true end

doCreatureAddHealth(cid, formula.health)

doCreatureAddMana(cid, formula.mana)

hpmana = addEvent(doPlayerAddHpManaSentar, 5000, cid, formula)

end

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

Vou fazer aqui pra você cara.

 

@EDIT

Tenta isso:

 

 

 

local sentar = {health = 5, mana = 5}

local storage = 12345

 

local outfits = {

[1] = {lookType = 200},

[2] = {lookType = 201},

[3] = {lookType = 202}

}

 

function onSay(cid, words)

 

if getTilePzInfo(getPlayerPosition(cid)) then

if getPlayerStorageValue(cid, 12345) == -1 then

doCreatureSay(cid, "Ahh, vou descansar...", TALKTYPE_MONSTER)

doSetCreatureOutfit(cid, config.outfit, -1)

doSendMagicEffect(getCreaturePosition(cid), 1)

doPlayerAddHpManaSentar(cid, sentar)

doCreatureSetNoMove(cid, true)

setPlayerStorageValue(cid, 12345, 1)

else

setPlayerStorageValue(cid, 12345, -1)

doCreatureSetNoMove(cid, false)

doCreatureSay(cid, "Já descansei.", TALKTYPE_MONSTER)

stopEvent(hpmana)

local voc_id = getPlayerVocation(cid)

if getPlayerVocation(cid) > 0 then

doSetCreatureOutfit(cid, outfits[voc_id], -1)

end

end

return true

end

 

function doPlayerAddHpManaSentar(cid, formula)

if not isCreature(cid) then return true end

doCreatureAddHealth(cid, formula.health)

doCreatureAddMana(cid, formula.mana)

hpmana = addEvent(doPlayerAddHpManaSentar, 5000, cid, formula)

end

 

Aqui você configura:

 

[1] = {lookType = 200}, -- o numero 1 é o ID da vocação e 200 é o ID do looktype.
[2] = {lookType = 201}, -- o numero 2 é o ID da vocação e 201 é o ID do looktype.
[3] = {lookType = 202}, -- o numero 1 é o ID da vocação e 202 é o ID do looktype.  

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

Gostei muito da criatividade Psy, parabéns!

Logo que vi o título, pensei que era sistema em que o player senta-se (a bundinha, o movimento), só que ai entrei no tópico e vi que não era, mas, era bem mais legal.

 

Achei bem criativo. Gostei da criatividade, que na qual, a cada segundo que o player vai descansando, vai almentando hp e mana, achei bem legal¹²³, show mano!

 

Você já atingiu seu limite de reputações positivas para hoje

Link para o comentário
Compartilhar em outros sites

1 Que eu sempre quis ver , não sei se existe é o sistema de vampiro , que quando alguem está numa batalha com um vampire tem chance de sofrer mutação.. nessa mutação a pessoa iria se transformando aos poucos em vampiro e dai varias coisas também, é um bem complicado mais será top de +

Link para o comentário
Compartilhar em outros sites

*----------*

Valew ThiagoBji!

Obrigado pelo seu comentário mano, é de grande incentivo!

Vou procurar evoluir e estar trazendo sempre conteúdos novos para o fórum.

Abraços!

 

@Gorenn

Seria este?

http://www.xtibia.com/forum/topic/210319-perfect-zombie-system-event/

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

De nada mano! Se quiser ideias de sistemas é só me pedir que eu á qualquer hora tenho ideias shows, se quiser, tamo ai.

Me adiciona ou aceita lá no MSN, pra nós batermos um papinho sobre ideias de sistemas pra você fazer, pra você treinar, etcs.

 

MSN: Thiago.WIllian2012@hotmail.com

 

Tudo de bom pra você mano, abraços.

Link para o comentário
Compartilhar em outros sites

Não , na verdade falei em estilo rpg , lutando contra um inimigo vampire você pegar a infecção e virar um vampire com novas magias etc e é claro seria foda também se perdesse vida se estivesse dia !

 

É bem rpgistico estilo skyrim uhauhahua mais se existisse um Projeto Bom de Rpg ficaria muito legal

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...