Ir para conteúdo

Featured Replies

Postado

Boa noite galerinha do tk.

Venho pedir a vcs um script.

Não sei fazer assim do jeito que eu quero, então venho pedir ajudar ..

 

Quero um item... Ex: ring que ao ser equipado ele da um dano a minha ... Ex: tenho um bow que ataca 100 de dano. 

Se eu equipar o ring ele vai continuar atacando os 100 normalmente do bow mas vai dar um dano adicional ao bow . Pode ser em elementos . Ex 100 de dano do bow mais 60 de elemento Holy. Mas só funcionar se tiver uma arma equipada .

 

Tipo acrescentando na arma o elemento por ter o ring equipado ... 

 

 

Tentei ser o mais explicativo possível. 

 

Se alguém puder me ajudar com esse script ficarei muito grato . Obrigado 

  • Respostas 8
  • Visualizações 657
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • ai regista no XML   <event type="statschange" name="RingMaisDano" event="script" value="NOME-DO-SCRIPT.lua"/> E registrar ele la no login.lua registerCreatureEvent(cid, "RingMais

  • acho que esse erro ai é de outro script, não foi mexido nada nele.       function isWeapon(uid) -- By Killua return getItemWeaponType(uid) ~= 0 end local itemDeDano = 1522 --

Posted Images

Postado

Este tópico foi movido para a seção de Suporte Otserv.

Em 21/10/2022 em 00:17, mullino disse:

dano do bow mais 60 de elemento Holy. Mas só funcionar se tiver uma arma equipada .

 pra isso seria necessário talvez uma modificação na source, mas acho que da pra fazer com movements de Equip item, ou um creatureScripts de StatsChange, mas stats change é meio "pesadinho" pro servidor.

 

function isWeapon(uid) -- By Killua
	return getItemWeaponType(uid) ~= 0
end

local ringDeDano = 1522 -- ID do ring

function onStatsChange(cid, attacker, type, combat, value)
	if not isPlayer(cid) then
		return false
	end
  	if (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) and (combat ~= COMBAT_HEALING and value > 0) then
      local ringEquipado = getPlayerSlotItem(cid, CONST_SLOT_RING).itemid	-- pega o ID do ring no slot
      local armaEquipadaEsquerda = getPlayerSlotItem(cid, CONST_SLOT_LEFT).uid		-- pega uid doq ta na mão esquerda
      local armaEquipadaDireita = getPlayerSlotItem(cid, CONST_SLOT_RIGHT).uid		-- pega uid doq ta na mão direita
      if isWeapon(armaEquipadaEsquerda) or isWeapon(armaEquipadaDireita) then		-- se tiver arma na mão direita ou esquerda
        if ringEquipado and ringEquipado == ringDeDano then							-- se tiver ring equipado E o ring for o escolhido
          	local dano = value*0.5													-- 0.5 = 50% a mais de dano, 1 = 100% a mais....
        	local target = getCreatureTarget(cid)
		    doTargetCombatHealth(cid, target, combat, -dano, -dano, 255)			-- função de dar dano
        end
      end
    end
	
  return true
end

 

Postado
  • Autor
18 minutos atrás, FeeTads disse:

Este tópico foi movido para a seção de Suporte Otserv.

 pra isso seria necessário talvez uma modificação na source, mas acho que da pra fazer com movements de Equip item, ou um creatureScripts de StatsChange, mas stats change é meio "pesadinho" pro servidor.

 


function isWeapon(uid) -- By Killua
	return getItemWeaponType(uid) ~= 0
end

local ringDeDano = 1522 -- ID do ring

function onStatsChange(cid, attacker, type, combat, value)
	if not isPlayer(cid) then
		return false
	end
  	if (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) and (combat ~= COMBAT_HEALING and value > 0) then
      local ringEquipado = getPlayerSlotItem(cid, CONST_SLOT_RING).itemid	-- pega o ID do ring no slot
      local armaEquipadaEsquerda = getPlayerSlotItem(cid, CONST_SLOT_LEFT).uid		-- pega uid doq ta na mão esquerda
      local armaEquipadaDireita = getPlayerSlotItem(cid, CONST_SLOT_RIGHT).uid		-- pega uid doq ta na mão direita
      if isWeapon(armaEquipadaEsquerda) or isWeapon(armaEquipadaDireita) then		-- se tiver arma na mão direita ou esquerda
        if ringEquipado and ringEquipado == ringDeDano then							-- se tiver ring equipado E o ring for o escolhido
          	local dano = value*0.5													-- 0.5 = 50% a mais de dano, 1 = 100% a mais....
        	local target = getCreatureTarget(cid)
		    doTargetCombatHealth(cid, target, combat, -dano, -dano, 255)			-- função de dar dano
        end
      end
    end
	
  return true
end

 

Esse é de qual ? Creature/ movment ou weapons? Kk

Postado

 

ai regista no XML
 

<event type="statschange" name="RingMaisDano" event="script" value="NOME-DO-SCRIPT.lua"/>


E registrar ele la no login.lua

registerCreatureEvent(cid, "RingMaisDano")

 

Agora, mullino disse:

Esse é de qual ? Creature/ movment ou weapons? Kk

creatureScripts

 

Postado
  • Autor
Agora, FeeTads disse:

 

ai regista no XML
 


<event type="statschange" name="RingMaisDano" event="script" value="NOME-DO-SCRIPT.lua"/>


E registrar ele la no login.lua


registerCreatureEvent(cid, "RingMaisDano")

 

creatureScripts

 

Obrigado.. vou já testar e volto com o feed

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 520.3k

Informação Importante

Confirmação de Termo