Ir para conteúdo

Posts Recomendados

sistema funciona assim se player fica muito tempo sem comer ele vai morrendo de fome

ai ele perde porcentagem do seu life e vai morrendo se não comer nada ate que ele morre

16079308.png

 

check.lua

 

 

data\talkactions\scripts

cria check.lua e coloca isso

function onSay(cid, words, param)
if isPlayer(cid) and doPlayerSendTextMessage(cid, 22,"tempo ["..getPlayerFood(cid).."/1000] para comer") then
return true
end
end  

talkactions.xml

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

92780664.png

foi criando check

agora vai em

 

 

food.lua

 

 

data\actions\scripts\other

cria

food.lua

e coloca isso

local limite = 1000 -- limite não passar de 1000
local food =
--[id da comida] = {quanto aumenta no limite ,"palavra."},
{[2362] = {80, "Crunch."},
[2666] = {150, "Munch."},
[2667] = {120, "Munch."},
[2668] = {100, "Mmmm."},
[2669] = {170, "Munch."},
[2670] = {40, "Gulp."},
[2671] = {300, "Chomp."},
[2672] = {400, "Chomp."},
[2673] = {50, "Yum."},
[2674] = {60, "Yum."},
[2675] = {130, "Yum."},
[2676] = {80, "Yum."},
[2677] = {10, "Yum."},
[2678] = {180, "Slurp."},
[2679] = {10, "Yum."},
[2680] = {20, "Yum."},
[2681] = {90, "Yum."},
[2682] = {200, "Yum."},
[2683] = {170, "Munch."},
[2684] = {80, "Crunch."},
[2685] = {60, "Munch."},
[2686] = {90, "Crunch."},
[2687] = {20, "Crunch."},
[2688] = {90, "Munch."},
[2689] = {100, "Crunch."},
[2690] = {30, "Crunch."},
[2691] = {80, "Crunch."},
[2792] = {60, "Munch."},
[2793] = {90, "Munch."},
[2695] = {60, "Gulp."},
[2696] = {90, "Smack."},
[2787] = {90, "Munch."},
[2788] = {40, "Munch."},
[2789] = {220, "Munch."},
[2790] = {300, "Munch."},
[2791] = {300, "Munch."},
[2792] = {60, "Munch."},
[2794] = {30, "Munch."},
[2795] = {360, "Munch."},
[2796] = {50, "Munch."},
[2793] = {90, "Munch."},
[5097] = {40, "Yum."},
[6125] = {80, "Gulp."},
[6278] = {100, "Mmmm."},
[6279] = {150, "Mmmm."},
[6393] = {120, "Mmmm."},
[6394] = {150, "Mmmm."},
[6501] = {200, "Mmmm."},
[6541] = {60, "Gulp."},
[6542] = {60, "Gulp."},
[6543] = {60, "Gulp."},
[6544] = {60, "Gulp."},
[6545] = {60, "Gulp."},
[6569] = {10, "Mmmm."},
[6574] = {40, "Mmmm."},
[7158] = {150, "Munch."},
[7159] = {130, "Munch."},
[7372] = {70, "Yum."},
[7373] = {70, "Yum."},
[7374] = {70, "Yum."},
[7375] = {70, "Yum."},
[7376] = {70, "Yum."},
[7377] = {70, "Yum."},
[7909] = {40, "Crunch."},
[8838] = {70, "Gulp."},
[8839] = {50, "Yum."},
[8840] = {20, "Yum."},
[8841] = {30, "Urgh."},
[8842] = {30, "Munch."},
[8843] = {30, "Crunch."},
[8844] = {30, "Gulp."},
[8845] = {20, "Munch."},
[8847] = {110, "Yum."}
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
if(food[item.itemid] ~= nil) then
 if(getPlayerFood(cid) + food[item.itemid][1]) >= limite then
  doPlayerSendCancel(cid, "You are full.")
 else
  doPlayerFeed(cid, food[item.itemid][1] /2.8)
  doCreatureSay(cid, food[item.itemid][2], TALKTYPE_ORANGE_1)
  doRemoveItem(item.uid, 1)
 end
 return TRUE
end
return FALSE
end

ou troca food por esse ai cima

agora vai em

 

 

deathfood.lua

 

 

data\creaturescripts\scripts

cria deathfood.lua coloca isso

--- config by notle
death = 200 -- quando morre vai nascer com 200 de fome só edita
tp = 500 -- com 500 de fome ja começa a morrer
time = 2000 -- tempo que demora para sair life do player (1000 por segundos)
life = 5 -- porcentagem
--- config by notle
function onLogin(cid)
death_death(cid)  --   não mexe
death_food(cid) -- não mexe
registerCreatureEvent(cid, "deathfood")
return 1
end
function death_death(cid)
if isCreature(cid) and getPlayerFood(cid) <= 10 then
doPlayerFeed(cid,death/2.8)
end
end
function death_food(cid)
if isCreature(cid) then
if getPlayerFood(cid) <= tp then
pc = getCreatureMaxHealth(cid)/100
doCreatureAddHealth(cid, -math.floor((pc*life)))
doSendAnimatedText(getPlayerPosition(cid),"-"..math.floor(pc*life).."", math.random(144,145))
end
end
addEvent(death_food,time,cid)
return 1
end

creaturescripts.xml

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

16079308.png

 

 

 

 

 

 

 

 

 

 

 

 

Creditos

 

 

(creditos meu @notle2012 por ser criador) e do

(@BrenoNeto por ter a ideia )

 

Editado por notle2012
Link para o comentário
https://xtibia.com/forum/topic/209774-sistema-de-fome-para-os-players-by-notle/
Compartilhar em outros sites

Legal!, Gostei vou testar e por em meu projeto, Se for bom dou REP++ Vlw^^, acho que a maioria dos servers ja tem a action food, tem que substituir, ou se fazer food2 nao da problema? e faltou vc colocar oq tem q por em actions.xml Flw^^

Link para o comentário
https://xtibia.com/forum/topic/209774-sistema-de-fome-para-os-players-by-notle/#findComment-1487153
Compartilhar em outros sites

gostei

acho q vou colocar no meu ot

=)

 

 

edit:

como posso colocar pra em vez de ficar tirando life

deixa o cara mais fraco

 

perde 10% de skill

10% de speed

 

uma vez só

Editado por rohfagundes
Link para o comentário
https://xtibia.com/forum/topic/209774-sistema-de-fome-para-os-players-by-notle/#findComment-1487484
Compartilhar em outros sites

  • 1 month later...

Bom, estou revivendo o tópico por uma dúvida (ou bug). Quando o player perde life por falta de food, no server log do player aparece apenas o horário, e gostaria que aparecesse algo como por exemplo:

20:52 You lose 15 hitpoints due to food.

De toda forma você já ganhou meu rep+.

 

Edit@

 

"Com este sistema, o GOD também esta perdendo life e também pode morrer... como corrigir isto?

Editado por flagoa
Link para o comentário
https://xtibia.com/forum/topic/209774-sistema-de-fome-para-os-players-by-notle/#findComment-1513165
Compartilhar em outros sites

×
×
  • Criar Novo...