Ir para conteúdo
  • 0

item que apenas vip pod usar


sk8sk8ter

Pergunta

sabe como da pra fazer com que apenas jogadores vip possão usar items vip ???
e tambem como faz pra almentar uns 20% de vida e mana de quem adquirir a vip e depois q acabar a vip os 20% tabem saia
se eu não me engano minha systema é o perfct vip system por item que da vip

peguei dessa pagina aki meu vip system http://www.xtibia.com/forum/topic/138512-item-que-adiciona-vip-time/

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

@AnnaFeeh

creio que ele queira que apenas quem tenha a Storage do VIP possa usar o tal Item

no seu caso ele teria que criar uma nova vocação

 

Nem li direito /;
então ele pode seguir o seu script ou tenta esse aqui:
Vá em data/movements/script e copie um arquivo dessa pasta e nomeie para "itemvip" sem aspas, abra-o e cole:
local StorageVip = 13540
 
function onEquip(cid, item, slot)
 
if getPlayerStorageValue(cid, StorageVip) <= 0 then
   doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players vip podem usar essa arma!")
   return FALSE
end
 
return TRUE
end
Agora vá em data/movements/movements.xml abre e adicione a tag:
<movevent type="Equip" itemid="ID DO ITEM" slot="hand" event="script" value="itemvip.lua"/>
E se quiser adicionar mais armas vip, só duplica a linha acima e muda o id do item e o slot!
head
armor
legs
hand
shield
ring
necklace
feet
pickupable
----------------------------------------------------------------------------------------------------
Caso queria um script para que quando a vip acabe, o item saia do slot só seguir o procedimento abaixo!
Abra data/creaturescripts/scripts e copie um arquivo dessa pasta e nomeie para "itemlogin" sem as aspas e nele cole:

function onLogin(cid)
 
itensVip = { "2408", "8850", "7413" } -- itens vips
 
if (getPlayerStorageValue(cid, 55555) <= 0) then
for i=0, #itensVip do
for b = 1,9 do
if (getPlayerSlotItem(cid, b) == itensVip[i]) then
doPlayerRemoveItem(cid, itensVip[i])
local bag = doPlayerAddItem(cid, 1988, 1)
doAddContainerItem(bag, itensVip[i], 1)
end
end
end
end
 
return TRUE
end

abra data/creaturescripts/creaturescripts.xml e cole a tag:
<event type="login" name="ItemLogin" event="script" value="itemlogin.lua"/>
Acho que é só isso,
Abraços.
Link para o comentário
Compartilhar em outros sites

  • 0

 

function onEquip(cid, item, slot)

if getPlayerStorage(13540,4) then

return doPlayerSendCancel(cid,"Somente VIP)

end

return true

end

 

 

 

<movevent type="Equip" itemid="id do seu item" slot="hand" event="script" value="nomedoscript.lua"/>
Editado por Shoguns
Link para o comentário
Compartilhar em outros sites

  • 0
Acho que o modo mais simples mesmo, seria bloquear o uso de itens VIP para vocações não-VIP.

Isso é feito dentro de dois arquivos XML: weapons e movements. O primeiro para armamentos em geral, o segundo para equipamentos.


Ao abrir o primeiro arquivo, você irá deverá localizar estes tipos de tags nele,

<melee id="ID DO ITEM" level="LEVEL REQUERIDO" unproperly="1" event="function" value="default"/>


Para fazer com que apenas certas vocações usem o item, você deverá usar o tipo de tag abaixo,

<melee id="ID DO ITEM" level="LEVEL REQUERIDO" unproperly="1" event="function" value="default">
<vocation id="ID DA VOCATION"/>
</melee>]


ID DO ITEM - ID do armamento VIP

LEVEL REQUERIDO - Se houver, Level necessário para usar o item,

ID DA VOCATION - Vocação que pode usar o item, você pode criar 'n' linhas para 'n' vocações.


Agora vejamos o segundo arquivo, onde você encontrará tags que nem essas abaixo,

<movevent type="Equip" itemid="ID DO ITEM" slot="SLOT" level="LEVEL" event="function" value="onEquipItem"/>


Para restringir o uso a certas vocações, basta fazer tags parecidas com essas,

<movevent type="Equip" itemid="ID DO ITEM" slot="SLOT" level="LEVEL" event="function" value="onEquipItem">
<vocation id="ID DA VOCATION"/>
</moveevent>


ID DO ITEM - ID do equipamento VIP.

SLOT - O slot onde o item é equipado, se é uma armadura, o slot é 'armor' e assim por diante. Veja abaixo os slots:

head
armor
legs
feet
shield
ring
necklace
pickupable


LEVEL - Level requerido para equipar o item, 0 se não for necessário.

ID DA VOCATION - Vocação que pode usar o item, você pode criar 'n' linhas para 'n' vocações.


--------------------------------------------------------------------------------



Se for outros itens , Nesse caso, você deveria abrir o script que faz a função desse item, que provavelmente está em Actions.

E fazer uma função verificadora para vocações VIPs, baseando-se no Tibia, seriam quatro vocações e a função verificadora ficaria assim:

if isInArray({9, 10, 11, 12}, getPlayerVocation(cid)) then
bloco true
else
bloco false
end


O bloco true fará a função do item e o bloco false fará, exemplo, uma mensagem de erro ("Você não é VIP para usar esse item")


Acho que é só isso,


Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

o seguinte eu sei o esquema da vocaçao porem quando o cara poem a vip ele nw troca pra vocaçao nem uma como faço pq tem uma vocaçao epic no meu serv porem como faz a vip vira aquela vocaçao quando usado o item q da a vip

Link para o comentário
Compartilhar em outros sites

  • 0

o seguinte eu sei o esquema da vocaçao porem quando o cara poem a vip ele nw troca pra vocaçao nem uma como faço pq tem uma vocaçao epic no meu serv porem como faz a vip vira aquela vocaçao quando usado o item q da a vip

 

Tente as scripts que mandamos

Link para o comentário
Compartilhar em outros sites

  • 0

 

assim esse deu erro no começo ao abrir o ot depois percebi que faltava fechar aspas ali no so vip ai não deu erro porem depois quando eu vo por o item na mão do char da erro e nem vip nem sem vip da certo

 

e o do id do item e da vocação da certo porem minha vip não da vocação então não da certo

por isso seria bom se tipo quando usasse o item o char virasse vip e ganhasse nova vocação que tem os id 9,10,11,12

Link para o comentário
Compartilhar em outros sites

  • 0

assim esse deu erro no começo ao abrir o ot depois percebi que faltava fechar aspas ali no so vip ai não deu erro porem depois quando eu vo por o item na mão do char da erro e nem vip nem sem vip da certo

 

e o do id do item e da vocação da certo porem minha vip não da vocação então não da certo

por isso seria bom se tipo quando usasse o item o char virasse vip e ganhasse nova vocação que tem os id 9,10,11,12

 

Tente assim:

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
 
local config={
removeOnUse = "yes" -- remover quando usar ("yes" or "no")
}
 
local days = 35 -- dias que serão adicionados
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 13540)
local timenow = os.time()
 
if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then
time = timenow + daysvalue
else
time = storageplayer + daysvalue
end
 
doPlayerSetVocation(cid, getPlayerVocation(cid) +8)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
setPlayerStorageValue(cid, 13540, time)
local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))
doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
if (config.removeOnUse == "yes") then
doRemoveItem(item.uid, 1)
end
 
return TRUE
end

 

ali onde está doPlayerSetVocation(cid, getPlayerVocation(cid) +8)

8 é o ID da vocação

Link para o comentário
Compartilhar em outros sites

  • 0

colo esse script no lugar do outro meu vip certo ....

 

 

 

depois onde ta isso coloko minhas vocação o id dela tipo esse aki

doPlayerSetVocation(cid, getPlayerVocation(cid) +8)

doPlayerSetVocation(cid, getPlayerVocation(cid) +9,10,11,12)

 

ou dexo assim

doPlayerSetVocation(cid, getPlayerVocation(cid) +9+10+11+12)

 

ou dexo com

Link para o comentário
Compartilhar em outros sites

  • 0

colo esse script no lugar do outro meu vip certo ....

 

 

 

depois onde ta isso coloko minhas vocação o id dela tipo esse aki

doPlayerSetVocation(cid, getPlayerVocation(cid) +8)

doPlayerSetVocation(cid, getPlayerVocation(cid) +9,10,11,12)

 

ou dexo assim

doPlayerSetVocation(cid, getPlayerVocation(cid) +9+10+11+12)

 

ou dexo com

 

Substitua pelo o arquivo addvip.lua que está na pasta data\actions\scripts

não faça nenhuma alteração, apenas adicione uma vocação e veja se está funcionando

Link para o comentário
Compartilhar em outros sites

  • 0

 

Substitua pelo o arquivo addvip.lua que está na pasta data\actions\scripts

não faça nenhuma alteração, apenas adicione uma vocação e veja se está funcionando

não deu com o +8 mais esperimentei colokar +9 ai deu so o epic master sorcer e os outro fika como no vocation

Link para o comentário
Compartilhar em outros sites

  • 0

não deu com o +8 mais esperimentei colokar +9 ai deu so o epic master sorcer e os outro fika como no vocation

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
 
local config={
removeOnUse = "yes" -- remover quando usar ("yes" or "no")
}
 
local days = 35 -- dias que serão adicionados
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 13540)
local timenow = os.time()
 
if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then
time = timenow + daysvalue
else
time = storageplayer + daysvalue
end
 
doPlayerSetVocation(cid, 8)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
setPlayerStorageValue(cid, 13540, time)
local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))
doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
if (config.removeOnUse == "yes") then
doRemoveItem(item.uid, 1)
end
 
return TRUE
end
Link para o comentário
Compartilhar em outros sites

  • 0

 

 

Nem li direito /;

então ele pode seguir o seu script ou tenta esse aqui:

 

Vá em data/movements/script e copie um arquivo dessa pasta e nomeie para "itemvip" sem aspas, abra-o e cole:

local StorageVip = 13540 function onEquip(cid, item, slot) if getPlayerStorageValue(cid, StorageVip) <= 0 then   doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players vip podem usar essa arma!")   return FALSEend return TRUEend

Agora vá em data/movements/movements.xml abre e adicione a tag:

 

 

E se quiser adicionar mais armas vip, só duplica a linha acima e muda o id do item e o slot!

headarmorlegshandshieldringnecklacefeetpickupable

----------------------------------------------------------------------------------------------------

 

Caso queria um script para que quando a vip acabe, o item saia do slot só seguir o procedimento abaixo!

 

Abra data/creaturescripts/scripts e copie um arquivo dessa pasta e nomeie para "itemlogin" sem as aspas e nele cole:

 

function onLogin(cid) itensVip = { "2408", "8850", "7413" } -- itens vips if (getPlayerStorageValue(cid, 55555) <= 0) thenfor i=0, #itensVip dofor b = 1,9 doif (getPlayerSlotItem(cid, b) == itensVip[i]) thendoPlayerRemoveItem(cid, itensVip[i])local bag = doPlayerAddItem(cid, 1988, 1)doAddContainerItem(bag, itensVip[i], 1)endendendend return TRUEend

 

 

abra data/creaturescripts/creaturescripts.xml e cole a tag:

 

 

 

Acho que é só isso,

Abraços.

 

cara não vamo complicar vc me ajuda demais demais .... testei o seu de bloquear o item funciono perfeitamente so troquei o tipo que a msg aparece antes ela aparecia no serv log ai mudei pra esse cid, MESSAGE_INFO_DESCR e aparece em verde na tela fico show de bola vc é muito bom ai quando vc tive tempo me manda la como adcionar as vocações na vip e como deixar o vip com 30% a mais de vida e de mana que os que não tem vip vlw

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

  • 0

cara não vamo complicar vc me ajuda demais demais .... testei o seu de bloquear o item funciono perfeitamente so troquei o tipo que a msg aparece antes ela aparecia no serv log ai mudei pra esse cid, MESSAGE_INFO_DESCR e aparece em verde na tela fico show de bola vc é muito bom ai quando vc tive tempo me manda la como adcionar as vocações na vip e como deixar o vip com 30% a mais de vida e de mana que os que não tem vip vlw

 

Tá certo, depois quando estiver com um tempinho mando lá com adicionar as vocações ^^

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...