Ir para conteúdo

Posts Recomendados

  • 4 weeks later...

Consegui aprimorar seu script em varias coisas e adptei no meu servidor

TFS 0.4, só que agora preciso urgentemente das linhas onde entram stages ou algo a mais,

Por exemplo. se eu faço 1 ring de exp, n funciona doSetExpRate e talz,

pq o que conta agora é o script seu no Creaturescripts,

Com isso varios itens vips meus estão inutilizaveis e preciso da tabela de stages pra adicionar uma linha tipo,

if get ANEL DE XP then "rateExp = 6" dai o script vai alterar pra + 1 no lugar do antigo... deu pra entender neah ;b

Tipo, eu fiz e talz, mais na hora de colocar as stages, ficou dando erro no console pq o sistema tentava registrar o rate exp no MONSTRO que atacava, e nao apenas nos players que no caso sao os necessarios.

Fiz tipo

 

If get level < 100 then

SCRIPT TODO RATE 5X

elseif get level > 100 then

SCRIPT TODO RATE 4X

end

 

Se puder e souber, ajuda ai ;)

Link para o comentário
Compartilhar em outros sites

Ei Paulo eu ja joguei seu ot pbOT ,ta de parabens ot muito bom (só precisa tira 1 poco dos reset :X). Eu queria esse script q vc edito fico muito bom do jeito q eu quero . voce hita 20 recebe 40 ,hita 33 ganha 66 de exp . Se alguem tiver ae e puder me ajuda eu agradeço . Qual quer coisa adc eu no msn : poly_itau@hotmail.com..

 

 

A Paulo só pra te lembrar no pbOT vc hitava e nao aparecia em cima do player o tanto q ganhava de xp não ,aparecia só no server log :)

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

encontrei um bug nesse script..

quando eu mato o Assassin o ot fica travado e buga tudo..

 

meu ot é o slyer yourots 8.6

Acredito que voce tenha feito algo errado ;/ ake nao deu nenhum bug , tudo que eu quero agora é esse script editado pra faze tipo ,hito 10 recebo 20 de exp ..Ou seija eu hito 1 tanto recebo o dobro de experiencia ;/ tenta fazer denovo que eu acho que foi voce que feis algo errado .. By Polly

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

rateExp = getConfigValue("rateExperience")

 

VIP Items (rings de exp)

rateExp = rateExp * getPlayerExtraExpRate(cid)

 

Stages

useExpRates = getBooleanFromString(getConfigValue("experienceStages"))
rateExp = useExpRates and rateExp*getExperienceStage(getPlayerLevel(cid)) or rateExp

 

Testem! Se nao funcionar posta aqui mesmo.

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

Name: Exp por Hit

Autor: xOtServx( Eu)

Testado: TFS 0.3.6 ( 8.54 ) (Creio que funcione em outra versão)

Resumo: Em vez de ganhar a exp final, vc ganha por hit.

 

Instalação

 

Primeiramente abra a pasta de seu ot, e procure pelo arquivo config.lua e procure por essas 2 linhas :

experienceStages = false
rateExperience = 50

 

se o experienceStages tiver ativado mude para false, pois o sistema ainda não tem suporte á Stages.

e é muito importante o rateExperience tiver como 0, pois ela sera configurada, em outro local agora.

exemplo:

 

experienceStages = false
rateExperience = 0

 

agora entre na pasta creaturescripts/scripts e crie um arquivo lua, chamado exphit.lua e cole o seguinte código:

 

-- Exp por Hit By: xOtServx --
rateExp = 50 -- agora vc configura o rate de exp do server.
------------------------------

function CalculeExp(monsterhp, exptotal, hit)
       local x = hit <= monsterhp and math.ceil(exptotal * hit / monsterhp) or 0
       local x2 = x -  20 + math.random(20)
       return  x2 > 0 and x2 or 0
end

function isSummon(uid)
       return uid ~= getCreatureMaster(uid) or false
end

function onStatsChange(cid, attacker, type, combat, value)
       if type == STATSCHANGE_HEALTHLOSS then
               if isMonster(cid) then
                       if isCreature(attacker) then
                               local sid = isSummon(attacker) == true and getCreatureMaster(attacker) or attacker
                               if isPlayer(sid) then
                                       local expg = CalculeExp(getCreatureMaxHealth(cid), getMonsterInfo(getCreatureName(cid)).experience * rateExp, value)
                                       doPlayerSendTextMessage(sid, 23, "You gain "..expg.." exp.")
                                       doPlayerAddExp(sid, expg)
                               end
                       end
               end
elseif type == STATSCHANGE_HEALTHGAIN then
	return false
end
       return true
end

function onCombat(cid, target)
       if isMonster(target) and not isSummon(target) and not isPlayer(target) then
               registerCreatureEvent(target, "ExpGain")
       end
       return true
end

 

na mesma pasta procure pelo arquivo login.lua, e em cima de return true, adc a seguinte linha:

 

registerCreatureEvent(cid, "ExpHit")

 

volte na pasta anterior creaturescripts, e procure pelo arquivo creaturescritps.xml e cole as 2 tags:

 

<event type="statschange" name="ExpGain" event="script" value="exphit.lua"/>
<event type="combat" name="ExpHit" event="script" value="exphit.lua"/>

 

para configurar a exp, que era configurada no config.lua está no começo do arquivo exphit.lua , segue abaixo o exemplo:

 

-- Exp por Hit By: xOtServx --
rateExp = 50 -- agora vc configura o rate de exp do server.
------------------------------

 

Bugs :

- como disse ainda não tem suporte a stages

- nem ganhar exp por matar player.

 

 

isso ai flw's

fui.

 

 

cara juro que vi esse script no otland ¬¬ irei postar o link aki se eu axar..

mas bom script

Link para o comentário
Compartilhar em outros sites

  • 1 month later...
  • 2 weeks later...
×
×
  • Criar Novo...