Ir para conteúdo
  • 0

Script de Fome :O


BrenoNeto

Pergunta

Eai galera do Ekz, bom, estou precisando muito de um sistema de fome, não faço idéia de como fazer, não entendo nada de scripiting, então espero que alguém consiga me ajudar.

Basicamente a script seria, o player tem ou uma barra de fome como uma cool down bar do poketibia [uso OTClient] , ou ele digita !check ou algo assim e aparece sei la Fome : 50/100

dai vai descendo, por tempo EX: 2 mins 1%. e quando chega no 0, o player começa a morrer a não ser que coma.

 

Não faço ideia de como fazer, e não faço ideia se tem como fazer. Mesmo assim obrigado :D caso alguém consiga ctz que será reputado. VLWWW!

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

  • Respostas 49
  • Created
  • Última resposta

Top Posters For This Question

Top Posters For This Question

Posts Recomendados

  • 0

@BrenoNeto

só não crio cool down bar no otclient

pq não mexo nessas paradas :)

 

se quiser usa esse

data\globalevents\scripts\death.lua

 

 

function onThink(interval, lastExecution)
time = 1100 -- (tempo 1000 por segundos)
sto = 15725 --
--{de = 500, ate = 400, perde 25 de life}
t = {{limin = 500, limim = 400,life = 25},
{limin = 399, limim = 300,life = 35},
{limin = 299, limim = 200,life = 50},
{limin = 199, limim = 100,life = 80},
{limin = 99, limim = 0,life = 160}}
death()   -- não mexe
return 1
end
function death()
for _, name in ipairs(getOnlinePlayers()) do
if getPlayerStorageValue(getPlayerByName(name), sto) >= os.time() then return true end
if isCreature(getPlayerByName(name)) then
for i = 1,#t do
if getPlayerFood(getPlayerByName(name)) <= t[i].limin and getPlayerFood(getPlayerByName(name)) >= t[i].limim  then
doCreatureAddHealth(getPlayerByName(name), -t[i].life)
doSendAnimatedText(getPlayerPosition(getPlayerByName(name)),""..t[i].life.."", math.random(144,145))
addEvent(death,time,getPlayerByName(name))
setPlayerStorageValue(getPlayerByName(name), sto, os.time() + time / 1000)
end
end
end
end
end

 

 

 

tem que edita os red

{de = 500, ate = 400, perde 25 de life}

{{limin = 500, limim = 400,life = 25},

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

  • 0

Tenta ai:

 

 

function onThink(interval, lastExecution)

morre = 600 -- com mas ou menos 600 ja começa a morrer

life = 25 -- quanto de life player vai perdendo

time = 1100 -- (tempo 1000 por segundos)

sto = 15725 --

if death() then -- não mexe

doPlayerSendCancel(cid,"Death noob!")

end

return 1

end

function death()

for _, name in ipairs(getOnlinePlayers()) do

if getPlayerStorageValue(getPlayerByName(name), sto) >= os.time() then return true end

if isCreature(getPlayerByName(name)) then

if getPlayerFood(getPlayerByName(name)) <= morre then

doCreatureAddHealth(getPlayerByName(name), -life)

addEvent(death, 2000,getPlayerByName(name))

doSendAnimatedText(getPlayerPosition(getPlayerByName(name)),""..life.."", math.random(144,145))

setPlayerStorageValue(getPlayerByName(name), sto, os.time() + time / 1000)

end

end

return true

end

end

 

Link para o comentário
Compartilhar em outros sites

  • 0

alguem faz um onDeath botando a food no maximo denovo... ;x

 

vo deletar n.. vai continuar full... n do mais suporte por PM... crie um topico na area de pedidos e duvidas de clientes... good luck

\/

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

  • 0

Sim, você da use na food, e sua fome "sobe" por exemplo, come um meat, a fome ta 100/1000, apos comer fica 300/1000, e vai caindo 1 por segundo, 299/1000, 298/1000

 

@Slicer- deleta umas mensagens do seu perfil mano, to tentando de enviar um mp com uma duvida sobre o otclient e n to conseguindo kk'

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

  • 0

Ah entendi, acho que é assim, tenta ai, em data/creaturescripts/scripts, crie um arquivo chamado deathfood.lua e ponha dentro:

 

 

function onDeath(cid, corpse, killer)

if isPlayer(cid) then

doPlayerFeed(cid, 1000)

end

return true

end

 

 

E em creaturescripts.xml coloque essa tag:

 

	<event type="death" name="DeathFood" event="script" value="deathfood.lua"/>

 

Em login.lua, antes da última linha, coloque:

 

registerCreatureEvent(cid, DeathFood)

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

  • 0

Continua morrendo após ter morrido. Algo errado na creaturescript,

 

[Error GlobalEvent Interface]

data/globalevents/scripts/death.lua:onThink

Description:

<luaDoPlayerSendCancel>Player Not Found.

Mais está funcionando. menos na parte da fome acabar após morrer.

Link para o comentário
Compartilhar em outros sites

  • 0

 

 

function onThink(interval, lastExecution)

morre = 600 -- com mas ou menos 600 ja começa a morrer

life = 25 -- quanto de life player vai perdendo

time = 1100 -- (tempo 1000 por segundos)

sto = 15725 --

if death() then -- não mexe

end

return 1

end

function death()

for _, name in ipairs(getOnlinePlayers()) do

if getPlayerStorageValue(getPlayerByName(name), sto) >= os.time() then return true end

if isCreature(getPlayerByName(name)) then

if getPlayerFood(getPlayerByName(name)) <= morre then

doCreatureAddHealth(getPlayerByName(name), -life)

addEvent(death, 2000,getPlayerByName(name))

doSendAnimatedText(getPlayerPosition(getPlayerByName(name)),""..life.."", math.random(144,145))

setPlayerStorageValue(getPlayerByName(name), sto, os.time() + time / 1000)

end

end

return true

end

end

 

 

 

E

 

 

 

function onDeath(cid, corpse, killer)

if isPlayer(cid) and getPlayerFood(cid) < 1000 then

doPlayerFeed(cid, 1000)

end

return true

end

 

Link para o comentário
Compartilhar em outros sites

  • 0

A creature script n funfo, sempre q morro, relogo e continuo morrendo se eu n comer :c

Como coonfiguro a script pro player perder o life em porcentagem, exemplo, 5% ao invez de perder 25 de life ? para não beneficiar players com level mais alto

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

Visitante
Este tópico está impedido de receber novos posts.

×
×
  • Criar Novo...