Ir para conteúdo

Featured Replies

Postado

Boa noite galera do TK utilizo tfs 8.60

Eu gostaria de um sistema de recompensa, se o jogador que morreu estiver com 

X storage o jogador que matou receberia esse item : 5943

Y storage o jogador que matou receberia esse item :  5808

caso o jogador que foi morto não tivesse nenhuma das duas storage o jogador que matou ele receberá esse item 5805

Rep ++

Editado por OinomedRellik (veja o histórico de edições)

Resolvido por Storm

Ir para solução
  • Respostas 17
  • Visualizações 1.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @OinomedRellik Testa aí, eu tinha esquecido de nomear as variáveis corretamente (muito tempo sem programar da nisso) local config = { storageX = 1001, itemX = 5943, countX = 1, StorageY =

  • @OinomedRellik Tenta assim:    

Postado

@OinomedRellik 

 

Script:

local config = {
	
	storageX = 1001,
	itemX = 5943,
	countX = 1,
	
	StorageY = 1002,
	itemY = 5808,
	countY = 1,
	
	item0 = 5805,
	count0 = 1	
}

function onKill(cid, target, lastHit)
	if isPlayer(target) then
		if getPlayerStorageValue(target, storageX) == 1 then
			doPlayerAddItem(cid, itemX, countX)
		elseif getPlayerStorageValue(target, storageY) == 1 then
			doPlayerAddItem(cid, itemY, countY)
		else
			doPlayerAddItem(cid, item0, count0)
		end
	end
	return true
end

 

XML:

<event type="kill" name="Recompensa" event="script" value="recompensa.lua"/>

 

Não se esqueça de registrar o comando abaixo no login.lua:

registerCreatureEvent(cid, "Recompensa")

 

Postado
  • Autor
5 minutos atrás, Storm disse:

@OinomedRellik 

 

Script:


local config = {
	
	storageX = 1001,
	itemX = 5943,
	countX = 1,
	
	StorageY = 1002,
	itemY = 5808,
	countY = 1,
	
	item0 = 5805,
	count0 = 1	
}

function onKill(cid, target, lastHit)
	if isPlayer(target) then
		if getPlayerStorageValue(target, storageX) == 1 then
			doPlayerAddItem(cid, itemX, countX)
		elseif getPlayerStorageValue(target, storageY) == 1 then
			doPlayerAddItem(cid, itemY, countY)
		else
			doPlayerAddItem(cid, item0, count0)
		end
	end
	return true
end

 

XML:


<event type="kill" name="Recompensa" event="script" value="recompensa.lua"/>

 

Não se esqueça de registrar o comando abaixo no login.lua:


registerCreatureEvent(cid, "Recompensa")

 

 

da um error

[Error - CreatureScript Interface]
data/creaturescripts/scripts/news/heartecerebro.lua:onKill
Description:
(luaDoPlayerAddItem) Item not found
 

Postado
local nomeItem, itemNull, qtd = "NOME DO ITEM", 5805, 1
local config = {
	[storageX] = {"NOME DO ITEM", {item_id, QTD}},
	[storageY] = {"NOME DO ITEM", {item_id, QTD}}
}

function onKill(cid, target, lastHit)
if (not isPlayer(cid)) or (not isPlayer(target)) then
	return true
end

  	for storage, itemId in pairs(config) do
  		if getPlayerStorageValue(cid, storage) ~= -1 then
    		doPlayerAddItem(cid, itemId[2])
      		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Você matou ".. getPlayerName(target) .." e recebeu ".. itemId[1] ..".")
      	else
    		doPlayerAddItem(cid, itemNull, qtd)
      		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Você matou ".. getPlayerName(target) .." e recebeu ".. nomeItem ..".")
      	end
    	break
  	end
  	return true
end

 

<event type="kill" name="killReward" event="script" value="killPlayer.lua"/>

 

registerCreatureEvent(cid, "killReward")

 

 

ItemNull = Caso o jogador não tenha nenhuma das storages

qtd = a quantidade do itemNull

 

StorageX e Y = Storage que você quer adicionar

item_id e QTD é os itens e a quantidade

Editado por KOLISAO (veja o histórico de edições)

 

Postado
  • Autor
13 minutos atrás, KOLISAO disse:

local itemNull, qtd = 5805, 1
local config = {
	[storageX] = {item_id, QTD},
	[storageY] = {item_id, QTD}
}

function onKill(cid, target, lastHit)
if (not isPlayer(cid)) or (not isPlayer(target)) then
	return true
end

  	for storage, itemId in pairs(config) do
  		if getPlayerStorageValue(cid, storage) ~= -1 then
    		doPlayerAddItem(cid, itemId[1], itemId[2])
      	else
    		doPlayerAddItem(cid, itemNull, qtd)
      	end
  	end
  	return true
end

 


<event type="kill" name="killReward" event="script" value="killPlayer.lua"/>

 


registerCreatureEvent(cid, "killReward")

 

 

o item sem storage tá entregando corretamente o problema é que lá na quantidade está [1] e está vindo [2] items

e será que tem como por para receber uma mensagem no default com cor orange  nas 3 recompensa?

Exemplo : você acaba de matar um player com X storage, Y storage ou sem storage

 

 

o meu tá dessa maneira e o item sem storage tá vindo 2 invez de 1

Spoiler

local itemNull, qtd = 5805, 1
local config = {
    [1001] = {5943, 1},
    [1002] = {5808, 1}
}

function onKill(cid, target, lastHit)
if (not isPlayer(cid)) or (not isPlayer(target)) then
    return true
end

      for storage, itemId in pairs(config) do
          if getPlayerStorageValue(cid, storage) ~= -1 then
            doPlayerAddItem(cid, itemId[1], itemId[2])
          else
            doPlayerAddItem(cid, itemNull, qtd)
          end
      end
      return true
end

 

Editado por OinomedRellik (veja o histórico de edições)

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo