Ir para conteúdo
  • Cadastre-se

(Resolvido)[PEDIDO] Item só pode ser EQUIPADO se tiver determinada storage


Ir para solução Resolvido por mattosknight,

Posts Recomendados

MMHUCMQ.png  Esta é uma mensagem automática, este tópico foi movido para a área correta.
  Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680

Este tópico foi movido:
De: Scripting OTServ > OTServ > CreatureScripts, GlobalEvents e MoveMents
Para: Suporte OTServ > OTServ > Suporte de Scripts

Link para o post
Compartilhar em outros sites

Em /data/movements/scripts/

 

equipstor.lua

local storage = 13645 -- Storage necessaria para usar o item aqui.

function onEquip(cid, item)
	if getPlayerStorageValue(cid, storage) < 1 then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don't have enough power to equip this item.")	
	else
	return true
	end
end

Procure pelo ID do item em /data/movements/movements.xml e altere a linha deixando-a assim.

 

<movevent type="Equip" itemid="XXXX" slot="legs" event="script" value="equipstor.lua"/>

 

Não testei!

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

Link para o post
Compartilhar em outros sites
  • Solução
1 hora atrás, Azhaurn disse:

 

Tópicos de referencia.

@mattosknight

 

 

 

 

1 hora atrás, Way20 disse:

Em /data/movements/scripts/

 

equipstor.lua


local storage = 13645 -- Storage necessaria para usar o item aqui.

function onEquip(cid, item)
	if getPlayerStorageValue(cid, storage) < 1 then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don't have enough power to equip this item.")	
	else
	return true
	end
end

Procure pelo ID do item em /data/movements/movements.xml e altere a linha deixando-a assim.

 


<movevent type="Equip" itemid="XXXX" slot="legs" event="script" value="equipstor.lua"/>

 

Não testei!

 

Agradeço aos 2, ajudaram bastante ! Resolvi aqui com base na resposta dos 2, muito obrigado.

 

1 hora atrás, Way20 disse:

Em /data/movements/scripts/

 

equipstor.lua


local storage = 13645 -- Storage necessaria para usar o item aqui.

function onEquip(cid, item)
	if getPlayerStorageValue(cid, storage) < 1 then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don't have enough power to equip this item.")	
	else
	return true
	end
end

Procure pelo ID do item em /data/movements/movements.xml e altere a linha deixando-a assim.

 


<movevent type="Equip" itemid="XXXX" slot="legs" event="script" value="equipstor.lua"/>

 

Não testei!

 

Só mais um dúvida.. meu script no movements do item é o seguinte: 

	<movevent type="Equip" itemid="9928" slot="legs" event="function" value="onEquipItem">
		<vocation name="Mystical Sorcerer"/>
		<vocation name="Celestial Druid"/>
      	</movevent>
	<movevent type="DeEquip" itemid="9928" slot="legs" event="function" value="onDeEquipItem"/>

como eu registro no movements ja que o item tem vocação pra ser usado ?

 

@Way20

Editado por mattosknight (veja o histórico de edições)
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 Doria Louro
      Olá nobre senhores, tudo bem com vocês?
      Servidor: TFS 0.3.6
      Cliente:    8.60
       
      Estou com a seguinte ideia, criar conjuntos de equipamentos em meu servidor, que aumente os atributos do player ao utilizar o conjunto/set completo, exemplo:

       
      Um exemplo dos itens contidos no meu itens.xml:
      <item id="2487" article="a" name="warrior armor"> <attribute key="weight" value="9000" /> <attribute key="armor" value="13" /> <attribute key="skillSword" value="1" /> <attribute key="skillAxe" value="1" /> <attribute key="skillClub" value="1" /> <attribute key="slotType" value="body" /> <attribute key="healthGain" value="2" /> <attribute key="healthTicks" value="3000" /> <attribute key="description" value="+2 HP every 3s, Sale value: $5000" /> </item>  
      Em meu movements.xml:
      <movevent type="Equip" itemid="2487" level="30" slot="armor" event="function" value="onEquipItem"> <vocation id="8" /> </movevent> <movevent type="DeEquip" itemid="2487" slot="armor" event="function" value="onDeEquipItem" />  
      Entretanto eu fico limitado aos eventos de Equip default, se eu altero para meu script full_set.lua:
      <movevent type="Equip" itemid="2487" level="30" slot="armor" event="script" value="full_set.lua"> <vocation id="8" /> </movevent>  
      Executando meu script  eu perco os atributos contidos no itens.xml, tais como o aumento de skill, ganho de HP por segundo e também qualquer vocação pode utilizar o equipamento.
       
      Simplificando, é possível utilizar os recursos padrões de Equip do movements e adicionar um/mais scripts personalizáveis sem perder as funcionalidades da function onEquipItem?
      Meu objetivo é quanto mais partes do set o jogador possuir, mais bônus ele obterá, um exemplo:
       
      Warrior Set
      [2 peças] - Aumenta em 100 HP total
      [4 peças] - Aumenta em 2 shielding
       
      Eu tenho uma ideia de colocar essa verificação no creaturescripts, entretanto não gostaria de tomar esse rumo pois acredito que poderia sobrecarregar meu servidor com as verificações por thing.
      Efetuei consultas pela internet e geralmente o pessoa que tem essa duvida utiliza itens que não tem status, tipo um ring, no meu caso é diferente.
       
      Possível solução: Seria utilizar o código Equip padrão no meu script e depois aplicar meu código, entretanto eu não encontrei em nenhum local esse script de Equip,
       
      Quem puder me ajudar eu ficaria eternamente grato já que esse é um sistema chave no meu projeto, agradeço desde já
    • Por 4Unknow
      Primeiramente, um bom dia, boa tarde ou boa noite para toda comunidade.
      Vou tentar ser o mais breve possível e objetivo com vocês.

      Esse projeto consiste em trazer um servidor PLAY to EARN, onde o jogador irá jogar para ganhar.
      O famoso sistema NFT, que vem dominado nossa geração com inúmeros jogos todos os dias.
      Mas o que é NFT? Abaixo explico melhor. Sem  muitas delongas, estou disposto a criar um projeto
      de servidor de Tíbia com sistema NFT. 

      Estou em busca de uma equipe competente, responsável e que seja qualificada. Atualmente eu trabalho
      com bolsa de valores, tenho minha empresa e muito tempo para investir, e investir de forma monetária
      também quanto de estrutura. Possuo servidor VPS(brasil ou exterior) onde pode ser escalável de acordo com a necessidade.

      Possuo domínio e hospedagem para mais de 5 anos.
       

       
       O sistema NFT(non-fungible token). 
      O que são jogos NFT?
      Como praticamente qualquer coisa na internet pode se tornar um token não-fungível — de fotos, vídeos e GIFs a mensagens, arquivos de áudio e outros conteúdos —, jogos NFT seguem a mesma lógica: transformar o game inteiro ou algum elemento daquele título em algo único.
      O que costuma diferenciar os jogos NFT das demais obras é que os games têm investido em itens colecionáveis para atrair mais pessoas. Os jogadores, por sua vez, enxergam nesses itens a possibilidade de lucrar com peças exclusivas, já que, como cada NFT dentro do jogo é único, ele pode ser considerado raro entre os jogadores.
       
       

       
      Concluindo então. O projeto  atualmente precisa de webmasters
      para os sistemas NFT, onde posso colaborar na parte PHP/HTML.

      Parte gráfica consigo colaborar também. Então quem estiver disposto
      em entrar para essa aventura junto comigo. Fiquem a vontade para
      responder a este tópico.
       
      Contato-Discord:
       4Unknow#1163
    • Por nelsonjrs
      Olá Tibainos, venho por esse post, para anunciar e convidar quem queira ajudar, e participar, desse projeto, atualmente venho desenvolvendo ele sozinho. Busco traser um servidor diferenciado, porém, com mecânicas simples, para um bom divertimento.
       
      --O que tenho no servidor e as ideia proposta por ele:
      Bom será um servidor com Teleport para facilitar um pouco a vida dos jogadores, aberto a propostas.
       
      --O servidor conta com uma classe única, dando assim a liberdade do jogador poder seguir qualquer caminho que queira.
       
      --O player poderá equipar QQ tipo de arma dês de espada a varinhas mágicas 
       
      --Poderar fazer o uso inclusive de duas armas ao mesmo tempo, podendo assim fazer várias combinações de armas e estilos de jogos, inclusive armas mágicas e físicas.
       
      --algumas armas, tem um ataque adicial, aonde ao usar o botão direito do mause o player, libera um ataque da arma ou uma cura dependendo da arma.
       
      -- Para poder ficar melhor, ao passar de nível o player ganhara pontos aonde poderá ser trocado, por vida, mana ou esquiva.
       
      -- Magias seram compradas ou por meio de quests, as magias serão reformuladas para uma melhora no jogo, tendo assim que escolher com muita sabedoria as suas magias para poder ser um tank, healer ou Dps.
       
      -- um sistema de anéis mágicos aonde quando equipados aumenta a segunda habilidade da sua arma
       
      -- Sistema de raridade de itens aonde poderá dropar itens raro, epco, ou legendário. E o que isso faz ? Faz com que o item venha com atributos modificados e melhorados, assim podendo gira num comércio de itens.
       
      A ideia aqui é ser um servidor livre para escolher a melhor forma de jogar. Todas as ideias a cima já estão implementadas poderem faltando ajustes.
       
      O que busco? Toda ajuda é bem para o desenvolvimento
      Dês de alguém que crie um grupo no discord e divulgue, alguém que ajude na melhoria do mapa, Scripts, e o exencial com boas ideias.
       
      Agradeço dês de jah a todos que leram, e a queles que estavam disponíveis a ajudar. Quem tiver interesse pode entrar em contato CMG aqui pelo tópico mesmo ou no PVT. Ou discord
      LocuraTibiana#0229
    • Por Sphynx1
      Olá galera, vocês conhecem as lendas dos Trolls de baixo da ponte? Eles estão sempre na espreita, aguardando alguém para roubar, assassinar, estuprar e comer suas almas (as últimas partes são brincadeira). Me baseando nessa lenda eu fiz esse simples script, é um dos primeiros códigos que consigo desenvolver sozinho(tive ajuda), eu espero que ajude alguém em algum lugar do tempoespaço, é um script ótimo se você assim como eu gosta de pontes e também sempre teve a vontade de incrementar alguns de seus mapas com scripts.




       
      1º. Acesse a pasta raiz do seu servidor, logo após siga o seguinte caminho: data/movements e abra o arquivo movements.xml. O código que você devera adicionar dentro deste arquivo está listado abaixo.
      <movevent type="StepIn" actionid="DigiteONumeroDeUmaActionAqui" event="script" value="ponte.lua"/>  
      2º. Dentro de data/movements abra a pasta 'scripts' e crie um arquivo .lua nomeado de 'ponte', dentro deste adicione o seguinte código.
      function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) local configuration = { monstrosTime = 1*5*1000, -- tempo até a criatura aparecer tempoDeStorage = 1*20*1000, -- em quanto tempo será removido a storage e se tornará possivel as criaturas resurgirem storage = 987459, -- numero da storage monsters = { [1] = {name = "Troll Champion", pos = {x = 1001, y = 1110, z = 9}}, -- Nome, quantidade e posição dos monstros, altere a vontade [2] = {name = "Troll", pos = {x = 1000, y = 1107, z = 9}}, [3] = {name = "Troll", pos = {x = 1007, y = 1109, z = 9}} } } if isPlayer(cid) == true then if getPlayerStorageValue(cid, configuration.storage) < 1 then doCreatureSay(cid, "A ponte não parece segura e quando você dá o primeiro passo ouve um grunhido e nota a presença de um ser estranho.", TALKTYPE_ORANGE_1) -- MSG que você quer exibir addEvent(function() for k, v in pairs(configuration.monsters) do doCreateMonster(v.name, v.pos) end end, configuration.monstrosTime) setPlayerStorageValue(cid, configuration.storage, 1) addEvent(function() setPlayerStorageValue(cid, configuration.storage, 0) end, configuration.tempoDeStorage) end end return true end  
      3º. Inicie o seu servidor e adicione o número da 'ActionID' que você inseriu em 'movements.xml' a algum piso de sua preferência, no caso eu adicionei no meio da ponte. Seja criativo.
    • Por Cat
      Testado em: TFS 1.0 (10.31)
      Funciona em: TFS 1.0 e TFS 0.4
      Descrição: Você leva uma determinada espada até o npc, fala com ele, ele vai pegar essa espada e ficar com ela por um certo tempo (3min), claro, você irá pagar uma quantia. Ao retornar, sua espada estará melhorada (no caso dos ids utilizados o npc irá trocar o item). Se houver algum bug, reporte que arrumaremos.
      Créditos: Jamison, Daniel.
       
      ---------- • ----------
       
      Diálogo:
       
      22:21 Daniel [250]: hi 
      22:21 Blacksmith Elf: Hello Daniel! I'm a Blacksmith Elf, I can transform your item! 
      22:21 Daniel [250]: transform 
      22:21 Blacksmith Elf: From time to time fate smiles upon those who take great risks and have strong dreams! If you have money, we can try to transform your umbral swords, axes, clubs, bows, crossbows or spellbooks. 
      22:21 Daniel [250]: club 
      22:21 Blacksmith Elf: One handed or two handed? 
      22:21 Daniel [250]: one handed 
      22:21 Blacksmith Elf: Do you want to spend your money to transform your crude umbral mace, yes or no? 
      22:21 Daniel [250]: yes 
      22:21 Blacksmith Elf: Great! Alright, I need a while to finish this club for you. Come ask me later. 22:22 Daniel [250]: hi 
      22:22 Blacksmith Elf: Hello Daniel! I'm a Blacksmith Elf, I can transform your item! 
      22:22 Daniel [250]: transform 
      22:22 Blacksmith Elf: Have you left anything here to transform ? 
      22:22 Daniel [250]: yes 
      22:22 Blacksmith Elf: You must wait until : 22:24:49. 22:25 Daniel [250]: hi 
      22:25 Blacksmith Elf: Hello Daniel! I'm a Blacksmith Elf, I can transform your item! 
      22:25 Daniel [250]: transform 
      22:25 Blacksmith Elf: Have you left anything here to transform ? 
      22:25 Daniel [250]: yes 
      22:25 Blacksmith Elf: Here you have it.  
      ---------- • ----------
       
      Fotos
       

       

       

       
      ---------- • ----------
       
      Script:
       
      data/npc/Blacksmith Elf.lua
       



       
      data/npc/scripts/blacksmith_elf.lua
       



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo