• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [Pedido] Cambio aleatorio de posicion

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1Resuelto [Pedido] Cambio aleatorio de posicion el Miér Ene 11, 2017 9:17 am

    jonny03

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Hola Me podrian ayudar con un script, lo que deseo es que cada vez que un usuario se conecte o reaparesca despues de una muerte, aparesca en una cordenada escogida al azar de una lista de cordenadas que yo le indique.

    Si gustan puede ser que aparescan en un teleport y sea el teleport el que los transporte aleatorio, o como piensen ustedes que sea mas facil.

    gracias por su apoyo de antemano.

    Ver perfil de usuario

    2Resuelto Re: [Pedido] Cambio aleatorio de posicion el Miér Ene 11, 2017 11:48 am

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    a tu preparedeath.lua añades esto

    Código:
    doTeleportThing(cid, getTownTemplePosition(math.random(1, 5)))

    1 hasta 5 son las town que tienes que crear en diferente lugares que quieras que el player aparesca al randon



    Ver perfil de usuario http://www.tibiaface.com

    3Resuelto Re: [Pedido] Cambio aleatorio de posicion el Miér Ene 11, 2017 8:01 pm

    jonny03

    avatar
    Nuevo Miembro
    Nuevo Miembro
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:a tu preparedeath.lua añades esto

    Código:
    doTeleportThing(cid, getTownTemplePosition(math.random(1, 5)))

    1 hasta 5 son las town que tienes que crear en diferente lugares que quieras que el player aparesca al randon

    gracias por la pronta respuesta pero donde esta el archivo preparedeath.lua ya lo busque en todos lados y nada

    Ver perfil de usuario

    4Resuelto Re: [Pedido] Cambio aleatorio de posicion el Miér Ene 11, 2017 8:07 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    entonces esta en tu login.lua peg aqui el contenido e login.lua entre las tag code porfavor para que no armes un desastre



    Ver perfil de usuario http://www.tibiaface.com

    5Resuelto Re: [Pedido] Cambio aleatorio de posicion el Miér Ene 11, 2017 8:09 pm

    jonny03

    avatar
    Nuevo Miembro
    Nuevo Miembro
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:entonces esta en tu login.lua peg aqui el contenido e login.lua entre las tag code porfavor para que no armes un desastre
    Código:
    local config = {
     loginMessage = getConfigValue('loginMessage'),
     useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
    }

    function onLogin(cid)
     local loss = getConfigValue('deathLostPercent')
     if(loss ~= nil) then
     doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
     doPlayerAddBlessing(cid, 1)
     doPlayerAddBlessing(cid, 2)
     doPlayerAddBlessing(cid, 3)
     doPlayerAddBlessing(cid, 4)
     doPlayerAddBlessing(cid, 5)
     doPlayerAddPremiumDays(cid, 2)
     doPlayerSetPromotionLevel(cid, 1)
     end

     local accountManager = getPlayerAccountManager(cid)
     if(accountManager == MANAGER_NONE) then
     local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
     if(lastLogin > 0) then
     doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
     str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
     else
     str = str .. " Please choose your outfit."
     doPlayerSendOutfitWindow(cid)
     end

     doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
     elseif(accountManager == MANAGER_NAMELOCK) then
     doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
     elseif(accountManager == MANAGER_ACCOUNT) then
     doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
     else
     doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
     end

     if(not isPlayerGhost(cid)) then
     doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
     end

         registerCreatureEvent(cid, "kill")
         registerCreatureEvent(cid, "onPrepareDeath")
         registerCreatureEvent(cid, "PlayerLogout")
         registerCreatureEvent(cid, "onPrepareDeath")
         registerCreatureEvent(cid, "deathBroadcast")
         registerCreatureEvent(cid, "DeathBroadcast")

     registerCreatureEvent(cid, "Idle")
     if(config.useFragHandler) then
     registerCreatureEvent(cid, "SkullCheck")
     end

     registerCreatureEvent(cid, "ReportBug")
     return true
    end

    Ver perfil de usuario

    6Resuelto Re: [Pedido] Cambio aleatorio de posicion el Miér Ene 11, 2017 8:58 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    no se puede ahi porque todo es login tiene que prepararse en deadplayer revisa bien tu creaturescripts



    Ver perfil de usuario http://www.tibiaface.com

    7Resuelto teste el Jue Ene 12, 2017 12:23 am

    jonny03

    avatar
    Nuevo Miembro
    Nuevo Miembro
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:no se puede ahi porque todo es login tiene que prepararse en deadplayer revisa bien tu creaturescripts

    Pues tengo uno que es deathBroadcast.lua
    te paso el lua

    Código:
    local config = {
       affected = 10, -- how many players (deathAssits) from table deathList should this script be executed for?

       killStorageValue = 3943,
       deathStorageValue = 3944,

       -- commands for the texts (those inside of ||, example: |KILLS| to show skills): KILLS, KILLERNAME, TARGETNAME
       rewardItem = {
          use = true,
          itemid = 2152,
          minLevel = false, -- false if you don't want any level req
          minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed).
       },

       killMessage = {
          use = true,
          text = "You owned |TARGETNAME|! You have now |KILLERKILLS| kills!",
          messageClass = MESSAGE_STATUS_CONSOLE_BLUE
       },

       broadcastMessage = {
          use = true,
          minLevel = false, -- false if you don't want any level req
          minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed).
          text = "|KILLERNAME| [|KILLERLEVEL|] just killed |TARGETNAME| [|TARGETLEVEL|]!",
          messageClass = MESSAGE_STATUS_WARNING
       },

       killerAnimation = {
          use = true,
          text = "Frag!", -- Only 9 letters! No "commands" here.
          color = 144
       },

       targetAnimation = {
          use = true,
          text = "Owned!", -- Only 9 letters! No "commands" here.
          color = 180
       }
    }

    function onDeath(cid, corpse, deathList)
       for i = 1, math.min(config.affected, getConfigInfo('deathAssistCount')) do
          local killer = deathList[i]
          if(isPlayer(killer) == TRUE) then
             local targetKills = math.max(0, getPlayerStorageValue(cid, config.killStorageValue)) + 1
             local targetDeaths = math.max(0, getPlayerStorageValue(cid, config.deathStorageValue)) + 1
          
             local killerKills = math.max(0, getPlayerStorageValue(killer, config.killStorageValue)) + 1
             local killerDeaths = math.max(0, getPlayerStorageValue(killer, config.deathStorageValue)) + 1
          
             setPlayerStorageValue(killer, config.killStorageValue, targetKills)
             setPlayerStorageValue(cid, config.deathStorageValue, targetDeaths)

             local killerLevel = getPlayerLevel(killer)
             local targetLevel = getPlayerLevel(cid)
             local levelDiff = targetLevel - killerLevel

             local values = {
                ["KILLERKILLS"]        = killerKills,
                ["KILLERDEATHS"]        = killerDeaths,
                ["KILLERNAME"]          = getCreatureName(killer),
                ["KILLERLEVEL"]        = killerLevel,
             
                ["TARGETKILLS"]        = targetKills,
                ["TARGETDEATHS"]        = targetDeaths,
                ["TARGETNAME"]          = getCreatureName(cid),
                ["TARGETLEVEL"]        = targetLevel
             }

             function formateString(str)
                return(str:gsub("|([A-Z]+)|", (function(a) return values[a] end)))
             end
          
             if(config.rewardItem.use and (not config.rewardItem.minLevel or targetLevel >= config.rewardItem.minLevel) and (not config.rewardItem.minLevelDiff or levelDiff >= config.rewardItem.minLevelDiff)) then
                local uid = doPlayerAddItem(killer, config.rewardItem.itemid, 5)
             end
             if(config.killMessage.use) then
                doPlayerSendTextMessage(killer, config.killMessage.messageClass, formateString(config.killMessage.text))
             end
             if(config.broadcastMessage.use and (not config.broadcastMessage.minLevel or getPlayerLevel(cid) >= config.broadcastMessage.minLevel) and (not config.broadcastMessage.minLevelDiff or levelDiff >= config.broadcastMessage.minLevelDiff)) then
                broadcastMessage(formateString(config.broadcastMessage.text), config.broadcastMessage.messageClass)
             end
             if(config.killerAnimation.use) then
                doSendAnimatedText(getCreaturePosition(killer), config.killerAnimation.text, config.killerAnimation.color)
             end
             if(config.targetAnimation.use) then
                doSendAnimatedText(getCreaturePosition(cid), config.targetAnimation.text, config.targetAnimation.color)
             end
          end
       end

       return true
    end


    bueno ya descubri como de cualquier forma gracias God Maya

    Ver perfil de usuario

    Contenido patrocinado


    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.