Ir para conteúdo

Featured Replies

Postado

Em Data/Actions/Scripts, crie um arquivo.lua e coloque dentro:

 

-- Developed by: Denker

function OnUse(cid,item,fromPosition,item2,toPosition)

Storage =   -- Valor da storage que irá ser setada no player
ItemID =  -- Id do item
Name =  -- Nome do item
Quantidade = -- Quantidade do item
Level =  -- Level requerido para pegar o item

if getPlayerLevel(cid) >= Level and getPlayerStorageValue (cid,Storage)== -1 then 
doPlayerSendTextMessage(cid,25,"You found"..Quantidade....Name.."!") -- Mensagem que irá aparecer quando o player coletar o item
doPlayerAddItem(cid, ItemID, Quantidade)
setPlayerStorageValue (cid,Storage,1)

elseif getPlayerLevel(cid) <= Level then
doPlayerSendTextMessage(cid,25,"You need to level"..Level.."to collect this item") -- Mensagem caso o player não tenha o level necessário para pegar o item

elseif getPlayerStorageValue(cid, Storage) >= 1 then
doPlayerSendTextMessage(cid,25,"You have already collected this item") -- Mensagem caso o player já tenha pego o item
end
return true
end

Em Data/Actions/Actions.xml, coloque dentro:

 

<action actionid="ID" event="script" value="Arquivo.lua"/>

 

Reward Quest Item.gif

Postado

@Denker Parabéns pelo script, mas existem pontos que dá pra melhorar nele, segue abaixo!

 

function OnUse(cid,item,fromPosition,item2,toPosition)
local cfg = { -- crie uma tabela para configurar, assim fica mais "limpo"
  	storageQuest = 12, -- nome de variavel não começa com maiúscula
	earnedItem = 12,
	count = 11,
    	levelMin = 20,
	colorMsg = "Orange"
}
	
	if ( getPlayerStorageValue(cid, cfg.storageQuest) > 0 ) then
    	doPlayerSendTextMessage(cid, MESSAGE_TYPES[cfg.colorMsg], "You have already completed this quest!.")
    		return true
	end

	if ( getPlayerLevel(cid) < cfg.levelMin ) then -- validação caso o player não tenha level minimo
		doPlayerSendTextMessage(cid, MESSAGE_TYPES[cfg.colorMsg], "You don't have required level(".. cfg.levelMin ..") to pass!.")
		return true
	end

	doPlayerSendTextMessage(cid, MESSAGE_TYPES[cfg.colorMsg], "You found "..getItemNameById(cfg.earnedItem).. " ".. cfg.count .."x!")
	doPlayerAddItem(cid, cfg.earnedItem, cfg.count)
	setPlayerStorageValue (cid, cfg.storageQuest, 1)
	return true
end

dessa forma você tem um código mais legível, espero que entenda isso, e parabéns pela iniciativa de ajudar o fórum!
Aquele abraço, REP+

Postado
  • Autor
  Em 28/08/2021 em 01:41, Sun disse:

@Denker Parabéns pelo script, mas existem pontos que dá pra melhorar nele, segue abaixo!

 


function OnUse(cid,item,fromPosition,item2,toPosition)
local cfg = { -- crie uma tabela para configurar, assim fica mais "limpo"
  	storageQuest = 12, -- nome de variavel não começa com maiúscula
	earnedItem = 12,
	count = 11,
    	levelMin = 20,
	colorMsg = "Orange"
}
	
	if ( getPlayerStorageValue(cid, cfg.storageQuest) > 0 ) then
    	doPlayerSendTextMessage(cid, MESSAGE_TYPES[cfg.colorMsg], "You have already completed this quest!.")
    		return true
	end

	if ( getPlayerLevel(cid) < cfg.levelMin ) then -- validação caso o player não tenha level minimo
		doPlayerSendTextMessage(cid, MESSAGE_TYPES[cfg.colorMsg], "You don't have required level(".. cfg.levelMin ..") to pass!.")
		return true
	end

	doPlayerSendTextMessage(cid, MESSAGE_TYPES[cfg.colorMsg], "You found "..getItemNameById(cfg.earnedItem).. " ".. cfg.count .."x!")
	doPlayerAddItem(cid, cfg.earnedItem, cfg.count)
	setPlayerStorageValue (cid, cfg.storageQuest, 1)
	return true
end

dessa forma você tem um código mais legível, espero que entenda isso, e parabéns pela iniciativa de ajudar o fórum!
Aquele abraço, REP+

Obrigado pela informação ^^

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