PH
creatureevent

Limite Max ML !

Por phardole, 15 de mar. de 2013 em Globalevents e Spells

otserv
tibia
script
33
6.2k
phardoleP
15 de março de 2013 às 01:25

Fala Galera esse script é pra quem ta tendo problemas com ml do server nto shinobi.

 

1° Crie um arquivo .lua na pasta (Creaturescripts\scripts) com o nome maxml.lua, e coloque isso.

 

function onAdvance(cid, skill, oldlevel, newlevel)
local maxml = 10
if skill == 7 then
if newlevel >= maxml then
doPlayerSetMagicRate(cid, 0)
setPlayerStorageValue(cid, 20130314, maxml)
end
end
return true
end

 

2° Vá até o Login.lua e adicione.

 

registerCreatureEvent(cid, "maxml")
if getPlayerStorageValue(cid, 20130314) ~= -1 and getPlayerMagLevel(cid, true) >= getPlayerStorageValue(cid, 20130314) then
doPlayerSetMagicRate(cid, 0)
end
return true
end

 

3º Abra o Creaturescripts.xml e adicione.

 

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

 

4º Abra o seu config.lua e mude o rate magic para 0.1 assim.

 

rateExperience = 50.0
rateExperienceFromPlayers = 0
rateSkill = 3.0
rateMagic = 0.1 <---- AQUI.
rateLoot = 7.0
rateSpawn = 7

 

Lembrando como o Demonbholder disse,

O ruim desse código é que você não pode mudar o magic level depois que você escolheu, só se mudar o storage junto.

Flws.

 

Creditos.

Demonbholder pelo script !

E a mim por ter descoberto o Jeito do ml não passar do limite !

Editado Março 15 por Pedro19

15 de março de 2013 às 12:37

Nao entendi a parte do config.lua

ThiagoBjiT
15 de março de 2013 às 12:41

O script está errado, os códigos do fórum entrou junto com o script, e por esse motivo o script fica errado.

Na hora que você for postar o script, clica em -> Colar como texto sem formatação - e nisso, poem o script lá.

15 de março de 2013 às 12:51

Eu testei aki e funfo,mas tipo eu tinha posto 120 o max,agora se eu por 200 vai buga?

phardoleP
15 de março de 2013 às 13:45

Sky se voce por 200 voce vai ter que trocar a storage !

@Thiago valeu por ter falado não tinha vista que os codigos do forum tinha ficado junto com script, ja editei lá :D

Editado Março 15 por Pedro19

15 de março de 2013 às 13:50

Mas que storage eu ponho?

phardoleP
15 de março de 2013 às 13:51

Tenta colocar essa e testa ai --> 201303145

Editado Março 15 por Pedro19

15 de março de 2013 às 13:53

Mas e se tipo eu dessinstala todo o script,login,creature script tudo e dps por de novo ?

phardoleP
15 de março de 2013 às 13:59

Axo que não irá adiantar por que a storage vai pra database (eu axo) mais coloca essa aqui

setPlayerStorageValue(cid, 20130315, maxml)

ThiagoBjiT
15 de março de 2013 às 14:47

Muito bom esse script. Ultimamente, vi muitos tópicos pedindo o script de por máximo magic level, e praticamente todos não teve sequer um resultado, com esse script irá ajudar muitos.

 

PS: Alguém testou e comprova que o script está funcionando 100% mesmo? no aguardo de respostas.

15 de março de 2013 às 15:05

Eu testei aki e funfo mas 100% de certeza eu nao tenho nao

ThiagoBjiT
15 de março de 2013 às 15:07

Se funcionou é claro que tem 100% de certeza né ¬¬'

15 de março de 2013 às 15:31

Tipo man,varias coissas podem estar errado,exemplo antes quando vc morria o script parava e upava 3 lvl de ml

phardoleP
15 de março de 2013 às 16:00

sabe por que? porque quando vc morria a rate ml ainda tava alta e vc usava 1 magia e upa 3 a 4 ml.. passava do limite, colocando rate ml 0.1 não upa mais 1 de ml ai nao passa do limite :D

15 de março de 2013 às 17:24

Não precisa colocar aquilo no config.lua não...

 

Se você quiser mudar o storage, vai ter que mudar nessa linha:

 

setPlayerStorageValue(cid, 20130314, maxml)

 

e essa linha:

 

if getPlayerStorageValue(cid, 20130314) ~= -1 and getPlayerMagLevel(cid, true) >= getPlayerStorageValue(cid, 20130314) then

 

Mude o 20130314 para qualquer número (que ainda não esteja sendo usado), mas tem que ser o mesmo número nas duas linhas.

 

Exemplo:

 

 

setPlayerStorageValue(cid, 20130315, maxml)

 

if getPlayerStorageValue(cid, 20130315) ~= -1 and getPlayerMagLevel(cid, true) >= getPlayerStorageValue(cid, 20130315) then