Jump to content

Scripting Passar script para ModalWindow


Recommended Posts

.Qual servidor ou website você utiliza como base? 

TFS 1.3  TibiaGlobal 12.60

 

Qual o motivo deste tópico? 

Estou usando um talkaction para mudar de vocação em modal window mas quando confirmo nada acontece





talkactions

Spoiler


local vocations = TalkAction("!vocations")


function vocations.onSay(player, words, param)
if getPlayerVocation == 1 or 5 or 9 then
    local window = ModalWindow(1000,"Selecione a vocation que deseja")

    window:addButton(100, "Confirm")
    window:addButton(101, "Cancel")


window:addChoice(1, "Elementalist")
window:addChoice(2, "Necromancer")
window:addChoice(3, "Sorcerer")    
    
    
     

    window:setDefaultEnterButton(100)
    window:setDefaultEscapeButton(101)

    window:sendToPlayer(player)

    return true

end

end

vocations:register()

 

 

creaturescripts

Spoiler

local modalWindowVocation = CreatureEvent("ModalWindowVocation")


function onModalWindow(player, modalWindowId, buttonId, choiceId)  
    player:unregisterEvent("ModalWindowVocation")
    local mensagem = {
    
    [1] = "Voce Virou ELementalista",
    [2] = "Voce virou Necromancer",
    [3] = "Voce virou Sorcerer",
    [4] = "Voce virou Healer",
    [5] = "Voce virou Enchanter",
    [6] = "Voce virou Druid",
    
    
    }
 
    if modalWindowId == 1000 then
        if buttonId == 100 then
        
            for x = 1,#mensagem do
                if choiceId == x then

                    cid:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, mensagem[x])             
                    
                    
            player:setVocation(6)
            
            
            end
            
            
            
                        for x = 4,#mensagem do
                if choiceId == x then
                    cid:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, mensagem[x])             
                    
                    
            player:setVocation(6)
            
            
            end
            end
            
            end
        end
    end
end

modalWindowVocation:register()
 


 

 

 

Edited by Lethal M (see edit history)
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By knepperzik
      Estou usando OTX.

      Fala galera,

      Estou com um probleminha em meu servidor, sobre o castle, não esta salvando a guild dominante.
      Ja verifiquei o config.lua e sim esta como "true" saveGlobalStorage=true.
      Se alguem conseguir dar uma ajuda.
       
    • By GniusPlay
      Pessoal, tenho uma script que o player ganha x item e volta para o cp quando não tem ninguem em x  area, mas eu gostaria de fazer com que essa script fosse ativada depois de 5 segundos após o player pisar nesse tile.
      Exemplo: Player pisa no tile, da 5 segundos e o script é ativado
      Se não tiver ninguem nessa area, o script passa 5 segundos e funciona normal, caso tenha player nessa area, o script não funciona!
      A script ja esta ok, só falta adicionar 5 segundos
       
      function onStepIn(cid, item, position, fromPosition) local pos = {x = 1037, y = 1034, z = 7} local battlewin = 1 if #getCreatureSummons(cid) >= 1 then else if #getPlayersInArea(battleroyale.area) > 1 then return true end doTeleportThing(cid, pos) local item = doPlayerAddItem(cid, 5805, 1) doItemSetAttribute(item, "description", getCreatureName(cid).." conquistou este trofeu apos vencer uma partida no Battle Royale.") doBroadcastMessage(""..getCreatureName(cid).." Venceu o evento Battle Royale") doPlayerAddItem(cid,12618,1) doPlayerAddItem(cid,2152,30) addTopbattle(cid, battlewin) return true end end  
    • By GniusPlay
      Pessoal, preciso de uma script que limitasse x item dos players
      Por exemplo, ele só poderia ter na sua conta 5 pedras, se colocasse pra ter 6 pedra não teria como!
       
    • By GniusPlay
      Pessoal, tenho uma script que o player só passa se ele tiver uma guild, a script funciona  certinho, só q da um erro na distro quando um pokemon (monstro) passa por cima desse tile
      Erro:
      [07/03/2021 16:08:43] [Error - MoveEvents Interface] 
      [07/03/2021 16:08:43] datapack/movements/scripts/guildpiso.lua:onStepIn
      [07/03/2021 16:08:43] Description: 
      [07/03/2021 16:08:43] datapack/movements/scripts/guildpiso.lua:2: attempt to compare number with boolean
      [07/03/2021 16:08:43] stack traceback:
      [07/03/2021 16:08:43]     datapack/movements/scripts/guildpiso.lua:2: in function <datapack/movements/scripts/guildpiso.lua:1>
       
      Script:
       
       
    • By raphadoidera
      .Qual servidor ou website você utiliza como base? 
      8.60
      Qual o motivo deste tópico? 
      Preciso de um SCRIPT.

      Salve TK. Então rapaziada, estou a meses tentando achar um SCRIPT que faça com que o personagem solte mais de um míssil em uma mesma skill. Me passaram um que ele solta vários mísseis, porém os mesmos não saem diretamente do personagem. Eu preciso de um script que eu possa adicionar mais de um Míssil e que eles saiam diretamente do personagem. Alguém da uma força por favor!


      Esse é o Script que eu quero adicionar os Mísseis, 3 para ser mais exato. Míssel (41)
       
      Você tem o código disponível? Se tiver publique-o aqui: 
      local combat = createCombatObject()
      setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
      setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 41)
      setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -78.2, 1, -88.2, 1)
      function onCastSpell(cid, var)

      local waittime = 2 -- Tempo de exhaustion
      local storage = 1000600
      if exhaustion.check(cid, storage) then
      return false
      end

      local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+1, y=getThingPosition(getCreatureTarget(cid)).y+1, z=getThingPosition(getCreatureTarget(cid)).z}
      local position2 = {x=getCreaturePosition(cid).x+3, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}
      doSendMagicEffect(position1, 106)
      doSendMagicEffect(position2, 189)
      exhaustion.set(cid, storage, waittime)
      return doCombat(cid, combat, var)
      end
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

Confirmação de Termo