LO

[PEDIDO] - Limite de MANA e HP !

Por Lordzinho, 10 de fev. de 2014 em Scripts

script
10
2.7k
LordzinhoL
10 de fevereiro de 2014 às 21:14

Eae pessoal !!


Estou querendo uma script que possar dar limite no HP e na MANA dos players !



Tipo, tenho um servidor de high experience , dai , o player ganha HP e mana extra por reset , ou no uso,



do "LifeScroll", dai quando chega ao "55-58" resets, o mana do player fica 0 e o HP fica 1



Ou seja , passando de 2 Bilhões de hp ou mana , ambos bugão .



Preciso muito desta script ! Valeuu !


Rep + eim :#



OBS :


TFS 0.3.6


8.6


Editado Fevereiro 10 por rulezzz

IncurI
11 de fevereiro de 2014 às 00:04

Cria um arquivo .lua chamado maxhpmp no data/creaturescripts/scripts e cola isso:

 

 

function onAdvance(cid, skill, oldLevel, newLevel)
        if skill == SKILL__LEVEL then
    	    if (getCreatureMaxHealth(cid) > 2000000000) then
	    setCreatureMaxHealth(cid, 2000000000)
	    end
	    if (getCreatureMaxMana(cid) > 2000000000) then
	    setCreatureMaxMana(cid, 2000000000)
	    end
        end
return true
end

function onLogin(cid)
	if (getCreatureMaxHealth(cid) > 2000000000) then
	setCreatureMaxHealth(cid, 2000000000)
	end
	if (getCreatureMaxMana(cid) > 2000000000) then
	setCreatureMaxMana(cid, 2000000000)
	end
return true
end

 

Agora no data/creaturescripts/creaturescripts.xml coloca essa tag:

	<event type="login" name="MaxHpMpLogin" event="script" value="maxhpmp.lua"/>
	<event type="advance" name="MaxHpMpAdvance" event="script" value="maxhpmp.lua"/>

E no login.lua da pasta scripts:

	registerCreatureEvent(cid, "MaxHpMpAdvance")

Editado Fevereiro 11 por Incur

luannhrjL
11 de fevereiro de 2014 às 00:13

ai tem como aumentar esse valor ?, tipo colocar pro hp ir até 4 bilhoes?

11 de fevereiro de 2014 às 00:42

2000000000 coloca 4000000000

function onAdvance(cid, skill, oldLevel, newLevel)
        if skill == SKILL__LEVEL then
            if (getCreatureMaxHealth(cid) > 2000000000) then
        setCreatureMaxHealth(cid, 2000000000)
        end
        if (getCreatureMaxMana(cid) > 2000000000) then
        setCreatureMaxMana(cid, 2000000000)
     end
     end
return true
end

function onLogin(cid)
    if (getCreatureMaxHealth(cid) > 2000000000) then
    setCreatureMaxHealth(cid, 2000000000)
    end
    if (getCreatureMaxMana(cid) > 2000000000) then
    setCreatureMaxMana(cid, 2000000000)
    end
return true
end

todos os creditos são do Incur .

so to te explicando

LordfireL
11 de fevereiro de 2014 às 01:49

2000000000 coloca 4000000000

function onAdvance(cid, skill, oldLevel, newLevel)
        if skill == SKILL__LEVEL then
            if (getCreatureMaxHealth(cid) > 2000000000) then
        setCreatureMaxHealth(cid, 2000000000)
        end
        if (getCreatureMaxMana(cid) > 2000000000) then
        setCreatureMaxMana(cid, 2000000000)
     end
     end
return true
end

function onLogin(cid)
    if (getCreatureMaxHealth(cid) > 2000000000) then
    setCreatureMaxHealth(cid, 2000000000)
    end
    if (getCreatureMaxMana(cid) > 2000000000) then
    setCreatureMaxMana(cid, 2000000000)
    end
return true
end
todos os creditos são do Incur .

so to te explicando

 

Não vai funcionar. Health é um int32 https://github.com/otland/forgottenserver/blob/master/src/creature.h

11 de fevereiro de 2014 às 02:28

e em 2000000000 vai funcionar ?


eu so mudei o numero do script do incur ;s

IncurI
11 de fevereiro de 2014 às 12:35

Vai funcionar sim.. é que no int32 o máximo é 2147483647 (2^31-1).. mas melhor não colocar esse número. Deixa 2bi mesmo.

 

-- A resposta pro luannhrj é que tem sim.. mas precisaria de edições nas sources... mais especificamente, trocar int32 para int64... o que deixaria com limite de ~9 quintilhão. Mas acho desnecessário... sério...

Editado Fevereiro 11 por Incur

LordzinhoL
11 de fevereiro de 2014 às 15:11

@Incur , REP + :B

Thx!

11 de fevereiro de 2014 às 15:34

Dei uma olhada no link que o lordfire postou ae .
achei tb que n tinha limite ;s

zipter98Z
11 de fevereiro de 2014 às 16:27

Tópico movido para a seção de dúvidas e pedidos resolvidos.