Jump to content
×
×
  • Create New...
  • 0

Revive Com Tempo


Go to solution Solved by Yan Oliveira,

Question

Versão do Servidor: TFS - 0.3.4
Tipo de Script: actions
Código:
 
function onUse(cid, item, frompos, item2, topos)
setPlayerStorageValue(cid, 8422, 0) 
setPlayerStorageValue(cid, 23254, 50)
--doPlayerRemoveItem(cid, 7855, 1)
if isCreature(item2.uid) then
return doPlayerSendCancel(cid, "You can only use revive in pokeballs!")
end

if isPlayer(item2.uid) then
return doPlayerSendCancel(cid, "You cant use potions on wild pokemons.")
end
   local x = pokeballs[getPokeballType(item2.itemid)]
    if not x or isInArray(x.use, item2.itemid) then return doPlayerSendCancel(cid, "Sorry, is not possible.") end
        if x.on or x.off then
        doSendMagicEffect(getThingPos(cid), 14)
        doRemoveItem(item.uid, 1)
        maxh = tonumber(getItemAttribute(item2.uid, "poke"):match("/(.+)]"))
        doItemSetAttribute(item2.uid, "poke", getItemAttribute(item2.uid, "poke"):sub(1, findLetter(getItemAttribute(item2.uid, "poke"), "[")) .. maxh .. getItemAttribute(item2.uid, "poke"):sub(findLetter(getItemAttribute(item2.uid, "poke"), "/")))
        btype = getPokeballType(item2.itemid)
        ons = pokeballs[btype].on
        doTransformItem(item2.uid, ons)
        doCureAllStatus(item2.uid)
        else
                doPlayerSendCancel(cid, "Sorry, is not possible.")
                return true
        end 
end

Ocupo um reviver com tempo de 10 minutos.
para o nível 200+

Link to post
Share on other sites

10 answers to this question

Recommended Posts

  • 0
  • Solution
Posted (edited)
Em 08/04/2021 em 18:37, KaboFlow disse:

é que consegui um revive de outro servidor que está por nível mas não tem tempo em 10 minutos

 

 

  Mostrar conteúdo oculto

local level = 100
function onUse(cid, item, frompos, item2, topos)
    if (item2.itemid == 13860 or item2.itemid == 13810) and (getPlayerGroupId(cid) < 1 or getPlayerGroupId(cid) > 6) then
        doRemoveItem(item2.uid)
        return true
    end
    if getPlayerStorageValue(cid, 990) >= 1 then
        doPlayerSendCancel(cid, "Você não pode usar reviver durante as batalhas de ginasio.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n")
        return true
    elseif getPlayerStorageValue(cid, 52481) >= 1 then
        doPlayerSendCancel(cid, "Você não pode fazer isso enquanto um duelo.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n") --alterado v1.6
        return true
    elseif isPlayer(item2.uid) then
        doPlayerSendCancel(cid, "Por favor, use revive apenas em pokemons dentro de suas pokebolas!.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n")
        return true
    elseif getPlayerLevel(cid) > level then
        return doPlayerSendCancel(cid, "Você ultrapassou o level limite para usar este Revive.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n")
    end
    if item2.uid ~= getPlayerSlotItem(cid, 8).uid then
        return true
    end
    if item2.uid ~= getPlayerSlotItem(cid, 8).uid and not isInArray(getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid), item2.uid) then 
        return true 
    end
    for a, b in pairs (pokeballs) do
        if not item2.itemid == b.on or not item2.itemid == b.off then
            doPlayerSendCancel(cid, "Por favor, use revive apenas em pokémons dentro de suas pokebolas!.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n")
            return true
        end
    end
 
    local pokeball = getPlayerSlotItem(cid, 😎
    for a, b in pairs (pokeballs) do
        if item2.itemid == b.on or item2.itemid == b.off then --edited deixei igual ao do PXG
            doTransformItem(item2.uid, b.on)
            doSetItemAttribute(item2.uid, "hp", 1)
            for c = 1, 15 do
                local str = "move"..c
                setCD(item2.uid, str, 0)
            end
            setCD(item2.uid, "control", 0)
            setCD(item2.uid, "blink", 0) --alterado v1.6
            doSendMagicEffect(getThingPos(cid), 13)
            doRemoveItem(item.uid, 1)
            setPlayerStorageValue(cid, 1008, 100)
            doCureBallStatus(getPlayerSlotItem(cid, 8).uid, "all")
            doCureStatus(cid, "all", true)
            cleanBuffs2(item2.uid) --alterado v1.5
 
            --[[if getPlayerStorageValue(cid, storage) > 0 then
                setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage)-1)
            end--]]
            return true
        end
    end
    return true
end

 

Entendi, troque o código por esse:

 

local level = 200 -- LEVEL MÍNIMO PARA USAR O REVIVE
local storage_time = 68789 -- STORAGE PARA VERIFICAR O TEMPO PARA USAR O REVIVE
local minutes = 10 -- MINUTOS PARA USAR O REVIVE
local message_color = MESSAGE_STATUS_CONSOLE_BLUE -- COR DO TEXTO

--------------- CÓDIGO ---------------

function onUse(cid, item, frompos, item2, topos)

	if getPlayerLevel(cid) < level then
		doPlayerSendCancel(cid, "You need to be at least level " .. level .. " to use this revive.")
	return doPlayerSendTextMessage(cid, message_color, "You need to be at least level " .. level .. " to use this revive.")
	
	else
		if getPlayerStorageValue(cid, storage_time) <= os.time() then
			
			if getPlayerStorageValue(cid, 990) >= 1 then
				doPlayerSendCancel(cid, "You can't use revive during gym battles.")
			return true
			end
	
			if getPlayerStorageValue(cid, 52481) >= 1 then
				return doPlayerSendCancel(cid, "You can't do that while a duel.") --alterado v1.6
			end
						--
			if item2.itemid <= 0 or not isPokeball(item2.itemid) then
				doPlayerSendCancel(cid, "Please, use revive only on pokeballs.")
			return true
			end

			for a, b in pairs (pokeballs) do
				if item2.itemid == b.on or item2.itemid == b.off then      
					doTransformItem(item2.uid, b.on)
					doSetItemAttribute(item2.uid, "hp", 1)
					
					for c = 1, 15 do
						local str = "move"..c
						setCD(item2.uid, str, 0)
					end
					
					setCD(item2.uid, "control", 0)
					setCD(item2.uid, "blink", 0)  --alterado v1.6
					doSendMagicEffect(getThingPos(cid), 13)
					doRemoveItem(item.uid, 1)
					doCureBallStatus(item2.uid, "all")
					cleanBuffs2(item2.uid)   
                    setPlayerStorageValue(cid, storage_time, os.time() + (60 * minutes)) 
				
				return true
				end
			end
			
														
		else
			doPlayerSendCancel(cid, "You need to wait " .. minutes .. " minutes to use this revive.")
		return doPlayerSendTextMessage(cid, message_color, "You need to wait " .. minutes .. " minutes to use this revive.")
		end
	end
		
return true
end

 

Edited by Yan18
Link to post
Share on other sites
  • 0

Sem spam, aguarde ser respondido.

 

Quando for postar um código, poste ele inteiro, pois o que você colocou estava faltando parte (ou estava errado rsrs).

 

Troque o código por esse:

 

local level = 200 -- LEVEL MÍNIMO PARA USAR O REVIVE
local storage_time = 68789 -- STORAGE PARA VERIFICAR O TEMPO PARA USAR O REVIVE
local minutes = 10 -- MINUTOS PARA USAR O REVIVE
local message_color = MESSAGE_STATUS_CONSOLE_BLUE -- COR DO TEXTO

--------------- CÓDIGO ---------------

function onUse(cid, item, frompos, item2, topos)
	if getPlayerLevel(cid) < level then
		doPlayerSendCancel(cid, "You need to be at least level " .. level .. " to use this revive.")
	return doPlayerSendTextMessage(cid, message_color, "You need to be at least level " .. level .. " to use this revive.")
		
	else
		if getPlayerStorageValue(cid, storage_time) <= os.time() then
			setPlayerStorageValue(cid, 8422, 0) 
			setPlayerStorageValue(cid, 23254, 50)
					
			if isCreature(item2.uid) then
				return doPlayerSendCancel(cid, "You can only use revive in pokeballs!")
			end
			
			if isPlayer(item2.uid) then
				return doPlayerSendCancel(cid, "You cant use potions on wild pokemons.")
			end
			
			local x = pokeballs[getPokeballType(item2.itemid)]
		
			if not x or isInArray(x.use, item2.itemid) then return doPlayerSendCancel(cid, "Sorry, is not possible.") end
				if x.on or x.off then
					doSendMagicEffect(getThingPos(cid), 14)
					doRemoveItem(item.uid, 1)
					maxh = tonumber(getItemAttribute(item2.uid, "poke"):match("/(.+)]"))
					doItemSetAttribute(item2.uid, "poke", getItemAttribute(item2.uid, "poke"):sub(1, findLetter(getItemAttribute(item2.uid, "poke"), "[")) .. maxh .. getItemAttribute(item2.uid, "poke"):sub(findLetter(getItemAttribute(item2.uid, "poke"), "/")))
					btype = getPokeballType(item2.itemid)
					ons = pokeballs[btype].on
					doTransformItem(item2.uid, ons)
					doCureAllStatus(item2.uid)
					setPlayerStorageValue(cid, storage_time, os.time() + (60 * minutes))
				return true	
				
				else
					doPlayerSendCancel(cid, "Sorry, is not possible.")
				return true
				end 

			else
				return true
			end
			
		else
			doPlayerSendCancel(cid, "You need to wait " .. minutes .. " minutes to use this revive.")
		return doPlayerSendTextMessage(cid, message_color, "You need to wait " .. minutes .. " minutes to use this revive.")
		end	
	end	
end	

 

Edited by Yan18
Link to post
Share on other sites
  • 0
4 horas atrás, Yan18 disse:

Sem spam, aguarde ser respondido.

 

Quando for postar um código, poste ele inteiro, pois o que você colocou estava faltando parte (ou estava errado rsrs).

 

Troque o código por esse:

 


local level = 200 -- LEVEL MÍNIMO PARA USAR O REVIVE
local storage_time = 68789 -- STORAGE PARA VERIFICAR O TEMPO PARA USAR O REVIVE
local minutes = 10 -- MINUTOS PARA USAR O REVIVE
local message_color = MESSAGE_STATUS_CONSOLE_BLUE -- COR DO TEXTO

--------------- CÓDIGO ---------------

function onUse(cid, item, frompos, item2, topos)
	if getPlayerLevel(cid) < level then
		doPlayerSendCancel(cid, "You need to be at least level " .. level .. " to use this revive.")
	return doPlayerSendTextMessage(cid, message_color, "You need to be at least level " .. level .. " to use this revive.")
		
	else
		if getPlayerStorageValue(cid, storage_time) <= os.time() then
			setPlayerStorageValue(cid, 8422, 0) 
			setPlayerStorageValue(cid, 23254, 50)
					
			if isCreature(item2.uid) then
				return doPlayerSendCancel(cid, "You can only use revive in pokeballs!")
			end
			
			if isPlayer(item2.uid) then
				return doPlayerSendCancel(cid, "You cant use potions on wild pokemons.")
			end
			
			local x = pokeballs[getPokeballType(item2.itemid)]
		
			if not x or isInArray(x.use, item2.itemid) then return doPlayerSendCancel(cid, "Sorry, is not possible.") end
				if x.on or x.off then
					doSendMagicEffect(getThingPos(cid), 14)
					doRemoveItem(item.uid, 1)
					maxh = tonumber(getItemAttribute(item2.uid, "poke"):match("/(.+)]"))
					doItemSetAttribute(item2.uid, "poke", getItemAttribute(item2.uid, "poke"):sub(1, findLetter(getItemAttribute(item2.uid, "poke"), "[")) .. maxh .. getItemAttribute(item2.uid, "poke"):sub(findLetter(getItemAttribute(item2.uid, "poke"), "/")))
					btype = getPokeballType(item2.itemid)
					ons = pokeballs[btype].on
					doTransformItem(item2.uid, ons)
					doCureAllStatus(item2.uid)
					setPlayerStorageValue(cid, storage_time, os.time() + (60 * minutes))
				return true	
				
				else
					doPlayerSendCancel(cid, "Sorry, is not possible.")
				return true
				end 

			else
				return true
			end
			
		else
			doPlayerSendCancel(cid, "You need to wait " .. minutes .. " minutes to use this revive.")
		return doPlayerSendTextMessage(cid, message_color, "You need to wait " .. minutes .. " minutes to use this revive.")
		end	
	end	
end	

 

 

[08/04/2021 14:09:29] [Error - LuaScriptInterface::loadFile] data/actions/scripts/Nightmare Revive.lua:50: 'end' expected (to close 'if' at line 9) near 'else'
[08/04/2021 14:09:29] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/Nightmare Revive.lua)
[08/04/2021 14:09:29] data/actions/scripts/Nightmare Revive.lua:50: 'end' expected (to close 'if' at line 9) near 'else'

Link to post
Share on other sites
  • 0
1 hora atrás, KaboFlow disse:

 

[08/04/2021 14:09:29] [Error - LuaScriptInterface::loadFile] data/actions/scripts/Nightmare Revive.lua:50: 'end' expected (to close 'if' at line 9) near 'else'
[08/04/2021 14:09:29] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/Nightmare Revive.lua)
[08/04/2021 14:09:29] data/actions/scripts/Nightmare Revive.lua:50: 'end' expected (to close 'if' at line 9) near 'else'

Troque o código por esse:

 

local level = 200 -- LEVEL MÍNIMO PARA USAR O REVIVE
local storage_time = 68789 -- STORAGE PARA VERIFICAR O TEMPO PARA USAR O REVIVE
local minutes = 10 -- MINUTOS PARA USAR O REVIVE
local message_color = MESSAGE_STATUS_CONSOLE_BLUE -- COR DO TEXTO

--------------- CÓDIGO ---------------

function onUse(cid, item, frompos, item2, topos)
	if getPlayerLevel(cid) < level then
		doPlayerSendCancel(cid, "You need to be at least level " .. level .. " to use this revive.")
	return doPlayerSendTextMessage(cid, message_color, "You need to be at least level " .. level .. " to use this revive.")
		
	else
		if getPlayerStorageValue(cid, storage_time) <= os.time() then
			setPlayerStorageValue(cid, 8422, 0) 
			setPlayerStorageValue(cid, 23254, 50)
					
			if isCreature(item2.uid) then
				return doPlayerSendCancel(cid, "You can only use revive in pokeballs!")
			end
			
			if isPlayer(item2.uid) then
				return doPlayerSendCancel(cid, "You cant use potions on wild pokemons.")
			end
			
			local x = pokeballs[getPokeballType(item2.itemid)]
		
			if not x or isInArray(x.use, item2.itemid) then 
				return doPlayerSendCancel(cid, "Sorry, is not possible.") 
			end
			
			if x.on or x.off then
				doSendMagicEffect(getThingPos(cid), 14)
				doRemoveItem(item.uid, 1)
				maxh = tonumber(getItemAttribute(item2.uid, "poke"):match("/(.+)]"))
				doItemSetAttribute(item2.uid, "poke", getItemAttribute(item2.uid, "poke"):sub(1, findLetter(getItemAttribute(item2.uid, "poke"), "[")) .. maxh .. getItemAttribute(item2.uid, "poke"):sub(findLetter(getItemAttribute(item2.uid, "poke"), "/")))
				btype = getPokeballType(item2.itemid)
				ons = pokeballs[btype].on
				doTransformItem(item2.uid, ons)
				doCureAllStatus(item2.uid)
				setPlayerStorageValue(cid, storage_time, os.time() + (60 * minutes))
			return true	
			
			else
				doPlayerSendCancel(cid, "Sorry, is not possible.")
			return true
			end 
			
		else
			doPlayerSendCancel(cid, "You need to wait " .. minutes .. " minutes to use this revive.")
		return doPlayerSendTextMessage(cid, message_color, "You need to wait " .. minutes .. " minutes to use this revive.")
		end	
	end	
end	

 

Link to post
Share on other sites
  • 0
26 minutos atrás, Yan18 disse:

Troque o código por esse:

 


local level = 200 -- LEVEL MÍNIMO PARA USAR O REVIVE
local storage_time = 68789 -- STORAGE PARA VERIFICAR O TEMPO PARA USAR O REVIVE
local minutes = 10 -- MINUTOS PARA USAR O REVIVE
local message_color = MESSAGE_STATUS_CONSOLE_BLUE -- COR DO TEXTO

--------------- CÓDIGO ---------------

function onUse(cid, item, frompos, item2, topos)
	if getPlayerLevel(cid) < level then
		doPlayerSendCancel(cid, "You need to be at least level " .. level .. " to use this revive.")
	return doPlayerSendTextMessage(cid, message_color, "You need to be at least level " .. level .. " to use this revive.")
		
	else
		if getPlayerStorageValue(cid, storage_time) <= os.time() then
			setPlayerStorageValue(cid, 8422, 0) 
			setPlayerStorageValue(cid, 23254, 50)
					
			if isCreature(item2.uid) then
				return doPlayerSendCancel(cid, "You can only use revive in pokeballs!")
			end
			
			if isPlayer(item2.uid) then
				return doPlayerSendCancel(cid, "You cant use potions on wild pokemons.")
			end
			
			local x = pokeballs[getPokeballType(item2.itemid)]
		
			if not x or isInArray(x.use, item2.itemid) then 
				return doPlayerSendCancel(cid, "Sorry, is not possible.") 
			end
			
			if x.on or x.off then
				doSendMagicEffect(getThingPos(cid), 14)
				doRemoveItem(item.uid, 1)
				maxh = tonumber(getItemAttribute(item2.uid, "poke"):match("/(.+)]"))
				doItemSetAttribute(item2.uid, "poke", getItemAttribute(item2.uid, "poke"):sub(1, findLetter(getItemAttribute(item2.uid, "poke"), "[")) .. maxh .. getItemAttribute(item2.uid, "poke"):sub(findLetter(getItemAttribute(item2.uid, "poke"), "/")))
				btype = getPokeballType(item2.itemid)
				ons = pokeballs[btype].on
				doTransformItem(item2.uid, ons)
				doCureAllStatus(item2.uid)
				setPlayerStorageValue(cid, storage_time, os.time() + (60 * minutes))
			return true	
			
			else
				doPlayerSendCancel(cid, "Sorry, is not possible.")
			return true
			end 
			
		else
			doPlayerSendCancel(cid, "You need to wait " .. minutes .. " minutes to use this revive.")
		return doPlayerSendTextMessage(cid, message_color, "You need to wait " .. minutes .. " minutes to use this revive.")
		end	
	end	
end	

 

 

 

[08/04/2021 15:39:00] [Error - Action Interface] 
[08/04/2021 15:39:00] data/actions/scripts/potion/Nightmare Revive.lua:onUse
[08/04/2021 15:39:00] Description: 
[08/04/2021 15:39:00] data/actions/scripts/potion/Nightmare Revive.lua:35: attempt to index a nil value
[08/04/2021 15:39:00] stack traceback:
[08/04/2021 15:39:00]     data/actions/scripts/potion/Nightmare Revive.lua:35: in function <data/actions/scripts/potion/Nightmare Revive.lua:8>

 

 

Posso usar o revive com o Pokémon fora ..
e posso usá-lo sem tempo.

revive.png.cacd6c5e32c4f2dfec0dadb97cb411a9.png

 

 

 

 

Link to post
Share on other sites
  • 0
5 minutos atrás, KaboFlow disse:

 

 

[08/04/2021 15:39:00] [Error - Action Interface] 
[08/04/2021 15:39:00] data/actions/scripts/potion/Nightmare Revive.lua:onUse
[08/04/2021 15:39:00] Description: 
[08/04/2021 15:39:00] data/actions/scripts/potion/Nightmare Revive.lua:35: attempt to index a nil value
[08/04/2021 15:39:00] stack traceback:
[08/04/2021 15:39:00]     data/actions/scripts/potion/Nightmare Revive.lua:35: in function <data/actions/scripts/potion/Nightmare Revive.lua:8>

 

 

Posso usar o revive com o Pokémon fora ..
e posso usá-lo sem tempo.

revive.png.cacd6c5e32c4f2dfec0dadb97cb411a9.png

 

 

 

 

Qual a base do seu ot? É DXP?

Link to post
Share on other sites
  • 0

Eu tinha baixado essa base em 2019, mas o arquivo do revive está bem diferente do que eu tenho aqui. Poste novamente o arquivo revive.lua, mas poste tudo, pois esse que colocou na criação do tópicos parece que faltou partes. Edita lá mesmo e coloca lá. Ai eu dou uma olhada melhor.

Link to post
Share on other sites
  • 0
18 minutos atrás, Yan18 disse:

Eu tinha baixado essa base em 2019, mas o arquivo do revive está bem diferente do que eu tenho aqui. Poste novamente o arquivo revive.lua, mas poste tudo, pois esse que colocou na criação do tópicos parece que faltou partes. Edita lá mesmo e coloca lá. Ai eu dou uma olhada melhor.

é que consegui um revive de outro servidor que está por nível mas não tem tempo em 10 minutos

 

 

Spoiler

local level = 100
function onUse(cid, item, frompos, item2, topos)
    if (item2.itemid == 13860 or item2.itemid == 13810) and (getPlayerGroupId(cid) < 1 or getPlayerGroupId(cid) > 6) then
        doRemoveItem(item2.uid)
        return true
    end
    if getPlayerStorageValue(cid, 990) >= 1 then
        doPlayerSendCancel(cid, "Você não pode usar reviver durante as batalhas de ginasio.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n")
        return true
    elseif getPlayerStorageValue(cid, 52481) >= 1 then
        doPlayerSendCancel(cid, "Você não pode fazer isso enquanto um duelo.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n") --alterado v1.6
        return true
    elseif isPlayer(item2.uid) then
        doPlayerSendCancel(cid, "Por favor, use revive apenas em pokemons dentro de suas pokebolas!.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n")
        return true
    elseif getPlayerLevel(cid) > level then
        return doPlayerSendCancel(cid, "Você ultrapassou o level limite para usar este Revive.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n")
    end
    if item2.uid ~= getPlayerSlotItem(cid, 8).uid then
        return true
    end
    if item2.uid ~= getPlayerSlotItem(cid, 8).uid and not isInArray(getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid), item2.uid) then 
        return true 
    end
    for a, b in pairs (pokeballs) do
        if not item2.itemid == b.on or not item2.itemid == b.off then
            doPlayerSendCancel(cid, "Por favor, use revive apenas em pokémons dentro de suas pokebolas!.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n")
            return true
        end
    end
 
    local pokeball = getPlayerSlotItem(cid, 😎
    for a, b in pairs (pokeballs) do
        if item2.itemid == b.on or item2.itemid == b.off then --edited deixei igual ao do PXG
            doTransformItem(item2.uid, b.on)
            doSetItemAttribute(item2.uid, "hp", 1)
            for c = 1, 15 do
                local str = "move"..c
                setCD(item2.uid, str, 0)
            end
            setCD(item2.uid, "control", 0)
            setCD(item2.uid, "blink", 0) --alterado v1.6
            doSendMagicEffect(getThingPos(cid), 13)
            doRemoveItem(item.uid, 1)
            setPlayerStorageValue(cid, 1008, 100)
            doCureBallStatus(getPlayerSlotItem(cid, 8).uid, "all")
            doCureStatus(cid, "all", true)
            cleanBuffs2(item2.uid) --alterado v1.5
 
            --[[if getPlayerStorageValue(cid, storage) > 0 then
                setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage)-1)
            end--]]
            return true
        end
    end
    return true
end

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.


    Administrador |  Diretor |  Coordenador |  Moderador |  Suporter |  Estagiário |  Herói
  • Similar Content

    • By bruninho38
      Olá pessoal,

      Estou procurando a alguns dias e não consegui fazer da certo ate o momento, então acho que mais pessoas devem ter a mesma dificuldade.

      Atualmente alguns servidores de poketibia tem um autoloot que é ativado assim que o monstro morre, você não precisa ir lá click no corpo e nem ficar configurando qual item vc quer.

      Uso a base do PokemasterX, esse servidores já te um script que pega todos os loot's, porem precisa click no poke morto, se alguém conseguir fazer o scrip funcionar se click no corpo ou tiver outro script ajudaria muito.

      Obrigado!

      Script que uso hoje:
       
      function getContainerBackpack(containeruid) local containers = {} if type(getContainerSize(containeruid)) ~= "number" then return false end for slot = 0, getContainerSize(containeruid)-1 do local item = getContainerItem(containeruid, slot) if item.itemid == 0 then break end if isContainer(item.uid) then table.insert(containers, item.uid) end end for i = 1, #containers do if #containers > 1 then table.remove(containers, containers[i+1]) end if #containers > 2 then table.remove(containers, containers[i+2]) end if #containers > 3 then table.remove(containers, containers[i+3]) end if #containers > 4 then table.remove(containers, containers[i+4]) end if #containers > 5 then table.remove(containers, containers[i+5]) end end for i = 1, #containers do for _, x in ipairs(getContainerBackpack(containers[i])) do table.insert(containers, x) end end return containers end function getContainerItems(containeruid) local items = {} local containers = {} if type(getContainerSize(containeruid)) ~= "number" then return false end for slot = 0, getContainerSize(containeruid)-1 do local item = getContainerItem(containeruid, slot) if item.itemid == 0 then break end if isContainer(item.uid) then table.insert(containers, item.uid) end table.insert(items, item) end if #containers > 0 then for i,x in ipairs(getContainerItems(containers[1])) do table.insert(items, x) end table.remove(containers, 1) end return items end function isCorpse(item) return string.find(getItemNameById(item.itemid), "fainted") or string.find(getItemNameById(item.itemid), "defeated ") end function getCorpsesPosition(position) local toret = { } -- table to return items position.stackpos = 1 while true do -- loop to catch the items and insert them in toret table local thing = getThingfromPos(position) if thing.itemid == 0 then -- thing doesn't exist, break the loop... break end if thing.uid > 0 and isContainer(thing.uid) and isCorpse(thing) then table.insert(toret,thing) end position.stackpos = position.stackpos + 1 -- get next item end return toret end function doPlayerAddItemStacking(cid, itemid, quant) -- by mkalo local item = getItemsInContainerById(getPlayerSlotItem(cid, 3).uid, itemid) local piles = 0 if #item > 0 then for i,x in pairs(item) do if getThing(x).type < 100 then local it = getThing(x) doTransformItem(it.uid, itemid, it.type+quant) if it.type+quant > 100 then doPlayerAddItem(cid, itemid, it.type+quant-100) end else piles = piles+1 end end else return doPlayerAddItem(cid, itemid, quant) end if piles == #item then doPlayerAddItem(cid, itemid, quant) end end function doLoot(cid, corpse) if not isCollectAll(cid) then return true end if not isContainer(corpse.uid) then return false end local itemsToLootAllWindow = {} for _, loot in pairs(getContainerItems(corpse.uid)) do local slot = getPlayerSlotItem(cid, 3).uid local container = getContainerBackpack(slot) local item1 = getPlayerStorageValue(cid, 251461):explode("|") or 0 function configLoot() local itt = "".. tostring(getItemInfo(loot.itemid).clientId) .."|".. loot.type .."|" local ittt1, ittt2 = itt:explode("|")[1], itt:explode("|")[2] local itr = ittt1 .."-".. ittt2 .."-" table.insert(itemsToLootAllWindow, itr) doRemoveItem(loot.uid) doSendPlayerExtendedOpcode(cid, 69, table.concat(itemsToLootAllWindow)) end --// Sistema de Daily Itens \\-- if inDailyItens(cid) then if tonumber(item1[1]) == loot.itemid then doPlayerSendTextMessage(cid, 20, "[Daily Itens]: Resta você coletar ["..(tonumber(item1[3]) - getPlayerItemCount(cid, item1[1])) - loot.type.."] "..getItemNameById(loot.itemid)..".") end if tonumber(item1[2]) == loot.itemid then doPlayerSendTextMessage(cid, 20, "[Daily Itens]: Resta você coletar ["..(tonumber(item1[4]) - getPlayerItemCount(cid, item1[2])) - loot.type.."] "..getItemNameById(loot.itemid)..".") end if tonumber(item1[5]) == loot.itemid then doPlayerSendTextMessage(cid, 20, "[Daily Itens]: Resta você coletar ["..(tonumber(item1[7]) - getPlayerItemCount(cid, item1[5])) - loot.type.."] "..getItemNameById(loot.itemid)..".") end if tonumber(item1[6]) == loot.itemid then doPlayerSendTextMessage(cid, 20, "[Daily Itens]: Resta você coletar ["..(tonumber(item1[8]) - getPlayerItemCount(cid, item1[6])) - loot.type.."] "..getItemNameById(loot.itemid)..".") end end --// Sistema de Daily Itens \\-- if #container < 1 then doPlayerAddItem(cid, loot.itemid, loot.type) configLoot() end for i = 1, #container do if #container >= 1 then if getContainerSlotsFree(container[i]) >= 1 then doAddContainerItem(container[i], loot.itemid, loot.type) configLoot() break end else doPlayerAddItem(cid, loot.itemid, loot.type) configLoot() end end end end function checkLoot(cid, corpse, SemMensagem) if not isContainer(corpse.uid) then return false end local quemMatou = getItemAttribute(corpse.uid, "corpseowner") if quemMatou then local player = getCreatureByName(quemMatou) if isPlayer(player) then local isInParyWithPlayer = false if isInParty(cid) and isInParty(player) then isInParyWithPlayer = isPartyEquals(player, cid) end if getCreatureName(cid) ~= getCreatureName(player) and not isInParyWithPlayer then if not SemMensagem then doPlayerSendCancel(cid, "Você não pode abrir um loot que não é seu.") end return false end end end return true end function onUse(cid, item, frompos, item2, topos) if isWatchingTv(cid) then return true end if not isContainer(item.uid) then return true end if not isCollectAll(cid) then return false end local maxItem = 800 if isContainer(item.uid)then if (getPlayerTotalItem(cid) + #getAllItemsFromContainer(item)) > maxItem then doPlayerSendCancel(cid, "Você não pode carregar mais itens pois já lotou a quantidade de slot's disponíveis") return false end else if getPlayerTotalItem(cid) + 1 > maxItem then doPlayerSendCancel(cid, "Você não pode carregar mais itens pois já lotou a quantidade de slot's disponíveis") return false end end local openCorpse = #getContainerItems(item.uid) < 1 if checkLoot(cid, item, false) then doLoot(cid, item) end for _, corpse in pairs(getCorpsesPosition(getThingPosition(item.uid))) do if checkLoot(cid, corpse, false) then doLoot(cid, corpse) end end if openCorpse then return false end return true end  
    • By jenison06
      Alguem consegue adaptar sistema de contagem, o meu nao esta contando apenas no abra e msmo assim so conta 1 ball.
       
      Action ( Catch.lua)
       
      Lib (catch system.lua)
      Checatch (Talkaction)
      function onSay(cid, words, param, channel) if param == "" then return true end getBrokesIn(cid, param) return true end  
    • By KaboFlow
      Como todos sabem existem milhares de servidores de poketibia para download aqui no fórum, mas nenhum esta 100%, quando eu falo 100% é dos sistemas principais e não das edições. Então resolvi pegar uma base PField OpenSource aqui do fórum mesmo e começar um projeto comunitário totalmente aberto, para tentarmos deixar a base 100% com os sistemas principais de um servidor de poketibia para quem quiser começar um projeto serio usar este server como base.
       Mas porque eu escolhi a base PField? Simples, por ela ser uma base mais antiga e mais limpa, sem todas as gambiarras, armadilhas e menos poluída. A minha meta é trabalharmos no server opensource,  criado do 0 tambem, e todos se ajudarem para quando ficar com os sistemas básicos 100% dai a galera começar a fazer suas edições
       
      ATENÇÃO: Não sou programador, sou meia boca em quase tudo e tenho esperança que com a ajuda de todos conseguiremos deixar a base perfeita para futuros projetos. Peço que não briguem aqui no tópico por causa de créditos, reps etc. Caso alguém tenha autoria em algo e não estiver nos créditos me avise que estarei adicionando. Não quero reputação, apenas quero fazer algo bom para a comunidade com a ajuda de vocês.
      Inicialmente estaremos corrigindo os bugs e adicionando os sistemas principais deixando a base mais atualizada, quem quiser pegar a base e já ir editando não fique perguntando aqui no tópico, porque como eu disse a prioridade inicial são os sistemas básicos.
       
       
      • Menu:
                       ├ Informações;
        ├ Prints;
      ├ Bugs;
                 ├ Download;
             └ Créditos.
       

       
       
       
       

      • Prints •
       
      • Informações Basicas •
       


       
       
       
      • Créditos •
      •ADM Kabo
      •Kevick
      •Aberos
      •Avronex
      •Lordbaxx
      •CipSoft
      •PxG
      •Nintendo
      Se faltar algum me avisem.
       
      Se tiver algo errado no tópico me avisem, não tenho muita experiencia em posts.
       
       
       
    • By KaboFlow
      Versão do Servidor: TFS - 0.3.4 Tipo de Script: actions Código: que cura metade da vida do pokémon
       
      uma poção que cura em%
      exemplo
      usar a poção cura você em 50% da vida do pokémon