OT

Limitar Arma A Uma Vocation!

Por othereality, 09 de fev. de 2012 em Scripts

script
15
2.4k
otherealityO
09 de fevereiro de 2012 às 22:53

Então galera nesse tópico explica as edições na source que são necessárias para que o player possa equipar duas armas one-hand e some o ataque delas e etc...

 

Mas eu queria limitar a possibilidade de equipar duas armas para uma vocation ou para players com um storage.

É possível fazer em script?

HisashiitYamagutiH
09 de fevereiro de 2012 às 23:08

Tópico postado na área errada amigo.

Área correta: Pedidos de Scripts

 

Procure antes de postar.

 

Por que reportei?

R: O Seu tópico está na área errada, pois eu até me confundi quando fui reportar, pois esse tópico pergunta uma coisa e pede uma coisa.

Tem que deixar mais claro, seja direto e não fique demorando para falar o objetivo, pois se não pode ser que você interprete mal e as outras pessoas imagine.

Mas eu entendi que você está pedindo um script e você não tem a base dele.

otherealityO
09 de fevereiro de 2012 às 23:14

Cara duvida e pedido e mto complicado de saber onde postar nas eu perguntei se é possível me parece mais uma duvida.

 

esse tópico pergunta uma coisa e pede uma coisa.

 

Apenas pergunta uma coisa.

HisashiitYamagutiH
09 de fevereiro de 2012 às 23:47

Você está perguntando se é possível fazer um script que provavelmente não exista?

Man...

 

Mas eu queria limitar a possibilidade de equipar duas armas para uma vocation ou para players com um storage.

Eu entendi que você quis pedir um script, pois você falou isso.

Sinceramente, ninguém faz esse tipo de pergunta.

Editado Fevereiro 9 por HisashiItYamaguti

otherealityO
10 de fevereiro de 2012 às 00:16

Cara eu não se postei no lugar certo mas só fiz uma pergunta.

Eu acredito que a seção de pedidos é para coisas mais concretas, eu nem sei se isso é possível de se fazer.

HisashiitYamagutiH
10 de fevereiro de 2012 às 10:28

Se estás nas mãos do Byerne, tudo és possível.

KSPaksoPAKSpaksOASKPaskASpokasPAKSO.

 

Mas é confuso a sua dúvida, eu acho que só pode ser feita nas sources.

bepokemonB
10 de fevereiro de 2012 às 11:00

Entonces. Voce nao pode "cancelar" o fato do player equipar dois items, voce precisaria mesmo editar a source e escolher uma das opcoes:

-> Só deixar X vocation usar duas armas.

-> Só deixar X storage usar duas armas.

-> Só deixar usar como segunda arma Ys items.

 

Já para LUA, caso nenhum dos seus items usem attributos extras (Refine, Slot, etc ...) voce pode remover o item equipado e adicionar otro igual:

function onEquip(cid, slot, item)
if getPlayerStorageValue(cid, storage) ~= 1 then
local itemid, count = item.itemid, item.type > 1 and item.type or 1
doRemoveItem(item.uid, count)
doPlayerAddItem(cid, itemid, count)
doPlayerSendCancel(cid, "You may not equip this item.")
end
return true
end

otherealityO
10 de fevereiro de 2012 às 12:44

O problema é o sistema de refine mesmo =/

Obrigado pela ajuda.

LordfireL
10 de fevereiro de 2012 às 19:40

Eu ~~acho~~ que isso de deixar só uma arma na mão por vez é definido nas sources.

otherealityO
10 de fevereiro de 2012 às 20:15

é sim, mas eu tenho as edições necessárias para poder equipar duas armas.

 

Porem eu queria limitar isso para uma vocation ou storage, entende?

bepokemonB
10 de fevereiro de 2012 às 20:26

é sim, mas eu tenho as edições necessárias para poder equipar duas armas.

 

Porem eu queria limitar isso para uma vocation ou storage, entende?

 

Posta o code em C++ pra gente tentar fazer alguma coisa ...

otherealityO
10 de fevereiro de 2012 às 20:42

Ai está:

 

http://www.xtibia.com/forum/topic/167172-two-weapons-system/

5 meses depois...
EskyloE
05 de julho de 2012 às 23:37

acho q com docopyitem, os atributos (refine e etc) do item vao ser preservados. nao testei :~ pode ter erros bobos:

 

 

local allowedVocations = {1, 2} --vocacoes q podem usar, separadas por virgula
local storageNeeded = 1234 --storage necessaria
function onEquip(cid, slot, item)
local slot2 = slot == 5 and 6 or 5
local item2 = getPlayerSlotItem(cid, slot2)
local weaponType = {1,2,3} --1,2,3 é sword,club,axe q é as q podem ser equipadas em 2 maos...
if isInArray(getItemWeaponType(item.uid), weaponType) and isInArray(getItemWeaponType(item2.uid), weaponType) then
if not isInArray(allowedVocations, getPlayerVocation(cid)) and getPlayerStorageValue(uid, storageNeeded) > 0 then
local item3 = doCopyItem(item.uid, true)
doPlayerAddItemEx(cid, item3.uid)
doRemoveItem(item.uid, 1)
doPlayerSendCancel(cid, "You may not equip two weapons at the same time.")
end
end
return true
end

otherealityO
06 de julho de 2012 às 12:49

Pow o tópico é meio antigo né..

Eu tinha desistido de usar assim.

O objetivo era fazer os rogues poderem equipar duas facas no meu OT, mas fiz facas two-hand.

Agora to meio ocupado com outras coisas aqui mas depois eu ponho as edições na source e testo, se funcionar vou usar com certeza.

vlw Eskylo.

06 de julho de 2012 às 13:05

tem erros no código do eskylo...

 

@byerne

 

ao invés de remover o item e adicionar de novo, não é só usar return false?

 

não testei, por isso to perguntando.