Ir para conteúdo
  • Cadastre-se

Derivado Equipar Item So com Storage , Ganhando Atributo


Posts Recomendados

to tentando aprender mais uma vez to aqui n consigo finalizar o objectivo do script : só pode equipar 

o item se fez a quest e qnd equipa ganha velocidade de movimento mais n consigo

 

function onEquip(cid, item, slot)
if getPlayerStorage(34279) then
return doPlayerSendCancel(cid,"Este Item so Pode ser Usado Por Anbus Que Fizeram a Quest Ultimate Anbu.")
end
return true
end

local outfit = {lookType = 1147} -- looktype
    doSetCreatureOutfit(cid, outfit, -1)
    doSendMagicEffect(getCreaturePosition(cid), 224)
    doChangeSpeed(cid, 10000)
    return TRUE
end
 
function onDeEquip(cid, item, slot)
    doRemoveCondition(cid, CONDITION_OUTFIT)
    doChangeSpeed(cid, -10000) -- speed volta 
    doSendMagicEffect(getCreaturePosition(cid), 224)
    return TRUE
end

Link para o post
Compartilhar em outros sites

1. O speed vc altera no items.xml assim:

<attribute key="speed" value="X"/>

X - velocidade q aumenta

coloca essa tag no item

 

2. Quando for usar funções como 'get', 'do', e 'set', não se esqueça de usar 'cid', como exemplo:

getPlayerStorageValue(cid, xxxx) <= 0

você tinha usado getPlayerStorage(xxxx) then, esqueceu de colocar 'Value', 'cid' e de comparar com um valor

 

3. Você usou um 'return true' atoa, no caso o segundo, pois você não tinha usado nenhuma função e nem um 'if'.

 

4. Usou um 'end' para fechar o nada kkk, acho q vc pensou que precisasse usar para fechar o 'local' ne? O local não precisa ser fechado, vc usa ele só pra criar uma variável para ser usada depois.

 

5. Você pode criar mais variáveis para diminuir o tamanho dos códigos, como exemplo, ao invés de usar 'getCreaturePosition(cid)' em todas as linhas q precisam, crie uma variável assim:

 

local pos = getCreaturePosition(cid)

Então onde vc escreveria toda aquela função, vc escreve apenas 'pos'

Tenta usar esse, não sei se vai funcionar pq n to muito bem com essa coisa de outfit, tem um membro do forum pedindo ajuda e n consegui resolver ainda :/ mas eu to tentando ^^

 

qualquer duvida pode perguntar aqui

 

local outfit = {lookType = 1147} -- looktype
local pos = getCreaturePosition(cid) -- pode usar isso pra economizar letras no script, olhe nas funções doSendMagicEffect, reduziu o tamanho viu?

function onEquip(cid, item, slot)
	if getPlayerStorageValue(cid, 34279) <= 0 then -- aqui ta perguntando se a storage ta como 0
		doPlayerSendCancel(cid, "Este Item so Pode ser Usado Por Anbus Que Fizeram a Quest Ultimate Anbu.")
	else -- vc deve ter feito alguma quest que deixa a storage com valor 1, então esse else é tipo o contrario da função get ali em cima, vai perguntar se o valor é 1
		doSetCreatureOutfit(cid, outfit, -1)
		doSendMagicEffect(pos, 224)
	end
return true
end
 
function onDeEquip(cid, item, slot)
    doRemoveCondition(cid, CONDITION_OUTFIT)
    doSendMagicEffect(pos, 224)
    return true
end

 

Link para o post
Compartilhar em outros sites

Velho Vlw Mam vo procurar aqui um tutorial de script pra entender logo , pra n pertubar mt a galera do tk aqui

fui testa apareceu isso :

[05/03/2017 11:54:21] [Error - MoveEvents Interface] 
[05/03/2017 11:54:21] data/movements/scripts/selo.lua
[05/03/2017 11:54:21] Description: 
[05/03/2017 11:54:21] (luaGetThingPosition) Thing not found

[05/03/2017 11:54:21] [Error - MoveEvents Interface] 
[05/03/2017 11:54:21] data/movements/scripts/selo.lua
[05/03/2017 11:54:21] Description: 
[05/03/2017 11:54:21] (luaGetThingPosition) Thing not found

Editado por Segundo Hokage (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
local outfit = {lookType = 1147} -- looktype
local pos = getCreaturePosition(cid) -- pode usar isso pra economizar letras no script, olhe nas funções doSendMagicEffect, reduziu o tamanho viu?

function onEquip(cid, item, slot)
	if getPlayerStorageValue(cid, 34279) <= 0 then -- aqui ta perguntando se a storage ta como 0
		doPlayerSendCancel(cid, "Este Item so Pode ser Usado Por Anbus Que Fizeram a Quest Ultimate Anbu.")
	else -- vc deve ter feito alguma quest que deixa a storage com valor 1, então esse else é tipo o contrario da função get ali em cima, vai perguntar se o valor é 1
		doCreatureChangeOutfit(pid, outfit)
		doSendMagicEffect(pos, 224)
	end
return true
end
 
function onDeEquip(cid, item, slot)
    doRemoveCondition(cid, CONDITION_OUTFIT)
    doSendMagicEffect(pos, 224)
    return true
end

 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
    • Por SilenceRoot
      A magia é assim o você usa a a magia e ela ficará ativado por 10 segundos, até que o inimigo lance a primeira magia ou todos de uma vez, quando ele lançar a primeira magia, ele não lhe acertará ou seja esquivando dela, e logo em seguida será teletransportado aleatoriamente ao redor do inimigo que usou.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo