Jump to content

Recommended Posts

Nome: Item Treiner

Autor: Shoguns

Tipo: Moveevents

 

 

Oque ele faz?

 

Quando o player equipar tal item,

esse item vai servir como um treiner e ficara upando o skill de acordo com o item que tiver no seu Sloot Esquerdo e direito,

que no caso é aonde se colocam a arma de atk e o shield

 

Oque mas tem?

 

O Player não poderá se mover enquanto estiver equipado com o item e ficara aparecendo uma mensagem "Treinando".

 

 

Va em data/movements/scripts e crie um arquivo com nome de itemtreiner.lua e coloque isso lá dentro

 

 

local porcent = 4
local tempo = 3 * 1000
local lock = 0
local Skills = {
{ 1, 2 },
{ 2, 1 },
{ 3, 3 },
{ 5, 5 },
{ 4, 4 }
}
function onEquip(cid, item, slot)
    local x = {cid = cid, item = item, slot = slot}
    setPlayerStorageValue(x.cid, 12345, 1)
    if isPlayer(x.cid) then
        doPlayerSendTextMessage(x.cid,25,"O Treino Começou")
    doPlayerSetNoMove(cid, true)
    addEvent(Shoguns, tempo, x)
end
   return true
end
function onDeEquip(cid, item, slot)
if getPlayerStorageValue(cid, 12345) == 2 then
   return false
end
    setPlayerStorageValue(cid, 12345, 2)
    doPlayerSendTextMessage(cid,21,"O Treino acabou")
    doPlayerSetNoMove(cid, false)
   return true
end
function Shoguns(x)
    if isPlayer(x.cid) and getPlayerStorageValue(x.cid, 12345) == 1 then
     local weaponLeft = getPlayerSlotItem(x.cid, CONST_SLOT_LEFT)
     local weaponRight = getPlayerSlotItem(x.cid, CONST_SLOT_RIGHT)
if weaponLeft.itemid ~= 0 then
   weaponLeft = getItemWeaponType(weaponLeft.uid)
end
if weaponRight.itemid ~= 0 then
   weaponRight = getItemWeaponType(weaponRight.uid)
end
for _, tempo in pairs(Skills) do
    if tempo[1] == weaponLeft or tempo[1] == weaponRight then
        doPlayerAddSkillTry(x.cid, tempo[2], porcent)
end
   end
    magiclvl = getPlayerMana(x.cid)
    doPlayerAddSpentMana(x.cid, magiclvl, math.random(1,3))
doSendMagicEffect(getPlayerPosition(x.cid),30)
     doSendAnimatedText(getPlayerPosition(x.cid),"Treinando", math.random(3,255))
     addEvent(Shoguns, tempo, x)
end
   return true
end

 

 

 

 

 

Agora em movements.lua cole essas 2 tags:

 

<movevent type="Equip" itemid="1234" slot="feet" event="script" value="itemtreiner.lua"/>
<movevent type="DeEquip" itemid="1234" slot="feet" event="script" value="itemtreiner.lua"/>

 

 

 

Como configurar:

 

No itemtreiner.lua

 

 

local porcent = 4

Porcentagem que ira dar de skill

 

 

 

 

local tempo = 3 * 1000

Intervalos para subir o skill

 

 

 

local lock = 0

Se quiser colocar algo tipo um exausted antes de comecar

 

 

 

nas tags:

 

1234

Id do item que ao equipar vai upar skill

 

 

 

feet

Tipo do item (usei feet = boots ) como um exemplo

 

 

 

 

Alguma dúvida deixe um comentário que irei dar suporte.

Edited by Shoguns
Link to comment
Share on other sites

Tava procurando uma coisa assim mas não conseguia achar vlw ai Ajudou muito Testei aki e funcionou 100% ;D

 

So uma duvida se eu quiser usar uma armor para da o skill?

Edited by Maxwell1525
Link to comment
Share on other sites

Tava procurando uma coisa assim mas não conseguia achar vlw ai Ajudou muito Testei aki e funcionou 100% ;D

 

So uma duvida se eu quiser usar uma armor para da o skill?

 

 

é so trocar em

<movevent type="Equip" itemid="1234" slot="feet" event="script" value="itemtreiner.lua"/>
<movevent type="DeEquip" itemid="1234" slot="feet" event="script" value="itemtreiner.lua"/>

o feet por armor

 

 

 

já tive uma ideia parecida só que faz um tempo 'rsrs..

só que fiquei com preguiça de fazer ;s

 

no começo quis fazer por vocação, mas dps tive a ideia de fazer por Slot

Edited by Shoguns
Link to comment
Share on other sites

  • 2 weeks later...
  • 1 year later...

oi teria como fazer assim...

 

o player equipa um book na mao direita do inventario e ele fica treinando somente o ml do char ao inves dos outros skills ?

 

 

mesmo procedimento deste ai porem so treina ml e tem q equipar determinado book na mao

 

Link to comment
Share on other sites

teria como so upar ml ? eu modifiquei ele aqui pra agir qndo upar somente um determinado item q no meu caso seria um book, porem ele upa o ML mais tbm upa Distance 0.o gostaria que upa-se somente o ml...

Pode deixar ja resolvi a minha duvida mudei umas funçoes e ocorreu tudo certo 
Edited by soltore
Link to comment
Share on other sites

  • 3 years later...
Em 07/10/2015 em 15:43, soltore disse:

teria como so upar ml ? eu modifiquei ele aqui pra agir qndo upar somente um determinado item q no meu caso seria um book, porem ele upa o ML mais tbm upa Distance 0.o gostaria que upa-se somente o ml...


Pode deixar ja resolvi a minha duvida mudei umas funçoes e ocorreu tudo certo 

 

Em 17/03/2014 em 23:34, Shoguns disse:

Nome: Item Treiner

Autor: Shoguns

Tipo: Moveevents

 

 

Oque ele faz?

 

Quando o player equipar tal item,

esse item vai servir como um treiner e ficara upando o skill de acordo com o item que tiver no seu Sloot Esquerdo e direito,

que no caso é aonde se colocam a arma de atk e o shield

 

Oque mas tem?

 

O Player não poderá se mover enquanto estiver equipado com o item e ficara aparecendo uma mensagem "Treinando".

 

 

Va em data/movements/scripts e crie um arquivo com nome de itemtreiner.lua e coloque isso lá dentro

 

  Ocultar conteúdo

 



local porcent = 4
local tempo = 3 * 1000
local lock = 0
local Skills = {
{ 1, 2 },
{ 2, 1 },
{ 3, 3 },
{ 5, 5 },
{ 4, 4 }
}
function onEquip(cid, item, slot)
    local x = {cid = cid, item = item, slot = slot}
    setPlayerStorageValue(x.cid, 12345, 1)
    if isPlayer(x.cid) then
        doPlayerSendTextMessage(x.cid,25,"O Treino Começou")
    doPlayerSetNoMove(cid, true)
    addEvent(Shoguns, tempo, x)
end
   return true
end
function onDeEquip(cid, item, slot)
if getPlayerStorageValue(cid, 12345) == 2 then
   return false
end
    setPlayerStorageValue(cid, 12345, 2)
    doPlayerSendTextMessage(cid,21,"O Treino acabou")
    doPlayerSetNoMove(cid, false)
   return true
end
function Shoguns(x)
    if isPlayer(x.cid) and getPlayerStorageValue(x.cid, 12345) == 1 then
     local weaponLeft = getPlayerSlotItem(x.cid, CONST_SLOT_LEFT)
     local weaponRight = getPlayerSlotItem(x.cid, CONST_SLOT_RIGHT)
if weaponLeft.itemid ~= 0 then
   weaponLeft = getItemWeaponType(weaponLeft.uid)
end
if weaponRight.itemid ~= 0 then
   weaponRight = getItemWeaponType(weaponRight.uid)
end
for _, tempo in pairs(Skills) do
    if tempo[1] == weaponLeft or tempo[1] == weaponRight then
        doPlayerAddSkillTry(x.cid, tempo[2], porcent)
end
   end
    magiclvl = getPlayerMana(x.cid)
    doPlayerAddSpentMana(x.cid, magiclvl, math.random(1,3))
doSendMagicEffect(getPlayerPosition(x.cid),30)
     doSendAnimatedText(getPlayerPosition(x.cid),"Treinando", math.random(3,255))
     addEvent(Shoguns, tempo, x)
end
   return true
end

 

 

 

 

 

Agora em movements.lua cole essas 2 tags:

 


<movevent type="Equip" itemid="1234" slot="feet" event="script" value="itemtreiner.lua"/>
<movevent type="DeEquip" itemid="1234" slot="feet" event="script" value="itemtreiner.lua"/>

 

 

 

Como configurar:

 

No itemtreiner.lua

 

 


local porcent = 4

Porcentagem que ira dar de skill

 

 

 

 


local tempo = 3 * 1000

Intervalos para subir o skill

 

 

 


local lock = 0

Se quiser colocar algo tipo um exausted antes de comecar

 

 

 

nas tags:

 

 


1234

Id do item que ao equipar vai upar skill

 

 

 


feet

Tipo do item (usei feet = boots ) como um exemplo

 

 

 

 

Alguma dúvida deixe um comentário que irei dar suporte.

como para andar com o char e poder remover o item para parar de treinar???

Link to comment
Share on other sites

×
×
  • Create New...