Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá galerinha, gostaria de pedir ajuda com um código do meu servidor de poketibia.

Eu não consigo fazer funcionar a máquina de helds e o autoloot juntos, ou um funciona ou o outro, o cod esta meio que no msm script.

Servidor\data\creaturescripts\scripts\opcodes

Esse script funciona o autoloot 100%, mas o resto não funciona 

local op_crea = {
      OPCODE_SKILL_BAR = opcodes.OPCODE_SKILL_BAR,
	  OPCODE_POKEMON_HEALTH = opcodes.OPCODE_POKEMON_HEALTH,
	  OPCODE_BATTLE_POKEMON = opcodes.OPCODE_BATTLE_POKEMON,
	  OPCODE_FIGHT_MODE = opcodes.OPCODE_FIGHT_MODE,
	  OPCODE_WILD_POKEMON_STATS = opcodes.OPCODE_WILD_POKEMON_STATS,
	  OPCODE_REQUEST_DUEL = opcodes.OPCODE_REQUEST_DUEL,
	  OPCODE_ACCEPT_DUEL = opcodes.OPCODE_ACCEPT_DUEL,
	  OPCODE_YOU_ARE_DEAD = opcodes.OPCODE_YOU_ARE_DEAD,
	  OPCODE_DITTO_MEMORY = opcodes.OPCODE_DITTO_MEMORY,
}

function onExtendedOpcode(cid, opcode, buffer)
	if opcode == op_crea.OPCODE_SKILL_BAR then
		if buffer == "refresh" then
			doOTCSendPlayerSkills(cid)
		end
	elseif opcode == op_crea.OPCODE_POKEMON_HEALTH then
		if buffer == "refresh" then
			doOTCSendPokemonHealth(cid)
		end
	elseif opcode == op_crea.OPCODE_BATTLE_POKEMON then
		if buffer == "refresh" then
			if #getCreatureSummons(cid) >= 1 then
				doSendPlayerExtendedOpcode(cid, op_crea.OPCODE_BATTLE_POKEMON, tostring(getCreatureSummons(cid)[1]))
			end
		end
	elseif opcode == op_crea.OPCODE_FIGHT_MODE then
		setPlayerStorageValue(cid, storages.fightMode, tonumber(buffer))
	elseif opcode == op_crea.OPCODE_WILD_POKEMON_STATS then
		doSendPlayerExtendedOpcode(cid, op_crea.OPCODE_WILD_POKEMON_STATS, pokeStatus.getVity(tonumber(buffer)).."|"..pokeStatus.getAtk(tonumber(buffer)).."|"..pokeStatus.getSpAtk(tonumber(buffer)).."|"..pokeStatus.getDef(tonumber(buffer)).."|"..pokeStatus.getSpDef(tonumber(buffer)).."|"..pokeStatus.getSpeed(tonumber(buffer)))
	
	--//Duel
	elseif opcode == opcodes.OPCODE_REQUEST_DUEL then
		   --legenda: cid = player, sid = player convidado
		   local cut = string.explode(buffer, "/")
		   local pokeballsCount, sid = tonumber(cut[1]), getCreatureByName(cut[2])
		        if isCreature(sid) then 
				   doIniteDuel(cid, sid, pokeballsCount)
				end
	elseif opcode == opcodes.OPCODE_ACCEPT_DUEL then
		local p2 = getCreatureByName(buffer)
		   if isInvitedDuel(p2, cid) then
		       doPantinNoDuel(cid, p2, getPlayerStorageValue(p2, duelTable.infoBalls), 5)
		   end
		   
	elseif opcode == opcodes.OPCODE_DITTO_MEMORY then
		 local item = getPlayerSlotItem(cid, 8)
			if item.uid == 0 then doSendMsg(cid, "Coloque seu shiny ditto no slot correto.") return true end
		 local pokeName = getItemAttribute(item.uid, "poke")
			if pokeName ~= "Shiny Ditto" then return true end
			
			if isInArray({"saveMemory1", "saveMemory2", "saveMemory3"}, buffer) then
			   local copyName = getItemAttribute(item.uid, "copyName")
			   if pokeName == copyName then doSendMsg(cid, "Transforme seu ditto primeiro.") return true end
			   if isPokeInSlots(getItemAttribute(item.uid, "memoryDitto"), doCorrectString(copyName)) then doSendMsg(cid, "Esta copia já está salva em um slot.") return true end
				   if buffer == "saveMemory1" then
					   doItemSetAttribute(item.uid, "memoryDitto", saveSlot(getItemAttribute(item.uid, "memoryDitto"), 1, getItemInfo(fotos[doCorrectString(copyName)]).clientId)) -- getPortraitClientID(doCorrectString(copyName))))
				   elseif buffer == "saveMemory2" then
					   doItemSetAttribute(item.uid, "memoryDitto", saveSlot(getItemAttribute(item.uid, "memoryDitto"), 2, getItemInfo(fotos[doCorrectString(copyName)]).clientId))
				   elseif buffer == "saveMemory3" then
					   doItemSetAttribute(item.uid, "memoryDitto", saveSlot(getItemAttribute(item.uid, "memoryDitto"), 3, getItemInfo(fotos[doCorrectString(copyName)]).clientId))
				   end
			elseif isInArray({"clearSlot1", "clearSlot2", "clearSlot3"}, buffer) then
				  if buffer == "clearSlot1" then
					   doItemSetAttribute(item.uid, "memoryDitto", saveSlot(getItemAttribute(item.uid, "memoryDitto"), 1, "?"))
				   elseif buffer == "clearSlot2" then
					   doItemSetAttribute(item.uid, "memoryDitto", saveSlot(getItemAttribute(item.uid, "memoryDitto"), 2, "?"))
				   elseif buffer == "clearSlot3" then
					   doItemSetAttribute(item.uid, "memoryDitto", saveSlot(getItemAttribute(item.uid, "memoryDitto"), 3, "?"))
				   end
			elseif isInArray({"use1", "use2", "use3"}, buffer) then
				  local summons = getCreatureSummons(cid)
				  if #summons < 1 then doSendMsg(cid, "Coloque seu ditto para fora da pokeball.") return true end
				  local pokeToTransform = getSlot(getItemAttribute(item.uid, "memoryDitto"), tonumber(buffer:explode("use")[1]))
				  doCopyPokemon(summons[1], pokeToTransform, true)
			end
			   
			   
			local memory = getItemAttribute(item.uid, "memoryDitto")
				  if not memory or memory == nil then
					 doItemSetAttribute(item.uid, "memoryDitto", "?|?|?")
					 memory = getItemAttribute(item.uid, "memoryDitto")
				  end
			local memoryOne, memoryTwo, memoryTree = memory:explode("|")[1], memory:explode("|")[2], memory:explode("|")[3]
			
			local str = memoryOne .. "-".. memoryTwo .."-" .. memoryTree
				  doSendPlayerExtendedOpcode(cid, opcodes.OPCODE_DITTO_MEMORY, str)
				  
				  
	elseif opcode == opcodes.OPCODE_TV_CAM then -- TVCam
			--doCreatePrivateChannel(cid)
			--doInviteToPrivateChannel(cid, playerName)
			--doRemoveIntoPrivateChannel(cid, playerName)
			if getGlobalStorageValue(globalsTV) == -1 then -- iniciar sistema
				setGlobalStorageValue(globalsTV, "")
			end
			local action = buffer:explode("/")[1]
			
			if action == "create" then
				createChannel(cid, buffer)
				
			elseif action == "close" then
				closeInClientChannmel(cid)
				
			elseif action == "watch" then
			
				local playerToWatch = getCreatureByName(buffer:explode("/")[2])
				   if isCreature(playerToWatch) then
					  if getPlayerStorageValue(playerToWatch, storages.playerTVPass) ~= "" and getPlayerStorageValue(playerToWatch, storages.playerTVPass) ~= "notASSenha" then
					     doSendPlayerExtendedOpcode(cid, opcodes.OPCODE_TV_CAM, "requestPass|" .. getPlayerStorageValue(playerToWatch, storages.playerTVPass) .. "|" .. buffer:explode("/")[2]) 
					  else
						 doWatch(cid, playerToWatch)
					  end
					else
					 doSendMsg(cid, "Este player não está mais gravando.")
				   end
				   
			elseif action == "watchWithPass" then
			
				local playerToWatch = getCreatureByName(buffer:explode("/")[2])
				   if isCreature(playerToWatch) then
				      doWatch(cid, playerToWatch)
				   else
					 doSendMsg(cid, "Este player não está mais gravando.")
				   end
				   
			elseif action == "errou" then
				     doSendMsg(cid, "Senha do digitada incorreta.")
			end
			
	elseif opcode == opcodes.OPCODE_PLAYER_SHOW_AUTOLOOT then -- Autoloot
			if buffer:find("load/") then
			  local itens = getAllItensAutoLoot()	
			  doSendPlayerExtendedOpcode(cid, opcodes.OPCODE_PLAYER_SHOW_AUTOLOOT, (isCollectAll(cid) and "yes" or "no") .. "|" .. itens .. "|" .. getAllItensInMyListToClient(cid))
			elseif buffer:find("all") then
			    doCollectAll(cid, true)
				doSendMsg(cid, "AutoLoot: Coletar tudo foi ativado.")
			elseif buffer:find("no") then
			    doCollectAll(cid, false)
				doSendMsg(cid, "AutoLoot: Coletar tudo foi desativado.")
			else
			  doSaveItems(cid, buffer)
			end
			
	elseif opcode == opcodes.OPCODE_PLAYER_SHOW_ONLINE then -- Janela de onlines do ADM
			doGetPlayersOnToADM(cid)
	end
end

function getSlot(strings, slot)
	local slot1, slot2, slot3 = strings:explode("|")[1], strings:explode("|")[2], strings:explode("|")[3]
	local ret, flag = "", false
	for a, b in pairs(fotos) do
	   if getItemInfo(fotos[a]).clientId == tonumber(slot1) and slot == 1 then 
		  ret = doCorrectString(a)
		  flag = true
	   elseif getItemInfo(fotos[a]).clientId == tonumber(slot2) and slot == 2  then 
		  ret = doCorrectString(a)
		  flag = true
	   elseif getItemInfo(fotos[a]).clientId == tonumber(slot3) and slot == 3 then 
		  ret = doCorrectString(a)
		  flag = true
	   end
		   if flag then
			  break
		   end	
	end
	return ret
end

function saveSlot(strings, slot, poke)
	local slot1, slot2, slot3 = strings:explode("|")[1], strings:explode("|")[2], strings:explode("|")[3]
	local finalSlots = (slot == 1 and poke .. "|" or slot1 .. "|") .. (slot == 2 and poke .. "|" or slot2 .. "|") .. (slot == 3 and poke .. "|" or slot3)
		return finalSlots
end

function isPokeInSlots(strings, poke)
	poke = getItemInfo(fotos[poke]).clientId
	local slot1, slot2, slot3 = strings:explode("|")[1], strings:explode("|")[2], strings:explode("|")[3]
	if tonumber(slot1) == poke then
	   return true
	elseif tonumber(slot2) == poke then
	   return true
	elseif tonumber(slot3) == poke then
	   return true
	end
	return false
end

E esse outro aqui funciona a máquina de helds, mas não funciona o resto.

 

local op_crea = {
      OPCODE_SKILL_BAR = opcodes.OPCODE_SKILL_BAR,
      OPCODE_POKEMON_HEALTH = opcodes.OPCODE_POKEMON_HEALTH,
      OPCODE_BATTLE_POKEMON = opcodes.OPCODE_BATTLE_POKEMON,
      OPCODE_FIGHT_MODE = opcodes.OPCODE_FIGHT_MODE,
      OPCODE_WILD_POKEMON_STATS = opcodes.OPCODE_WILD_POKEMON_STATS,
      OPCODE_REQUEST_DUEL = opcodes.OPCODE_REQUEST_DUEL,
      OPCODE_ACCEPT_DUEL = opcodes.OPCODE_ACCEPT_DUEL,
      OPCODE_YOU_ARE_DEAD = opcodes.OPCODE_YOU_ARE_DEAD,
      OPCODE_DITTO_MEMORY = opcodes.OPCODE_DITTO_MEMORY,
}
function onExtendedOpcode(cid, opcode, buffer)
    if opcode == op_crea.OPCODE_SKILL_BAR then
        if buffer == "refresh" then
            doOTCSendPlayerSkills(cid)
        end
    elseif opcode == op_crea.OPCODE_POKEMON_HEALTH then
        if buffer == "refresh" then
            doOTCSendPokemonHealth(cid)
        end
    elseif opcode == op_crea.OPCODE_BATTLE_POKEMON then
        if buffer == "refresh" then
            if #getCreatureSummons(cid) >= 1 then
                doSendPlayerExtendedOpcode(cid, op_crea.OPCODE_BATTLE_POKEMON, tostring(getCreatureSummons(cid)[1]))
            end
        end
    elseif opcode == op_crea.OPCODE_FIGHT_MODE then
        setPlayerStorageValue(cid, storages.fightMode, tonumber(buffer))
    elseif opcode == op_crea.OPCODE_WILD_POKEMON_STATS then
        doSendPlayerExtendedOpcode(cid, op_crea.OPCODE_WILD_POKEMON_STATS, pokeStatus.getVity(tonumber(buffer)).."|"..pokeStatus.getAtk(tonumber(buffer)).."|"..pokeStatus.getSpAtk(tonumber(buffer)).."|"..pokeStatus.getDef(tonumber(buffer)).."|"..pokeStatus.getSpDef(tonumber(buffer)).."|"..pokeStatus.getSpeed(tonumber(buffer)))
    
    --//Duel
    elseif opcode == opcodes.OPCODE_REQUEST_DUEL then
           --legenda: cid = player, sid = player convidado
           local cut = string.explode(buffer, "/")
           local pokeballsCount, sid = tonumber(cut[1]), getCreatureByName(cut[2])
                if isCreature(sid) then 
                   doIniteDuel(cid, sid, pokeballsCount)
                end
    elseif opcode == opcodes.OPCODE_ACCEPT_DUEL then
        local p2 = getCreatureByName(buffer)
           if isInvitedDuel(p2, cid) then
               doPantinNoDuel(cid, p2, getPlayerStorageValue(p2, duelTable.infoBalls), 5)
           end
           
    elseif opcode == opcodes.OPCODE_DITTO_MEMORY then
         local item = getPlayerSlotItem(cid, 8)
            if item.uid == 0 then doSendMsg(cid, "Coloque seu shiny ditto no slot correto.") return true end
         local pokeName = getItemAttribute(item.uid, "poke")
            if pokeName ~= "Shiny Ditto" then return true end
            
            if isInArray({"saveMemory1", "saveMemory2", "saveMemory3"}, buffer) then
               local copyName = getItemAttribute(item.uid, "copyName")
               if pokeName == copyName then doSendMsg(cid, "Transforme seu ditto primeiro.") return true end
               if not fotos[doCorrectString(copyName)] then return true end
               if isPokeInSlots(getItemAttribute(item.uid, "memoryDitto"), doCorrectString(copyName)) then doSendMsg(cid, "Esta copia já está salva em um slot.") return true end
                   if buffer == "saveMemory1" then
                       doItemSetAttribute(item.uid, "memoryDitto", saveSlot(getItemAttribute(item.uid, "memoryDitto"), 1, getItemInfo(fotos[doCorrectString(copyName)]).clientId)) -- getPortraitClientID(doCorrectString(copyName))))
                   elseif buffer == "saveMemory2" then
                       doItemSetAttribute(item.uid, "memoryDitto", saveSlot(getItemAttribute(item.uid, "memoryDitto"), 2, getItemInfo(fotos[doCorrectString(copyName)]).clientId))
                   elseif buffer == "saveMemory3" then
                       doItemSetAttribute(item.uid, "memoryDitto", saveSlot(getItemAttribute(item.uid, "memoryDitto"), 3, getItemInfo(fotos[doCorrectString(copyName)]).clientId))
                   end
            elseif isInArray({"clearSlot1", "clearSlot2", "clearSlot3"}, buffer) then
                  if buffer == "clearSlot1" then
                       doItemSetAttribute(item.uid, "memoryDitto", saveSlot(getItemAttribute(item.uid, "memoryDitto"), 1, "?"))
                   elseif buffer == "clearSlot2" then
                       doItemSetAttribute(item.uid, "memoryDitto", saveSlot(getItemAttribute(item.uid, "memoryDitto"), 2, "?"))
                   elseif buffer == "clearSlot3" then
                       doItemSetAttribute(item.uid, "memoryDitto", saveSlot(getItemAttribute(item.uid, "memoryDitto"), 3, "?"))
                   end
            elseif isInArray({"use1", "use2", "use3"}, buffer) then
                  local summons = getCreatureSummons(cid)
                  if #summons < 1 then doSendMsg(cid, "Coloque seu ditto para fora da pokeball.") return true end
                  local pokeToTransform = getSlot(getItemAttribute(item.uid, "memoryDitto"), tonumber(buffer:explode("use")[1]))
                  doCopyPokemon(summons[1], pokeToTransform, true)
            end
               
               
            local memory = getItemAttribute(item.uid, "memoryDitto")
                  if not memory or memory == nil then
                     doItemSetAttribute(item.uid, "memoryDitto", "?|?|?")
                     memory = getItemAttribute(item.uid, "memoryDitto")
                  end
            local memoryOne, memoryTwo, memoryTree = memory:explode("|")[1], memory:explode("|")[2], memory:explode("|")[3]
            
            local str = memoryOne .. "-".. memoryTwo .."-" .. memoryTree
                  doSendPlayerExtendedOpcode(cid, opcodes.OPCODE_DITTO_MEMORY, str)
                  
                  
    elseif opcode == opcodes.OPCODE_TV_CAM then -- TVCam
            --doCreatePrivateChannel(cid)
            --doInviteToPrivateChannel(cid, playerName)
            --doRemoveIntoPrivateChannel(cid, playerName)
            if getGlobalStorageValue(globalsTV) == -1 then -- iniciar sistema
                setGlobalStorageValue(globalsTV, "")
            end
            local action = buffer:explode("/")[1]
            
            if action == "create" then
                createChannel(cid, buffer)
                
            elseif action == "close" then
                closeInClientChannmel(cid)
                
            elseif action == "watch" then
            
                local playerToWatch = getCreatureByName(buffer:explode("/")[2])
                   if isCreature(playerToWatch) then
                      if getPlayerStorageValue(playerToWatch, storages.playerTVPass) ~= "" and getPlayerStorageValue(playerToWatch, storages.playerTVPass) ~= "notASSenha" then
                         doSendPlayerExtendedOpcode(cid, opcodes.OPCODE_TV_CAM, "requestPass|" .. getPlayerStorageValue(playerToWatch, storages.playerTVPass) .. "|" .. buffer:explode("/")[2]) 
                      else
                         doWatch(cid, playerToWatch)
                      end
                    else
                     doSendMsg(cid, "Este player não está mais gravando.")
                   end
                   
            elseif action == "watchWithPass" then
            
                local playerToWatch = getCreatureByName(buffer:explode("/")[2])
                   if isCreature(playerToWatch) then
                      doWatch(cid, playerToWatch)
                   else
                     doSendMsg(cid, "Este player não está mais gravando.")
                   end
                   
            elseif action == "errou" then
                     doSendMsg(cid, "Senha do digitada incorreta.")
            end
            

    elseif opcode == opcodes.OPCODE_PLAYER_SHOW_ONLINE then -- Janela de onlines do ADM
            doGetPlayersOnToADM(cid)
    elseif opcode == opcodes.OPCODE_PLAYER_SHOW_TRADE_HELD then
        local op = tonumber(buffer:explode("-")[2])
        local posP = getThingPos(cid)
        local posMachine = {{x = 222, y = 430, z = 7}, {x = 221, y = 430, z = 7}}
        if not doComparePositions(posMachine[1], posP) and not doComparePositions(posMachine[2], posP) then
           doSendMsg(cid, "Tienes que estar en frente de la maquina.")
           return true
        end
        if op == 1 then
           if doPlayerRemoveItem(cid, 15645, 15) then
              local tier = math.random(1, 2)
              doPlayerAddRandomHeld(cid, tier)
               else
              doSendMsg(cid, "Necesitas de 15 Devoted Tokens.")
           end
           return true 
        elseif op == 2 then
           if doPlayerRemoveItem(cid, 15644, 50) then
              local tier = math.random(1, 3)
              doPlayerAddRandomHeld(cid, tier)
               else
              doSendMsg(cid, "Necesitas de 50 Mighty Tokens.")
           end
           return true
        elseif op == 3 then
           if doPlayerRemoveItem(cid, 15644, 80) then
              local tier = math.random(2, 4)
              doPlayerAddRandomHeld(cid, tier)
               else
              doSendMsg(cid, "Necesitas de 80 Mighty Tokens.")
           end
           return true
        elseif op == 4 then
           if doPlayerRemoveItem(cid, 15644, 150) then
              local tier = math.random(4, 6)
              doPlayerAddRandomHeld(cid, tier)
               else
              doSendMsg(cid, "Necesitas de 150 Mighty Tokens.")
           end
           return true 
        elseif op == 5 then
           if doPlayerRemoveItem(cid, 15646, 10) then
              local tier = math.random(3, 3)
              doPlayerAddRandomHeld(cid, tier)
               else
              doSendMsg(cid, "Necesitas de 10 Hornored Tokens.")
           end
           return true 
        elseif op == 6 then
           if doPlayerRemoveItem(cid, 15646, 30) then
              local tier = math.random(3, 5)
              doPlayerAddRandomHeld(cid, tier)
               else
              doSendMsg(cid, "Necesitas de 30 Hornored Tokens.")
           end
           return true
        elseif op == 7 then
           if doPlayerRemoveItem(cid, 15646, 300) then
              local tier = math.random(5, 7)
              doPlayerAddRandomHeld(cid, tier)
               else
              doSendMsg(cid, "Necesitas de 300 Hornored Tokens.")
           end
           return true 
        elseif op == 8 then
           if doPlayerRemoveItem(cid, 15646, 100) then
				doPlayerAddItem(cid, 14188, 1)
               else
              doSendMsg(cid, "Necesitas de 100 Hornored Tokens.")
           end
           return true 
        elseif op == 9		then
           if doPlayerRemoveItem(cid, 15644, 10) then
				doPlayerAddItem(cid, 12832, 1)
               else
              doSendMsg(cid, "Necesitas de 10 Mighty Tokens.")
           end
           return true 
        elseif op == 10		then
           if doPlayerRemoveItem(cid, 15644, 1) then
				doPlayerAddItem(cid, 15677, 10)
				doPlayerAddItem(cid, 15676, 10)
				doPlayerAddItem(cid, 15678, 10)
				doPlayerAddItem(cid, 15680, 10)
				doPlayerAddItem(cid, 15673, 10)
				doPlayerAddItem(cid, 15674, 10)
				doPlayerAddItem(cid, 15675, 10)
				doPlayerAddItem(cid, 15679, 10)
				doPlayerAddItem(cid, 15681, 10)
               else
              doSendMsg(cid, "Necesitas de 1 Mighty Tokens.")
           end
           return true 
        elseif op == 11		then
           if doPlayerRemoveItem(cid, 15644, 10) then
				doPlayerAddItem(cid, 15130, 1)
               else
              doSendMsg(cid, "Necesitas de 10 Mighty Tokens.")
           end
           return true 
        elseif op == 12		then
           if doPlayerRemoveItem(cid, 15644, 120) then
				doPlayerAddItem(cid, 12227, 1)
               else
              doSendMsg(cid, "Necesitas de 120 Mighty Tokens.")
           end
           return true 
		 elseif op == 13		then
           if doPlayerRemoveItem(cid, 15644, 50) then
		setPlayerStorageValue(cid, 99990, 1)
               else
              doSendMsg(cid, "Necesitas de 50 Mighty Tokens.")
           end
           return true 
		 elseif op == 14		then
           if doPlayerRemoveItem(cid, 15644, 10) then
				doPlayerAddItem(cid, 11641, 1)
               else
              doSendMsg(cid, "Necesitas de 10 Mighty Tokens.")
           end
           return true 
		 elseif op == 15		then
           if doPlayerRemoveItem(cid, 15644, 1) then
				doPlayerAddItem(cid, 6569, 1)
               else
              doSendMsg(cid, "Necesitas de 1 Mighty Token.")
           end
           return true 
        end
    end
end
function getSlot(strings, slot)
    local slot1, slot2, slot3 = strings:explode("|")[1], strings:explode("|")[2], strings:explode("|")[3]
    local ret, flag = "", false
    for a, b in pairs(fotos) do
       if getItemInfo(fotos[a]).clientId == tonumber(slot1) and slot == 1 then 
          ret = doCorrectString(a)
          flag = true
       elseif getItemInfo(fotos[a]).clientId == tonumber(slot2) and slot == 2  then 
          ret = doCorrectString(a)
          flag = true
       elseif getItemInfo(fotos[a]).clientId == tonumber(slot3) and slot == 3 then 
          ret = doCorrectString(a)
          flag = true
       end
           if flag then
              break
           end    
    end
    return ret
end
function saveSlot(strings, slot, poke)
    local slot1, slot2, slot3 = strings:explode("|")[1], strings:explode("|")[2], strings:explode("|")[3]
    local finalSlots = (slot == 1 and poke .. "|" or slot1 .. "|") .. (slot == 2 and poke .. "|" or slot2 .. "|") .. (slot == 3 and poke .. "|" or slot3)
        return finalSlots
end
function isPokeInSlots(strings, poke)
    if not fotos[poke] then return false end
    poke = getItemInfo(fotos[poke]).clientId
    local slot1, slot2, slot3 = strings:explode("|")[1], strings:explode("|")[2], strings:explode("|")[3]
    if tonumber(slot1) == poke then
       return true
    elseif tonumber(slot2) == poke then
       return true
    elseif tonumber(slot3) == poke then
       return true
    end
    return false
end
 


Tenho certeza que se alguém conseguir resolver isso vai ajudar muitas outras pessoas, o serv eu baixei aqui no Tibia King e era um dos mais baixados tbm.

Link para o post
Compartilhar em outros sites

Este tópico foi movido para a área correta. Esta é uma mensagem automática!
Pedimos que leia as regras do fórum!

Spoiler

This topic has been moved to the correct area. This is an automated message!
Please read the forum rules.

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Nogard
      Não deixe seu evento de Natal para última hora, faltam apenas 4 dias. 

      Aproveite as sprites com desconto no site: https://otsprites.com
       
       
       

       

       
       
       
    • Por matiasz123
      [OTCLIENT SHOWOFF] Questlog Actualizado
      Updated quest log, showing quest details:
      Npc name Npc level Npc outfit Mission status Description Amount of reward experience Number of reward points Enemies you must kill Items to collect  
       

       
      When you click on the follow button, an alternative map opens that shows you the next objective of the mission and at what coordinates:


       
      If you want the system write a comment with your discord
    • Por S H I O N
      oiee, estou aqui para disponibilizar uma base bem antiga que achei nos meus arquivos, eu iria apagar ela mais preferi deixar ela aqui para caso alguem queira usar ela para alguma coisa no futuro, pq eu simplesmente peguei em 2018 por ai e nem usei mais pelo o fato de ter muitos bugs e para quem nao entende de script e sistemas ela se torna um pesadelo na vida de alguem, a maioria dos bugs q ela tem da para corrigir muito rapido mais tem uns q sao extremamente dificeis entao um conselho para quem pegar essa base... boa sorte kkkk vc vai precisar de uns meses para tirar os bugs dela mais ela e jogavel ainda. façam um bom uso dela, se caso o cara manjar bem de editar poketibias e tirar bugs e mexer com scripts, para ele vai ser facil tirar esses bugs q tem nela.
      .
      .
      .
      .
      .
      .
      .
      vamos ao que interessa, o download dela vai esta pelo o mediafire e dentro contem o servidor e o client 
      quando baixar e so trocar o ip do servidor e trocar o ip do seu client e pronto.
      .
      .
      .
      .
      .
      .
      vou deixar algumas prints abaixo.
      .
      .
      .
      espero ver um dia essa base online dnv, amava jogar, por isso nao excluir ela
      resolvi deixar aqui, acredito que vao cuidar bem dela. vlw fui.
       
    • Por spotifyy
      Olá, vou tentar não me esticar muito aqui, mas estou mexendo em uma base de poketibia(1098) para estudos
      e provavelmente em algum momento estarei oficialmente lançando.
      Aceito pessoas que também estão em aprendizado e querendo colaborar com o projeto.
      E caso você tenha muito conhecimento na área e queira colaborar também será tão bem vindo/a
      quanto alguém em aprendizado com vontade de evoluir.
       
      Algumas features
       
      >Market Global
      >Poções de XP
      >Gacha stone
      >Boost(+100)
      >Level system
      >Eggs
      >Mapa HUB
      >Eventos diários (PVP/PVE)
      >Outland
      >Shiny Hunts
      >Shiny Box Hunt
      >Area PVP
      e mais algumas outras coisas.
       
       
       
      Caso alguem tenha interesse em integrar o projeto só me chamar no discord que passo as ideias que tenho para o projeto.
       
      Discord: nenep1
       
       
       
       
       
    • Por Baryon
      Boa noite amigos, estou aqui para apresentar meu projeto.
      Estou aqui no intuito de tentar desenvolver um ats baseado em naruto full perspectiva e com uso reduzido de bot, teremos um bot próprio que ira lhe auxiliar na cura e com espaço para 1 magia com finalidade de treino, assim focando que os players possam tentar se divertir jogando na mao tanto a parte pve como pvp do game (oque eu acho mais legal).
      O Servidor ja se encontra com alguns sistema sendo eles:
      ・Passe de batalha
      ・Painel de missoes 
      ・Village war
      ・Sistema de vilas
      ・Bingo book
      ・Autoloot
      ・Ninja procurado
      ・Painel de Dungeons
      ・ World Boss
      Nossas vocaçoes sao divididas em classes sendo elas:
       ・Shooters: Deidara, Gaara, Kankuro, Tenten, Sasori, Konan.
       ・Especialistas: Shikamaru, Nagato, Hashirama, Oonoki, Orochimaru.
       ・Assassinos: Asuma, Madara, Minato, Sasuke, Obito, Kisame.
       ・Suportes: Sakura, Shizune, Ino, Tsunade.
       ・Lutadores: Naruto, Kiba, Chouji, Lee, Neji, Hinata.
             (obs: ja temos por volta de mais 10 personagens "prontos" alem desses com foco em atualizações futuras)
       Atualmente apenas eu e mais uma pessoas estamos desenvolvendo o servidor e ambos trabalham o tempo ou seja nao temos tanto tempo disponivel entao estou em buscas de novas pessoas com certa experiencia para integrar a equipe tenho em mente 4 vagas disponiveis que sao: 1 Mapper, 1 Dev, 1 Designer, 1 Moderador (ficara em contato com a staff e interagindo em nosso discord, ficando por dentro das novidades e no inicio do game ira iniciar como tutor para auxiliar os players).
       Caso alguem tenha interessa em embarcar nessa aventura favor entrar em contato cmg pelo discord 😉 em breve estarei postando mais atualizaçoes do ot aqui!

       Nosso discord: https://discord.gg/pPTkbAnNSV
      Meu contato no discord: baryon1492



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo