Ir para conteúdo
  • 0

Munição Pra Só Uma Arma Específica


Aerdor

Pergunta

Posts Recomendados

  • 0

Em data/movements/scripts, crie um arquivo chamado uniquearm.lua e adicione isso dentro:

 

function onEquip(cid, item, slot)
if getPlayerStorageValue(cid, 2544) < 1 then
setPlayerStorageValue(cid, 2544, getPlayerStorageValue(cid, 2544) + 1)
end
return true
end

function onDeEquip(cid, item, slot)
if getPlayerStorageValue(cid, 2544) > 0 then
setPlayerStorageValue(cid, 2544, getPlayerStorageValue(cid, 23224) - 1)
end
return true
end

 

Agora em movements.xml você adiciona a tag:

 

<movevent type="Equip" itemid="ID DO BOW" level="2" slot="shield" event="Equip" script="uniquearm.lua">

<vocation id="0"/>

<vocation id="5"/>

</movevent>

 

Em vermelho, o ID do bow que você quer, e em verde as vocações que podem usar!

 

@EDIT

 

Agora na mesma pasta (data/movements/scripts) você adiciona um arquivo com o nome uniqueammo.lua, dentro coloque isso:

 

function onEquip(cid, item, slot)
		if(item.itemid == 2544) then
			if getPlayerStorageValue(cid,2455,1) then
doPlayerSendTextMessage(cid,"Você equipou o Bow Especial!")
			end
else
doPlayerSendTextMessage(cid,"Esta munição não se usa com essa arma!")
		return true
	end
end

 

E a tag em movements.xml:

 

<movevent type="Equip" itemid="ID DO ARROW" level="2" slot="arrow" event="Equip" script="uniquearm.lua">

<vocation id="0"/>

<vocation id="5"/>

</movevent>

 

Basta editar conforme a outra tag lá em cima.

Boa sorte! Poste resultados.

Editado por Roksas
Link para o comentário
Compartilhar em outros sites

  • 0

Provavelmente seu servidor possui um arquivo chamado burst_arrow.lua na pasta data/weapons/scripts, abra-o, apague tudo que há dentro dele e cole o seguinte conteúdo abaixo:

 


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

local area = createCombatArea({
{1, 1, 1},
{1, 3, 1},
{1, 1, 1}
})

setCombatArea(combat, area)

local function getPlayerWeaponId(cid) -- By Oneshot
local ret = 0
for slot = 6, 5, -1 do
	local item = getPlayerSlotItem(cid, slot)
	if item.itemid > 0 and isInArray({1, 2, 3, 4}, getItemInfo(item.itemid).weaponType) then
		ret = item.itemid
		break
	end
end
return ret
end

function onUseWeapon(cid, var)
if getPlayerWeaponId(cid) == 7438 then
	return doCombat(cid, combat, var)
end
doPlayerSendCancel(cid, "You cannot use this arrow with this ordinary bow.")
return false
end

Editado por Oneshot
Link para o comentário
Compartilhar em outros sites

  • 0

Sim, eu botei assim:

 

function onUseWeapon(cid, var)
   if getPlayerWeaponId(cid) == 2432 then
       return doCombat(cid, combat, var)
   end
   doPlayerSendCancel(cid, "You cannot use this arrow with this ordinary bow.")
   return false
end

 

A munição é gasta com qualquer arma que eu coloco, mas n sai o dano e nem o efeito. Até aí tudo bem, gastar a munição é o de menos, o problema eh q n ta funcionando com a arma especificada :(

Link para o comentário
Compartilhar em outros sites

  • 0

- <item id="2432" article="a" name="Ultimate Fire Bow">

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

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

<attribute key="weaponType" value="distance" />

<attribute key="slotType" value="two-handed" />

<attribute key="ammoType" value="arrow" />

<attribute key="range" value="8" />

</item>

 

 

- <item id="2546" article="a" name="burst arrow" plural="burst arrows">

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

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

<attribute key="attack" value="75" />

<attribute key="hitChance" value="100" />

<attribute key="weaponType" value="ammunition" />

<attribute key="ammoType" value="arrow" />

<attribute key="shootType" value="burstarrow" />

<attribute key="ammoAction" value="removecount" />

</item>

Link para o comentário
Compartilhar em outros sites

  • 0

No caso, você tirou a linha do ID 2432 do weapons.xml, parecida com essa?

 

<melee id="2432" level="35" unproperly="1" event="function" value="default"/>

 

Mas não deixe de tentar com outro tipo de item que seja bow.

Link para o comentário
Compartilhar em outros sites

  • 0

Não modifiquei essa linha, continua a mesma coisa.

Testei até com o bow normal e não foi mano :\

 

Valeu por estar se empenhando pra ajudar, você é o único, já ganha meu rep+

Link para o comentário
Compartilhar em outros sites

  • 0

Ah, tenq ser retirada? Vo testar aqui.

To usando um global 8.54 pra testar umas paradas pro meu projeto de resident evil, testo as scripts nele antes de encaixar no do resident direitinho.

Na verdade não vai ser só de resident o servidor, vai ser de apocalypse zumbi em geral, com áreas de the walking dead, zombieland, etc. xD

Esse ultimate fire bow no server q to fazendo é a bazooka, mas o problema ehq tava dando pra usar a bala da bazooka em arma normal..

 

Mesmo retirando a linha q vc colou, ainda não funciona. Dá a msm mensagem de cancel q vc colocou. DDDDDD:

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...