Ir para conteúdo
  • Cadastre-se

Ajuda com OT 10.41~10.50 por favor!


Posts Recomendados

Eu to fazendo uns testes nesse 10.41 que peguei esses dias, e está incrivelmente bom, bom mesmo com quests, montarias e itens todos funcionando perfeito mesmo, mas tem alguns bugs e outras coisas que eu gostaria de mudar.

 

Primeiro seria aquele teleport na tartaruga de Meriana, que não está funcionando =( tu pisa nos dois sqm da turtle e nao dá nada....

 

Outra coisa que eu queria adicionar seriam pots infinitos. No 8,6 eu consegui no forum ae que o cara tinha postado o script eu só dei um tapinha la e ficou funcionando, mas agora nos 10.xx não consigo alterar.

 

E por último, queria saber se tem como adicionar comandos as contas GOD-GM porque no arquivo commands.xml só tem 4 linhas...e nos outros que eu ja vi chegava a ter mais de 20. Eu tentei colocar la um /i por exemplo mas na inicialização do server ele ja deu 'comando desconhecido'.

 

Bom é isso ae. Agradeço desde já a quem puder ajudar. Eu vou postar logo mais os arquivos commands.xml e o liquids.lua pra ver se facilita.

Editado por Tibiadrill (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

A parte dos POT infinito ali eu consegui resolver. Se você já sabe como fazer, vaza pra outro tópico.

 

Seria assim o potions.lua original (dois exemplos aí> Mana Pot e Ultimate Health Pot):

1)Sentença do mana potion original:

 

elseif item.itemid == manaPot then
        if not doTargetCombatMana(0, cid, 75, 125, CONST_ME_MAGIC_BLUE) then
            return false
        end
        player:addCondition(exhaust)
        player:say("Aaaah...", TALKTYPE_MONSTER_SAY)
        Item(item.uid):remove(1)
        player:addItem(emptyPot, 1)

 

2)Sentença do Ultimate Health Pot Original:

 

elseif item.itemid == ultimateHealthPot then
        if(not isInArray({4, 8}, player:getVocation():getId()) or player:getLevel() < 130) and not(player:getGroup():getId() >= 2) then
            player:say("This potion can only be consumed by knights of level 130 or higher.", TALKTYPE_MONSTER_SAY)
            return true
        end

        if not doTargetCombatHealth(0, cid, COMBAT_HEALING, 650, 850, CONST_ME_MAGIC_BLUE) then
            return false
        end
        player:addCondition(exhaust)
        player:say("Aaaah...", TALKTYPE_MONSTER_SAY)
        Item(item.uid):remove(1)
        player:addItem(greatEmptyPot, 1)

    end

    return true
end
 

Fazendo algumas alterações, vão ficar assim:

 

1)Mana Pot:

 

elseif item.itemid == manaPot then
        if not doTargetCombatMana(0, cid, 75, 125, CONST_ME_MAGIC_BLUE) then
            return true
        end
        player:addCondition(exhaust)
        player:say("Aaaah...", TALKTYPE_MONSTER_SAY)
        Item(item.uid):remove(0)
        player:addItem(emptyPot, 0)

 

2) Ultimate Health Pot:

 

elseif item.itemid == ultimateHealthPot then
        if(not isInArray({4, 8}, player:getVocation():getId()) or player:getLevel() < 130) and not(player:getGroup():getId() >= 2) then
            player:say("This potion can only be consumed by knights of level 130 or higher.", TALKTYPE_MONSTER_SAY)
            return true
        end

        if not doTargetCombatHealth(0, cid, COMBAT_HEALING, 650, 850, CONST_ME_MAGIC_BLUE) then
            return true
        end
        player:addCondition(exhaust)
        player:say("Aaaah...", TALKTYPE_MONSTER_SAY)
        Item(item.uid):remove(0)
        player:addItem(greatEmptyPot, 0)

    end

    return true
end
 

Na verdade, pouca coisa tem que ser alterada, mas eu usei esses exemplos com as descrições completas de cada item pra tentar facilitar. Nem sei se será útil a alguém, mas pra mim funcionou.

 

Ainda espero que um de vocês possa me ajudar com o Teleport e a adicionar comandos para god e gm.

 

Obrigado.

 

 

Link para o post
Compartilhar em outros sites

O da tartaruga é só colocar uma teleport com e a localização pra onde ele irá, apenas se tiver alguma verificação para ir que terá que fazer o script .. 

Os comandos são em talkactions e além de ser God, tu precisa ter o TYPE = x (acho que é 3).

Link para o post
Compartilhar em outros sites

Blz, vlw ae!
Vou verificar essa do TP que é um dos poucos bug que essa versao tem, e não tem verificação nenhuma, é só pisar nele e já dá tp.

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 rafaelpk20
      Boa noite, no meu ot 10.53 existe um comando do god chamado /addtp, com a seguinte tag: <talkaction words="/addtp" separator=" " script="addtp.lua" />
       
      Mas já tentei falar de todas as formas, falando /addtp ele realmente cria um teleport, só que nao sei como escrever as cordenadas tipo /addtp 12568 12658 5  (<<so um exemplo) alguem pode me ajudar? vo postar abaixo o script dele, com ele talvez vocês consigam me ajudar a saber como falar corretamente o comando:
        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(",") doCreateTeleport(1387, Position(split[1], split[2], split[3]), player:getPosition()) return true end  
       
    • Por ADM Lucas OTBR
      Olá senhores, como estão?
       
       Alguém poderia, por favor, me ajudar com o script abaixo?
       
       Gostaria que o mesmo criasse 4 TPs ao invés de apenas 1.
       
       Essa script funciona após matar um BOSS.
       
       
       
    • Por Vodkart
      Descrição do Arquivo

       
      *Sobre o Sistema*
       
      Resolvi postar este sistema por ser simples, já que estou desenvolvendo sistemas para guild e focar em evento de PVP para comércio aqui no TibiaKing, sem mais deslongas;
       
      O sistema é simples, basta você ativar um comando e você será teleportado para o local depois de "X" segundos, como mostra na imagem!
       
       
      Exemplo do uso de comando:
       
      !tp templo
      !tp depot
      !tp baiak city
       
      -----
      Função que leva você para as houses! Pode ser sua house ou a house que seu amigo te invitou!
       
      !tp casa,1
      ou
      !tp house,1
       
      *Features*
       
      [+] O Jogador que ativar o comando e entrar em combate, automaticamente o teleport é desativado!
      [+] Fácil configuração!
      [+] Você pode configurar para que determinados locais sejam acessados só por premium account!
      [+] Nova função que fará que você seja levado para sua house ou house de amigos que tenham te invitado... e também irá mostrar a lista de houses disponíveis para ir!
       
       *Versão Testada*
      Versão Tibia 8.6  
      TFS 0.3.6
      TFS 0.4
       
       
       
       
      *Código*
       
       
      tp_system.lua
      --[[ Teleport System Desenvolvido por Vodkart Exclusivo TibiaKing Versão : 1.0 ]]-- --[[ Configuração ]]-- local time = 5 -- tempo que demora para ser teleportado local premium_teleport_houses = true -- se para teleportar para as houses precisa ser premium local teleports = { -- ["nome do lugar"] que poderá ir ["depot"] = {pos = {x=129, y=54, z=6}, premium = false}, -- posição que irá e se precisa de premium para ir! ["templo"] = {pos = {x=160, y=54, z=7}, premium = false}, ["arena"] = {pos = {x=125, y=351, z=9}, premium = false}, ["baiak city"] = {pos = {x=1028, y=1034, z=7}, premium = false} } --[[ Functions ]]-- function doTeleportWithDelay(cid, pos, delay) -- by vodkart if not isCreature(cid) then return LUA_ERROR end if delay > 0 then if getCreatureCondition(cid, CONDITION_INFIGHT) then setPlayerStorageValue(cid, 548745, 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} O teletransporte foi desativado pois você entrou em estado de combate.") return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} "..delay.." segundos para se teletransportar.") addEvent(doTeleportWithDelay, 1000, cid, pos, delay-1) else doTeleportThing(cid, pos) doSendMagicEffect(getPlayerPosition(cid), 10) end end function getHouseInvite(cid) -- by vodkart local t = {} local qry = db.getResult("SELECT `house_id`,`list` FROM `house_lists`;") if (qry:getID() ~= -1) then repeat local lista = qry:getDataString("list") if string.find(lista, getCreatureName(cid)) then local id = qry:getDataInt("house_id") if not isInArray(t, id) then t[#t+1] = id end end until not qry:next() qry:free() end return t end function onSay(cid, words, param) local z = string.explode(param:lower(), ",") if getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} Este comando só pode ser usado fora de combate.") return true elseif getPlayerStorageValue(cid, 548745) - os.time() > 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} aguarde, você está em processo de teletransporte.") return true end if z[1] == "casa" or z[1] == "house" then local t,invite,str = {},getHouseInvite(cid),'{Teleport} As casas disponíveis para você se teletransportar são:\n' if premium_teleport_houses == true and not isPremium(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} você precisa ser premium account para teleportar para houses.") return true end if getHouseByPlayerGUID(getPlayerGUID(cid)) ~= nil then t[#t+1] = getHouseByPlayerGUID(getPlayerGUID(cid)) end if #invite ~= 0 then for i = 1,#invite do t[#t+1] = invite[i] end end if #t == 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} você não tem nenhuma house para ir.") return true end if not tonumber(z[2]) or tonumber(z[2]) > #t then for i = 1, table.maxn(t) do local h = getHouseInfo(t[i]) local hname, htown = getHouseName(t[i]),getTownName(h.town) str = str .. i .. ') '..hname..' [' .. htown..']' str = i ~= table.maxn(t) and str .. ', ' or str .. '.' end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} Você deve especificar uma das casas para se teletransportar usando !tp house,numeroDoIndice") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str) return true end setPlayerStorageValue(cid, 548745, os.time()+time) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} Ativado.") doTeleportWithDelay(cid, getHouseEntry(t[tonumber(z[2])]), time) return true end if not teleports[z[1]] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} Desculpe, este lugar não existe, lugares disponíveis: house, depot, templo, arena, baiak city.") return true elseif teleports[z[1]].premium == true and not isPremium(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} Desculpe, você precisa ser premium para ir para este lugar.") return true end setPlayerStorageValue(cid, 548745, os.time()+time) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} Ativado.") doTeleportWithDelay(cid, teleports[z[1]].pos, time) return true end  
      TAG
       
      <talkaction words="!tp;/tp" script="tp_system.lua"/>  
    • Por Mikhael
      Olá,
       
      Estou com problemas nesse systema de teleport TFS 1.0:
       
      Estou usando:
       
      The Forgotten Server - Versao 1.2 Compilado com GNU C++ version 4.8.4 Compilado em Dec 18 2015 14:39:12 para plataforma x64 Este servidor foi desenvolvido por Mark Samman e editado por Bruno Minervino Visite nosso forum para updates, suporte e pedidos: http://xtibia.com/. Um oferecimento ServerSoft, tecnologia ao seu alcance.  
       
      E estou com o seguinte erro:
       
      Lua Script Error: [TalkAction Interface] data/talkactions/scripts/teleport.lua:onSay data/talkactions/scripts/teleport.lua:3: attempt to index global 'teleport' (a nil value) stack traceback: [C]: in function '__index' data/talkactions/scripts/teleport.lua:3: in function  
      imagino que o problema venha do seguinte script:
       
       
      global.lua na pasta talkactions.
       
      teleport = { maxPortPoints = 10, canTeleportWhileInfight = false, premiumOnly = false } function savePortPosition(cid, description) local playerGuid = getPlayerGUID(cid) local pos = getCreaturePosition(cid) local port = 0 for i = 1, teleport.maxPortPoints do local slot = db.storeQuery("SELECT `name` FROM `player_teleport` WHERE `player_id` = " .. playerGuid .." AND slot = ".. i .."") if slot == false then port = i ret = true break end result.free(slot) end if ret then db.query("INSERT INTO `player_teleport` (`player_id`, `slot`, `posx`, `posy`, `posz`, `name`) VALUES (".. playerGuid ..", ".. port ..", ".. pos.x ..", ".. pos.y ..", ".. pos.z ..", '".. description .."');") doPlayerSendTextMessage(cid, 22, "Voce salvou o local de teleporte. ".. description ..".") doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE) else doPlayerSendCancel(cid, "Voce nao pode ter mais que ".. teleport.maxPortPoints .." locais salvos.") end end  
       
      Alguem se oferece a judar ? Rep++
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo