Jump to content

Spriting Somente remover o item se ele for o verdadeiro


Recommended Posts

Ola, eu estive pedindo ajuda no Discord do TK, pra q o NPC somente remova o item se o item for o verdadeiro, ou seja, se voce tiver dois itens do mesmo ID na bag e, um for o veradeiro e o outro falso, ele so remove se o item verdadeiro estiver no slot 1 da bag.
Entao eu desejo q ele remova o item verdadeiro independete se tem dois ou mais itens do mesmo ID, mas que remova o que estiver com a descriçao X.
Este é NPC quem eu estive tentando fazer pra q remova somente se o item tiver X decriçao.

Spoiler

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureSay(cid,type,msg) npcHandler:onCreatureSay(cid, type, msg)
	if isInArray({"poem", "ps"}, msg) then
		npcHandler:say("Do you want to exchange this Poem for a {beach backpack}?", cid)
		talkState = 1
	local item = getPlayerItemCount(cid,6119) >= 1
	elseif msgcontains(msg, 'yes') and talkState == 1 then
		if item then
				doPlayerRemoveItem(cid,6119,1, getItemAttribute(item.uid, "description") == "test")
				doPlayerAddItem(cid,5949,1)
				npcHandler:say("here's your item", cid)
			else
				npcHandler:say("You don't have the item", cid)
		end
	end
end
npcHandler:addModule(FocusModule:new())

 

 

@Breno Alves

 

Link to post
Share on other sites

Tenta assim

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureSay(cid,type,msg) npcHandler:onCreatureSay(cid, type, msg)
	if isInArray({"poem", "ps"}, msg) then
		npcHandler:say("Do you want to exchange this Poem for a {beach backpack}?", cid)
		talkState = 1
	elseif msgcontains(msg, 'yes') and talkState == 1 then
        item = getPlayerItemCount(cid,6119) >= 1
		if item then
            if getItemAttribute(item.uid, "description") == "teste" then
				doPlayerRemoveItem(cid,6119,1)
				doPlayerAddItem(cid,5949,1)
				npcHandler:say("here's your item", cid)
            end
		else
			npcHandler:say("You don't have the item", cid)
		end
	end
end
npcHandler:addModule(FocusModule:new())

 

Link to post
Share on other sites

19 minutos atrás, Breno Alves disse:

Tenta assim



local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureSay(cid,type,msg) npcHandler:onCreatureSay(cid, type, msg)
	if isInArray({"poem", "ps"}, msg) then
		npcHandler:say("Do you want to exchange this Poem for a {beach backpack}?", cid)
		talkState = 1
	elseif msgcontains(msg, 'yes') and talkState == 1 then
        item = getPlayerItemCount(cid,6119) >= 1
		if item then
            if getItemAttribute(item.uid, "description") == "teste" then
				doPlayerRemoveItem(cid,6119,1)
				doPlayerAddItem(cid,5949,1)
				npcHandler:say("here's your item", cid)
            end
		else
			npcHandler:say("You don't have the item", cid)
		end
	end
end
npcHandler:addModule(FocusModule:new())

 


image.thumb.png.b6a2d7d65696ad2b44326f0dfd24cad0.png

Alterei getPlayerItemCount(cid,6119) >= 1
por getPlayerItemById(cid, true, 6119)
nao gerou erro mas tbm nao removeu o item

Edited by Backa (see edit history)
Link to post
Share on other sites

14 horas atrás, Backa disse:

Ola, eu estive pedindo ajuda no Discord do TK, pra q o NPC somente remova o item se o item for o verdadeiro, ou seja, se voce tiver dois itens do mesmo ID na bag e, um for o veradeiro e o outro falso, ele so remove se o item verdadeiro estiver no slot 1 da bag.
Entao eu desejo q ele remova o item verdadeiro independete se tem dois ou mais itens do mesmo ID, mas que remova o que estiver com a descriçao X.
Este é NPC quem eu estive tentando fazer pra q remova somente se o item tiver X decriçao.

  Mostrar conteúdo oculto


local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureSay(cid,type,msg) npcHandler:onCreatureSay(cid, type, msg)
	if isInArray({"poem", "ps"}, msg) then
		npcHandler:say("Do you want to exchange this Poem for a {beach backpack}?", cid)
		talkState = 1
	local item = getPlayerItemCount(cid,6119) >= 1
	elseif msgcontains(msg, 'yes') and talkState == 1 then
		if item then
				doPlayerRemoveItem(cid,6119,1, getItemAttribute(item.uid, "description") == "test")
				doPlayerAddItem(cid,5949,1)
				npcHandler:say("here's your item", cid)
			else
				npcHandler:say("You don't have the item", cid)
		end
	end
end
npcHandler:addModule(FocusModule:new())

 

 

@Breno Alves

 


É pra checar se existe um ITEMID X com a descrição X no SLOT 1 e caso sim, remover?
Se não for isso reformule a sua ideia.

Link to post
Share on other sites

3 horas atrás, 139 disse:


É pra checar se existe um ITEMID X com a descrição X no SLOT 1 e caso sim, remover?
Se não for isso reformule a sua ideia.


image.png.86851d938e88f5751bca179971d5d53a.png

o item verde é quem esta com a descriçao, e o vermelho, é o normal.

Entao ele vai checar se o Player tem o item verde e vai remover somente o verde. Que no caso com a descriçao.
Porem, se tiver 2 itens do mesmo ID como a imagem mostra, ele so remove se o item verde for, o primeiro do slot da bag ou seja, se ele estiver lugar do item vermelho. Ou se o item verde for o unico item na bag.
entao eu gostaria que ele removesse somente o item verde idependete de qual slot esteja e quantos outros itens do mesmo ID tenha.
 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Madarada
      Fala galera, beleza?
       
      Quem não lembra daqueles tutoriais que eu fiz anos atrás da série Sprite Seduction?
       
      Pois é, o paizão está de volta melhor e mais forte e gostaria de compartilhar com os senhores 2 tutorias recentes que fiz para nossa comunidade.
      Aproveitem, mais tutoriais estão à caminho...
       
       
       
      Participe da Academia de Pixel
      https://discord.gg/BjK7dBgc
    • By Daniel albino
      Alguem tem as spells base do avaOT
      como a a-bow nao sei se voces lembra que ela atacava um arrow ou um bolt conforme a weapon e gastava uma munição, meu eu achei muitas scrips top do @xWhiteWolf porem, tenho multa dificuldade para altrar pos nao sao skill simples como mudar calc dmg, de mag lvl para skill ou mudar alguns efeito , se alguem pode ajudar
       
    • By atreiusx
      .Qual servidor ou website você utiliza como base? 
      OTX
       
      Qual o motivo deste tópico? 
      Olá rapazeada do tk, alguém poderia me ajudar com esse script que estou tentando criar para uma quest? Estou tentando fazer 3 pisos diferente, assim que o jogador pisar em cada um desses pisos eles serão "ativados" e uma parte de uma ponte será ativada.
      no momento so coloquei um piso para ser ativado e está funcionando, so estou tendo problema com uma única coisa. No momento assim que o jogador pisar no piso "15295" ele se transforma no "15296", Mas estou precisando que o desative depois que a parede sumir, no caso o piso "15296" voltar para o "15295" depois de algum tempo.
      Eu também estava precisando de colocar um check, para o script so funcionar novamente assim que a parede for removida e o piso for desativado, ai outros jogadores irão poder ativar o piso novamente. OBS: no momento pode passar pelo o piso quantas vezes quiser e a parede sempre é criada, alguém poderia me ajudar com isso?
       
       
      Você tem o código disponível? Se tiver publique-o aqui: 
      function onStepIn(cid, item, itemEx, pos) posp1 = {x=839, y=868, z=7, stackpos=1} if isPlayer(cid) and item.uid == 19397 then doCreateItem(6973, 1, posp1) doTransformItem(item.uid, item.itemid == 15295 and 15296) local remove = {cid=cid, item=item, pos=pos, posp1=posp1} addEvent(onTime,6*6*100,remove) return true end end function onTime(remove) getp1 = getThingfromPos(remove.posp1) doRemoveItem(getp1.uid, 1) end   
    • By gordorezzi
      boa tarde pessoal como voces estao ? otimos ?
       
      eu recentemente estou migrando para poketibia eu tinha um server de tibia mas estou perdido com tudo no pokemon kkk 
       
      eu gostaria de saber se tem como trocar os icone que fica na bag das pokeball com pokemon dentro tipo tirar a pokeball e mostrar o pokemon em si msm 
       
      e trocar sprites de itens por exemplo dinheiro 
       
      obrigado pela atenção  amo todos 
       

       
    • By vncoutinho
      Opa galerinha, to precisando de uma ajuda pra quem manja de object builder, estava querendo trocar uma grama, fazer uma substituição para não precisar trocar do mapa inteiro, porém estou com um certo problema
       
      - Ela é composta por 2 camadas

       
      Não sei como funciona esse negócio de camada, eu substitui porém o mato ficou igual o que eu quero, porém ele tem meio que flores e etc para mesclar, a mesma coisa que esse ai tem.
       
      Exportei a imagem comoPNG e ela veio assim :
      Até ai beleza, fiz a substituição bloco por bloco, mais como o object builder só aceita 32x32, não funcionou.
      Não faço ideia de como fazer para mesclar os blocos de 32x32 desse jeito.
      Alguém teria como ajudar?
      @xWhiteCat help
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

Confirmação de Termo