Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Pow cara, parabéns, tb tava procurando há um tempo, e como não achei... Já tinha desistido.

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

Muito bom mano!

Eu só por pratica, eu decidir reescrever o seu script para métodos utilizados no TFS 1.0, o script foi testado e está 100% funcional.

Agora, para facilitar o script, eu botei o ID das vocações na ordem como elas são.

Assim:

  <vocation id="9" clientid="3" name="Epic Master Sorcerer" description="a epic master sorcerer" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="800" basespeed="220" soulmax="200" gainsoulticks="15" fromvoc="1">
        <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
        <skill id="0" multiplier="1.5"/>
        <skill id="1" multiplier="2.0"/>
        <skill id="2" multiplier="2.0"/>
        <skill id="3" multiplier="2.0"/>
        <skill id="4" multiplier="2.0"/>
        <skill id="5" multiplier="1.5"/>
        <skill id="6" multiplier="1.1"/>
    </vocation>
    <vocation id="10" clientid="4" name="Epic Elder Druid" description="an epic elder druid" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="800" basespeed="220" soulmax="200" gainsoulticks="15" fromvoc="2">
        <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
        <skill id="0" multiplier="1.5"/>
        <skill id="1" multiplier="1.8"/>
        <skill id="2" multiplier="1.8"/>
        <skill id="3" multiplier="1.8"/>
        <skill id="4" multiplier="1.8"/>
        <skill id="5" multiplier="1.5"/>
        <skill id="6" multiplier="1.1"/>
    </vocation>
    <vocation id="11" clientid="2" name="Epic Royal Paladin" description="a epic royal paladin" gaincap="20" gainhp="10" gainmana="15" gainhpticks="3" gainhpamount="10" gainmanaticks="3" gainmanaamount="10" manamultiplier="1.4" attackspeed="800" basespeed="220" soulmax="200" gainsoulticks="15" fromvoc="3">
        <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
        <skill id="0" multiplier="1.2"/>
        <skill id="1" multiplier="1.2"/>
        <skill id="2" multiplier="1.2"/>
        <skill id="3" multiplier="1.2"/>
        <skill id="4" multiplier="1.1"/>
        <skill id="5" multiplier="1.1"/>
        <skill id="6" multiplier="1.1"/>
    </vocation>
	<vocation id="12" clientid="1" name="Epic Elite Knight" description="an epic elite knight" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="800" basespeed="220" soulmax="200" gainsoulticks="15" fromvoc="4">
        <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
        <skill id="0" multiplier="1.1"/>
        <skill id="1" multiplier="1.1"/>
        <skill id="2" multiplier="1.1"/>
        <skill id="3" multiplier="1.1"/>
        <skill id="4" multiplier="1.4"/>
        <skill id="5" multiplier="1.1"/>
        <skill id="6" multiplier="1.1"/>
    </vocation>

Bem, eu fiz isso para facilitar o script.

 

E aqui está o script:

function onUse(cid, item, frompos, itemEx, topos)
local player = Player(cid)
local item = Item(item.uid)
local vocations = {{1, 2, 3, 4}, {5, 6, 7, 8}}
local news_vocations = {9, 10, 11, 12}

	
    if isInArray(news_vocations, player:getVocation():getId()) then
        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You have already upgraded your vocation.")
        return true
    end
	
    if isInArray(vocations[1] , player:getVocation():getId()) then
        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You must to be the first promotion to use this.")
		return true
    end


	if not isInArray(vocations[1], player:getVocation():getId()) and not isInArray(vocations[2], player:getVocation():getId()) then
		player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Your vocation is invalid.")
		return true
	end

	
    if isInArray(vocations[2], player:getVocation():getId()) then
        player:setVocation(Vocation(player:getVocation():getId()+4))
		player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Congratulation, you have been promoted!")
		local pos = player:getPosition()
		pos:sendMagicEffect(CONST_ME_MAGIC_GREEN)
        item:remove(1)
    end
    return true
end

Bem, tanto o seu quanto o meu vão funcionar, porém se usarem o meu, terão que usar a ordem de vocações XML que eu adicionei.

"A alma permanece em suas criações" V89E5aN.png


142c9d3439.jpg
(Não dou suporte por mensagem privada.)

Link para o post
Compartilhar em outros sites

Agora que você botou as vocações na ordem, atualizar o seu script, assim:

function onUse(cid, item, frompos, itemEx, topos)
    local vocs = {9,10,11,12}
    if isInArray(vocs,getPlayerVocation(cid)) then
        doPlayerSendTextMessage(cid, 4, 'You already are upgraded vocation')
        return false
    else
        local vucs = {1,2,3,4}
        if isInArray(vucs,getPlayerVocation(cid)) then
            doPlayerSendTextMessage(cid, 4, 'You need first normal promotion in order to use this')
        else
            local allVocs = {1,2,3,4,5,6,7,8}
            if not isInArray(allVocs,getPlayerVocation(cid)) then
                doPlayerSendTextMessage(cid, 4, 'You have an invalid vocation')
            else
               doPlayerSetVocation(cid, getPlayerVocation(cid)+4)
               doRemoveItem(item.uid,1)
            end
        end
    end
    return true
end

"A alma permanece em suas criações" V89E5aN.png


142c9d3439.jpg
(Não dou suporte por mensagem privada.)

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Esse code parece com esse:

function onUse(cid, item, frompos, itemEx, topos)
    local vocs = {9,10,11,12}
    if isInArray(vocs,getPlayerVocation(cid)) then
        doPlayerSendTextMessage(cid, 4, 'You already are upgraded vocation')
        return false
    else
        local vucs = {1,2,3,4}
        if isInArray(vucs,getPlayerVocation(cid)) then
            doPlayerSendTextMessage(cid, 4, 'You need first normal promotion in order to use this')
        else
            local allVocs = {1,2,3,4,5,6,7,8}
            if not isInArray(allVocs,getPlayerVocation(cid)) then
                doPlayerSendTextMessage(cid, 4, 'You have an invalid vocation')
            else
                -- If master sorcerer
                if getPlayerVocation(cid) == 5 then
                    doPlayerSetVocation(cid, 11)
                    doRemoveItem(item.uid,1)
                -- If elder druid
                elseif getPlayerVocation(cid) == 6 then
                    doPlayerSetVocation(cid, 12)
                    doRemoveItem(item.uid,1)
                -- If royal paladin
                elseif getPlayerVocation(cid) == 7 then
                    doPlayerSetVocation(cid, 10)
                    doRemoveItem(item.uid,1)
                -- If elite knight
                elseif getPlayerVocation(cid) == 8 then
                    doPlayerSetVocation(cid, 9)
                    doRemoveItem(item.uid,1)
                end
            end
        end
    end
    return true
end

=x

Antica Global - Server Online

 

SITE: http://anticaglobal.com/

IP: anticaglobal.com
EXP: 999x [sTAGES]
ML: 300x
SKILL: 500x
LOOT: 10x
 
VERSÃO: 10.77
PORTA: 7171
 
Stages:
1 - 8 level, 999x
9 - 20 level, 950x
21 - 50 level, 800x
51 - 100 level, 750x
101 - 130 level, 650x
131 - 180 level, 550x
181 - 230 level, 450x
231 - 300 level, 350x
301+ level, 300x
 
Link para o post
Compartilhar em outros sites
  • 4 months later...

graças funciona muito bem, eu só tenho uma pergunta, agora novas vocações não pode usar armas e itens :/

in TFS 1.0

 

Você tem que configurar em weapons para as novas vocações poderem utilizar o item.

Link para o post
Compartilhar em outros sites

Você tem que configurar em weapons para as novas vocações poderem utilizar o item.

 

Ejemplo:

<!-- Wands -->
<wand id="2190" level="7" mana="2" min="8" max="18" type="energy" function="default"> <!-- Wand of Vortex -->
<vocation name="Sorcerer"/>
 
agrego 
<vocation name="Epic Master Sorcerer"/>
 
?
Link para o post
Compartilhar em outros sites
  • 1 month later...
  • 2 months later...
  • 2 years later...

Olá pessoal @luciano93 teria como fazer por premium? tipo qndo player for premium ele ganha a epic e gando fica free ele volta normal... no TFS 1.0

Estou usando o script do Vodkart, so que qndo acaba premium não volta a voc normal..alguem pode me ajudar ae?

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 Budrox
      ola! venho apresentar meu protejo e ouvir a opinião de
      vocês estou trabalhando a alguns meses nessas sprites,
      jogariam um protejo assim, penso em fazer o jogo em
      outras engines mas faria mais sentido se fosse um
      protejo online.

    • Por GamerGoiano
      Provavelmente funciona com os outros jogos do quilante, basta substituir a pasta data na pasta do servidor e substituir os arquivos do cliente na pasta otclient/data/things/860
      Eu não tenho créditos sobre o projeto, estou apenas postando aqui porque ja é de dominio público porém em todos os tópicos na internet o projeto está muito desatualizado
      Este aqui está configurado pra por online no pc.
       

      Download: (TFS 04 860 + OTCLIENT "Ultima versão x64", Htdocs "O site" e o Banco de dados Compativel.
      https://www.mediafire.com/file/bmponjci62txbxd/TIBIA+GTA+ARRUMADO.rar/file

      Scan:
      https://www.virustotal.com/gui/file/b6236579ad11201f3c01899a218f6ca8ef8e645cf3881f5de2af46a04837085d?nocache=1
    • Por Tyren
      Fala galera, tranquilos?
      Recentemente comecei a desenvolver um servidor de Pokémon (famoso poketibia) porém ai me veio a duvida, ainda existe "players" interessados nisso?
      Pois eu vejo vários projetos bons morrerem na praia ou nem saírem do papel e isso meio que da uma desanimada.
      Na concepção de vocês, o que falta para um bom poketibia? Mapa? Sistemas? Voltar as antigas e lançar um servidor Old School?
    • Por TestAccount
      Bem vindos a SwampSoldiers, um ot alternativo único de sapos e minhocas! Achou estranho? Eu também, mas comecei a jogar e viciei ?

      Website
      SwampSoldier - Play to earn (https://www.swampsoldiers.com/index)

      Social Media
      Twitter: https://twitter.com/SoldiersSwamp
      Discord: Join the SwampSoldiers | ? Vs ? Discord Server! (https://discord.gg/qc9wfMQ8vK)
      Youtube: https://www.youtube.com/c/SwampSoldiers
      Facebook: SwampSoldier (https://www.facebook.com/profile.php?id=100087871800250)
      Instagram: Swamp Soldiers (@swampsoldiers) • Instagram photos and videos (https://www.instagram.com/swampsoldiers/)

      =================================================================================================
      SwampSoldiers é um jogo blockchain gratuito, onde você é o verdadeiro dono de seus ativos e pode vendê-los facilmente a outros jogadores por dinheiro real.

      Características:
      Músicas de fundo e efeitos de som; Mapa unico e original; 6 diferentes classes e 2 facções; NPCs animados; Spells unicos com som; Mercado p2p; Quests únicas; 0% de perda de exp até o lvl 5; Sistema de crafting; Sistema de casas e ilhas particulares; Sistema de pet e autoloot; World boss; Tower defense mini-game; Battle royale sendo desenvolvido;  

       

       

       

       

       

    • Por MatteusDeli
      Nesse tópico você irá aprender a diferença entre ItemID, ActionID e UniqueID na criação de scripts.
       
      Primeiramente vamos começar com o ItemID, imagine que você está criando um simples script que o player pode ter acesso a uma área VIP, só que para ele entrar, primeiro precisará passar por um tile especial que possui o ID 471, até aqui tudo bem, só que qualquer player do servidor irá ter acesso também, já que não possui nenhuma restrição.
       
      Como poderíamos resolver isso?
       
      É aqui que entra a função da ActionID, com ela podemos dizer que os tiles que tiverem o valor 1000 no atributo ActionID, serão os tiles referentes a área VIP. Agora temos uma maneira de diferenciar os tiles comuns dos que são VIPs, veja como ficaria:
       

      (tiles sem as ActionIDs no valor de 1000)
       
      Repare que os 3 tiles tem apenas o atributo ItemID: [471]. Todos os players poderiam passar sem problemas… Caso você use apenas esse tipo de tile para as suas áreas VIPs então não tem problema, agora se você usa esses mesmos tiles para outras finalidades, então você precisará recorrer a ActionID, para que assim consiga diferenciá-los.
       
      Vamos adicionar as ActionIDs então:
       

      (tiles com as ActionIDs adicionados no valor de 1000)
       
      Pronto, agora apenas esse tiles terão a função de controlar a entrada para a área VIP!
       
      Bom, então você deve estar se perguntando, aonde que o UniqueID entra nessa história?
       
      O UniqueID é parecido com a ActionID com apenas uma diferença. O valor que você define para ele deve ser único para o servidor inteiro, caso ele se repita aparecerá um aviso na sua distro, mais ou menos como este…
       

       
      Repare quantos UniqueIDs duplicados existem, isso é ruim porque quanto mais tiver mais tempo demorará para o servidor iniciar, entre outras coisas como conflitos de scripts.
       
      Concluindo…
       
      O ItemID é usado quando você quer que todos os itens com esse ID façam uma ação, por exemplo a fishing rod, qualquer player pode comprar uma no NPC e começar a pescar.
       
      A ActionID é usado geralmente quando você quer diferenciar os mesmos itens um dos outros. Eu tenho 2 crystal rings só que apenas um deles vai me curar 500 de vida quando usá-lo.
       
      O UniqueID é quando você quer definir um ID único para um determinado item e só terá apenas um dele no servidor, um exemplo seria uma estátua que vai dar ao player um determinado item e só existirá somente uma dela no jogo.
       
      Tentei ser o mais breve e direto sobre esse assunto, espero que tenha ficado claro… Agora é só praticar!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo