PO

Exp Por Hit..

Por pollyaninha, 31 de ago. de 2011 em Archived

script
5
1.2k
pollyaninhaP
31 de agosto de 2011 às 23:13

Oiee ,Preciso de 1 script pro meu ot ,tipo eu hito 10 no bug ae eu vo e recebo 20 de exp ,hito 12 ,recebo 24 e assim vai (tipo pbOT) .. deu pra entender neh?

Obrigada deus de ja .. qual quer coisa adc msn : poly_itau@hotmail.com ..

 

Ahh antes q eu esqueça nao sei se isso ajuda + ,a versao do meu ot é 8.6

Editado Agosto 31 por pollyaninha

alldakieA
31 de agosto de 2011 às 23:49

Não entendo porque sendo que a Experience e partilha quando a criatura morre, mais como você disse "Se você rita um tanto você recebe o dobro do tanto?"...

Bom não sei se já existe liberado p/ galera, ate porque nunca vi...

pollyaninhaP
01 de setembro de 2011 às 01:58

Não entendo porque sendo que a Experience e partilha quando a criatura morre, mais como você disse "Se você rita um tanto você recebe o dobro do tanto?"...

Bom não sei se já existe liberado p/ galera, ate porque nunca vi...

 

Primeiramente Ola ,tpw vc hita tanto e recebo em dobro .. tem sim olhe : http://www.xtibia.com/forum/topic/161056-exp-por-hit/

soq n concegui editar pra recebe o dobro do hit ,pq n sou boa em script ;/ se vc puder me ajudar te dou + rep

gonorreiaswatG
01 de setembro de 2011 às 03:01
Post do "Xotservx"

 

 

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 = 2 -- 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"/>

 

 

 

Pronto, configurado para 2x a Exp.

 

Acredito que será necessário remover essa "tag"

local x2 = x -  20 + math.random(20)

Porque ela faz a exp variar.

 

 

Abraços :smile_positivo:

 

espero que funfe!

Editado Setembro 1 por Gonorreia

pollyaninhaP
01 de setembro de 2011 às 10:07

Ok .. obrigada vo testa agora msm . espero q funcione rsrsrs orbriga ,se funcionar + rep ,se n funcionar + rep tbm por ter tentando me ajudar obrigaa

 

 

Edit :

Nao deu serto ..pelo menos ake .. da esse erro :

[Error - CreatureScript Interface]

data/creaturescripts/scripts/exphit.lua:onStatsChange

Description:

data/creaturescripts/scripts/exphit.lua:7: attempt to compare number with nil

stack traceback:

data/creaturescripts/scripts/exphit.lua:7: in function 'CalculeExp'

data/creaturescripts/scripts/exphit.lua:20: in function <data/creaturesc

ripts/scripts/exphit.lua:14>

 

 

Edit 2 :

Olha nesse script :

http://www.xtibia.com/forum/topic/159611-exp-por-hit/

Tpw nesse script , voce atk 20 e ganha 20 de exp ,,

+ ele tem uns bug , tpw se vai healando o bixo e vai ganhando exp,

agr nesse script ake q eu postei ele n deixa heala os bixos n ganha exp em sumon ..

se voce conseguir montar e editar como eu disse eu agradeço ,, mais eu acho q pode ser ake getCreatureMaster(attacker) or attacker

if isPlayer(sid) then

local expg = CalculeExp(getCreatureMaxHealth(cid), getMonsterInfo(getCreatureName(cid)).experience * rateExp, value)..... obrigada deus de ja..

 

 

 

a e pf me adc no msn poly_itau@hotmail.com

e manda script pra la :X nao quero q todo mundo tenha o script se n fica sem graça neh rsrs

Editado Setembro 1 por pollyaninha