Ir para conteúdo

Featured Replies

Postado

Tenta agora :

	local tb = {
		
		[3088] = {9776, 1, "You've found a yalahari armor."},
		[3089] = {9778, 1, "You've found a yalahari mask."},
		[3090] = {9777, 1, "You've found a yalahari leg piece."}

	}

	function onUse(cid, item)

		local player = Player(cid)

	    for bau, v in pairs(tb) do
	   		if item.uid == bau then
	   			if player:getStorageValue(10012) < 1 then
		                    player:AddItem(v[1], v[2])
		                    player:setStorageValue(30, 54)
		    		    player:addExperience(20000)
		    	 	    player:setStorageValue(10012, 1)
		                    player:setStorageValue(12021, 5) -- StorageValue for Questlog "Mission 10: The Final Battle"
		                    player:sendTextMessage(MESSAGE_INFO_DESCR, v[3])
	           	       else
					doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.")
				end
	                end
	          end
	    return true
	end

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

As Pessoas vivem apegadas aquilo que traduzem como correto e verdadeiro,assim elas definem a realidade.

mas oque significa o correto e o verdadeiro?

 

 

  • Respostas 18
  • Visualizações 614
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Tente assim: function onUse(cid, item, fromPosition, itemEx, toPosition)     if(getPlayerStorageValue(cid, 10012) < 1) then         doPlayerAddExp(cid, 250000, true, true)         setPlayerStorag

  • É por que a storage tem que ser alterada para 53 amigo, essa storage irá mudar quando completar a quest. O padrão da storage é -1, então se você criou um char e a storage não foi alterada para 53, ób

Postado

Wakon, estou usando a mesma que está na script. Linus, a sua agora está abrindo o baú e dando nada de recompensa.

Aparece a mensagem "The chest is empty."? "estou usando a mesma" tem duas no script, uma para XP e outra para ganhar os items:

10012 e 30.

Postado

É usado para guardar valores de players ou globais.

Essa linha é para verificar a storage da quest, que no caso é 30:

if(getPlayerStorageValue(cid, 30) == 53) then

Significa que ele só vai te dar os itens caso a storage no valor 30 for igual a 53.

 

Para alterar a storage, você pode mudar o valor na database em player_storages ou ativar o comando /storage.

Para ativa-lo vá em "Data/talkactions" abra o arquivo talkactions.xml e adicione:

<talkaction words="/storage" separator=" " script="setstorage.lua" />

Caso não tenha o script, coloque ele em "Data/talkactions/scripts" como setstorage.lua:

function onSay(cid, words, param)
    local player = Player(cid)
    if not player:getGroup():getAccess() then
        return true
    end

    if player:getAccountType() < ACCOUNT_TYPE_GOD then
        return false
    end

    local split = param:split(",")
    if split[2] == nil then
        player:sendCancelMessage("Insufficient parameters.")
        return false
    end

    local target = Player(split[1])
    if target == nil then
        player:sendCancelMessage("A player with that name is not online.")
        return false
    end

    -- Trim left
    split[2] = split[2]:gsub("^%s*(.-)$", "%1")
    split[3] = split[3]:gsub("^%s*(.-)$", "%1")
    local ch = split[2]
    local ch2 = split[3]
    setPlayerStorageValue(getPlayerByName(split[1]), tonumber(ch), tonumber(ch2))
    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "The storage with id: "..tonumber(ch).." from player "..split[1].." is now: "..ch2..".")    
    return false
end

 

Para usar: /storage Wakon, 30, 53 -- Vai citar que a storage 30 do personagem Wakon é 53.

Provavelmente a quest está funcionando normalmente, porém seu char não tem valor 53 na storage 30.

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