PE
pedido

Exp Ring

Por Pedrohost, 24 de nov. de 2012 em Scripts

tibia
script
otserv
5
2.5k
PedrohostP
24 de novembro de 2012 às 16:46

Tipo do script: Exp Ring

Protocolo (versão do Tibia): 8.6

Servidor utilizado: CMD ~~ tfs ~~ Baiak

Nível de experiência: 600x

Adicionais/Informações: Seguinte eu consegui colocar o ring em meu OT Server mas ele da debug no mesmo, gostaria que me passassem um script que para voces nunca deu debug

As falas do ring ficariam assim

 

Quando Colocar o ring :

Agora você tem 50% a mais de experiência.

Quando tirar o ring :

Você retirou o ring e não tera mais experiência.

Quando acabar o tempo do ring :

Seu EXP Ring Acabou.

 

 

Agradeço desde ja Obrigado :)

SubwatS
24 de novembro de 2012 às 18:25
function onEquip(cid, item)
local config = {
rateExperience = getConfigInfo('rateExperience'),
exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier)
}
doPlayerSetExperienceRate(cid, 2)
doPlayerSendTextMessage(cid,18,"Ring de experiencia ativado com sucesso!!! sua exp está x" .. config.exp .. " Multiplicado por 2.")
return TRUE
end
function onDeEquip(cid, item, position, fromPosition)
doPlayerSetExperienceRate(cid, 1.0)
doPlayerSendTextMessage(cid,18,"Sua experiencia voltou ao original.")
return TRUE
end

LTKReturnsL
24 de novembro de 2012 às 18:38

TENTA ESSE

 

Pimeiramente va em movements\script crie um arquivo e renomeie para expring.lua

Dentro Coloque:

 

 

 

 

local rate = 1.5

function onEquip(cid, item, slot)

if(item.itemid ~= 7697) then

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your exp rate + "..((rate - 1)*100).."%.")

doPlayerSetExperienceRate(cid, rate)

doTransformItem(item.uid, 7708 )

return true

end

return true

end

function onDeEquip(cid, item, slot)

if(item.itemid ~= 7708 ) then

return true

end

doPlayerSetExperienceRate(cid, 1.0)

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sua experiência extra terminou.")

doTransformItem(item.uid, 7697)

return true

end

 

 

 

 

Verde: Valor em % (Porcento) que aumentará a experiência. Ex:

1.5 = 50%

1.2 = 20%

 

Em movements.xml adicione as tags:

 

 

<movevent type="Equip" itemid="7697" slot="ring" event="function" value="onEquipItem"/>

<movevent type="Equip" itemid="7708" slot="ring" event="script" value="expring.lua"/>

<movevent type="DeEquip" itemid="7708" slot="ring" event="script" value="expring.lua"/>

 

 

Em items.xml substitua por esses:

 

 

<item id="7708" article="a" name="Experience ring">

<attribute key="weight" value="80"/>

<attribute key="slotType" value="ring"/>

<attribute key="decayTo" value="0"/>

<attribute key="duration" value="480"/>

<attribute key="showduration" value="1"/>

</item>

 

 

 

<item id="7697" article="an" name="experience ring">

<attribute key="weight" value="80"/>

<attribute key="slotType" value="ring"/>

<attribute key="transformEquipTo" value="7708"/>

<attribute key="stopduration" value="1"/>

<attribute key="showduration" value="1"/>

</item>

 

 

<attribute key="duration" value="480"/>: Tempo em segundos que vai durar o anel

 

 

 

 

Colocando Infinito:

 

Data/Items/Items.xml

 

 

 

 

<item id="7708" article="a" name="experience ring">

<attribute key="weight" value="80"/>

<attribute key="slotType" value="ring"/>

<attribute key="decayTo" value="0"/>

<attribute key="duration" value="0"/>

<attribute key="showduration" value="0"/>

</item>

 

<item id="7697" article="an" name="experience ring">

<attribute key="weight" value="80"/>

<attribute key="slotType" value="ring"/>

<attribute key="transformEquipTo" value="7708"/>

<attribute key="stopduration" value="1"/>

<attribute key="showduration" value="0"/>

</item>

 

 

PedrohostP
24 de novembro de 2012 às 19:21

TENTA ESSE

 

Pimeiramente va em movements\script crie um arquivo e renomeie para expring.lua

Dentro Coloque:

 

 

 

 

local rate = 1.5

function onEquip(cid, item, slot)

if(item.itemid ~= 7697) then

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your exp rate + "..((rate - 1)*100).."%.")

doPlayerSetExperienceRate(cid, rate)

doTransformItem(item.uid, 7708 )

return true

end

return true

end

function onDeEquip(cid, item, slot)

if(item.itemid ~= 7708 ) then

return true

end

doPlayerSetExperienceRate(cid, 1.0)

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sua experiência extra terminou.")

doTransformItem(item.uid, 7697)

return true

end

 

 

 

 

Verde: Valor em % (Porcento) que aumentará a experiência. Ex:

1.5 = 50%

1.2 = 20%

 

Em movements.xml adicione as tags:

 

 

<movevent type="Equip" itemid="7697" slot="ring" event="function" value="onEquipItem"/>

<movevent type="Equip" itemid="7708" slot="ring" event="script" value="expring.lua"/>

<movevent type="DeEquip" itemid="7708" slot="ring" event="script" value="expring.lua"/>

 

 

Em items.xml substitua por esses:

 

 

<item id="7708" article="a" name="Experience ring">

<attribute key="weight" value="80"/>

<attribute key="slotType" value="ring"/>

<attribute key="decayTo" value="0"/>

<attribute key="duration" value="480"/>

<attribute key="showduration" value="1"/>

</item>

 

 

 

<item id="7697" article="an" name="experience ring">

<attribute key="weight" value="80"/>

<attribute key="slotType" value="ring"/>

<attribute key="transformEquipTo" value="7708"/>

<attribute key="stopduration" value="1"/>

<attribute key="showduration" value="1"/>

</item>

 

 

<attribute key="duration" value="480"/>: Tempo em segundos que vai durar o anel

 

 

 

 

Colocando Infinito:

 

Data/Items/Items.xml

 

 

 

 

<item id="7708" article="a" name="experience ring">

<attribute key="weight" value="80"/>

<attribute key="slotType" value="ring"/>

<attribute key="decayTo" value="0"/>

<attribute key="duration" value="0"/>

<attribute key="showduration" value="0"/>

</item>

 

<item id="7697" article="an" name="experience ring">

<attribute key="weight" value="80"/>

<attribute key="slotType" value="ring"/>

<attribute key="transformEquipTo" value="7708"/>

<attribute key="stopduration" value="1"/>

<attribute key="showduration" value="0"/>

</item>

 

 

TENTA ESSE

 

Pimeiramente va em movements\script crie um arquivo e renomeie para expring.lua

Dentro Coloque:

 

 

 

 

local rate = 1.5

function onEquip(cid, item, slot)

if(item.itemid ~= 7697) then

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your exp rate + "..((rate - 1)*100).."%.")

doPlayerSetExperienceRate(cid, rate)

doTransformItem(item.uid, 7708 )

return true

end

return true

end

function onDeEquip(cid, item, slot)

if(item.itemid ~= 7708 ) then

return true

end

doPlayerSetExperienceRate(cid, 1.0)

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sua experiência extra terminou.")

doTransformItem(item.uid, 7697)

return true

end

 

 

 

 

Verde: Valor em % (Porcento) que aumentará a experiência. Ex:

1.5 = 50%

1.2 = 20%

 

Em movements.xml adicione as tags:

 

 

<movevent type="Equip" itemid="7697" slot="ring" event="function" value="onEquipItem"/>

<movevent type="Equip" itemid="7708" slot="ring" event="script" value="expring.lua"/>

<movevent type="DeEquip" itemid="7708" slot="ring" event="script" value="expring.lua"/>

 

 

Em items.xml substitua por esses:

 

 

<item id="7708" article="a" name="Experience ring">

<attribute key="weight" value="80"/>

<attribute key="slotType" value="ring"/>

<attribute key="decayTo" value="0"/>

<attribute key="duration" value="480"/>

<attribute key="showduration" value="1"/>

</item>

 

 

 

<item id="7697" article="an" name="experience ring">

<attribute key="weight" value="80"/>

<attribute key="slotType" value="ring"/>

<attribute key="transformEquipTo" value="7708"/>

<attribute key="stopduration" value="1"/>

<attribute key="showduration" value="1"/>

</item>

 

 

<attribute key="duration" value="480"/>: Tempo em segundos que vai durar o anel

 

 

 

 

Colocando Infinito:

 

Data/Items/Items.xml

 

 

 

 

<item id="7708" article="a" name="experience ring">

<attribute key="weight" value="80"/>

<attribute key="slotType" value="ring"/>

<attribute key="decayTo" value="0"/>

<attribute key="duration" value="0"/>

<attribute key="showduration" value="0"/>

</item>

 

<item id="7697" article="an" name="experience ring">

<attribute key="weight" value="80"/>

<attribute key="slotType" value="ring"/>

<attribute key="transformEquipTo" value="7708"/>

<attribute key="stopduration" value="1"/>

<attribute key="showduration" value="0"/>

</item>

 

 

 

 

Pois é foi este mesmo que nao deu :s da debug direto

 

function onEquip(cid, item)
local config = {
rateExperience = getConfigInfo('rateExperience'),
exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier)
}
doPlayerSetExperienceRate(cid, 2)
doPlayerSendTextMessage(cid,18,"Ring de experiencia ativado com sucesso!!! sua exp está x" .. config.exp .. " Multiplicado por 2.")
return TRUE
end
function onDeEquip(cid, item, position, fromPosition)
doPlayerSetExperienceRate(cid, 1.0)
doPlayerSendTextMessage(cid,18,"Sua experiencia voltou ao original.")
return TRUE
end

 

 

Onde eu boto isso ?

LTKReturnsL
25 de novembro de 2012 às 00:54

Aqui

 

moviments.XML

 

 

<movevent type="Equip" itemid="ID DO ITEM" slot="ring" event="script" value="NOME DO SCRIPT.lua"/>

<movevent type="DeEquip" itemid="ID DO ITEM" slot="ring" event="script" value="NOME DO SCRIPT.lua"/>

 

 

 

Script.LUA

 

 

function onEquip(cid, item)

local config = {

rateExperience = getConfigInfo('rateExperience'),

exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier)

}

doPlayerSetExperienceRate(cid, 2)

doPlayerSendTextMessage(cid,18,"Ring de experiencia ativado com sucesso!!! sua exp está x" .. config.exp .. " Multiplicado por 2.")

return TRUE

end

function onDeEquip(cid, item, position, fromPosition)

doPlayerSetExperienceRate(cid, 1.0)

doPlayerSendTextMessage(cid,18,"Sua experiencia voltou ao original.")

return TRUE

end

 

 

 

 

back.pngAconselho Esse Aqui

 

http://www.xtibia.com/forum/topic/162054-exp-ring-anel-de-experiencia/

Editado Novembro 25 por LTKReturns