• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Pedido] cambio de ciudad por cada cierto tiempo ..

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

    Kevin Acevedo

    avatar
    Nuevo Miembro
    Nuevo Miembro
    quisiera saber si hay o existe o si alguien me puede ayudar a hacer un evento en el que por ejemplo cada media hora o cada hora que pase todos los players inscritos en mi server .. osea los que aparecen en php admin.. cambien de pocicion(x,y,z) y de town_id y a su ves en el server los que esten online todos sean teletransportados a esa ciudad

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    aqui tienes en mod

    Código:
    <?xml version="1.0" encoding="UTF-8"?>
    <mod name="Map Change" version="2.0" author="Syntax" contact="otland.net" enabled="yes">
    <description>
    This should teleport all players to a new random town in intervals.
    </description>
    <config name="mapchange_config"><![CDATA[
    config = {
    access = 10, -- minimum access to bypass teleportation.
    temples = {1,2,3} --townids to teleport to.
    }
    ]]></config>
    <event type="login" name="Map Login" event="script"><![CDATA[
    function onLogin(cid)
    doPlayerSetTown(cid, getGlobalStorageValue(3454))
    doTeleportThing(cid, getPlayerMasterPos(cid))
    return true
    end
    ]]></event>
    <globalevent name="Map Change" interval="1500000" event="script"><![CDATA[
    domodlib('mapchange_config')
    function onThink(interval, lastExecution, thinkInterval)
    repeat
    RDM = math.random(1,#config.temples)
    until RDM ~= getGlobalStorageValue(3454) and isInArray(config.temples, RDM)
    for _, pid in ipairs(getPlayersOnline()) do
    if getPlayerAccess(pid) < config.access and
    doPlayerSetTown(pid, config.temples[RDM])
    doTeleportThing(pid, getTownTemplePosition(config.temples[RDM]), false)
    doSendMagicEffect(getCreaturePosition(pid), 37)
    doRemoveCondition(pid, CONDITION_INFIGHT)
    doCreatureAddHealth(pid, getCreatureMaxHealth(pid))
    doCreatureAddMana(pid, (getCreatureMaxMana(pid) - getCreatureMana(pid)))
    doBroadcastMessage("Map has been changed! Next map change will be in 25 minutes!", MESSAGE_STATUS_WARNING)
    setGlobalStorageValue(3454, config.temples[RDM])
    end
    end
    return true
    end
    ]]></globalevent>

    </mod>


    o si quires en un simple scripts


    globalevents/scripts:

    Código:
    local config, new = {
    minTownId = 1,
    maxTownId = 3
    }, 0
    function onThink(interval, lastExecution)
    for _, pid in ipairs(getPlayersOnline()) do
    local town = getPlayerTown(pid)
    new = town < config.maxTownId and town + 1 or config.minTownId
    doPlayerSetTown(pid, new)
    doTeleportThing(pid, getTownTemplePosition(new))
    doRemoveConditions(pid)
    doCreatureAddHealth(pid, getCreatureMaxHealth(pid))
    doCreatureAddMana(pid, getCreatureMaxMana(pid))
    doBroadcastMessage("Map has been changed! Next map change will be in 25 minutes!", MESSAGE_STATUS_WARNING)
    end
    db.executeQuery("UPDATE players SET town_id = ".. new ..", posx = 0, posy = 0, posz = 0;")
    return true
    end

    globalevents.xml

    Código:
    <globalevent name="changemap" interval="1500000" event="script" value="changemap.lua"/>



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

    Kevin Acevedo

    avatar
    Nuevo Miembro
    Nuevo Miembro
    excelente muchas gracias god maya lo probare

    Ver perfil de usuario

    Kevin Acevedo

    avatar
    Nuevo Miembro
    Nuevo Miembro
    buenas god maya.. oye si me funciono con madre el  globalevent si hace los cambios y todo excelente pero quisiera saber si al hacer el cambio hay alguna forma de poner emm por ejemplo ..

    si van a la ciudad 1 que el town id cambie a 1 pero tambien adquieran la posicion x y z del templo , ya que si se quedan en 0 0 0 la posicion de los samples sorc,kina,druid y pally se quedara asi y da error de templo a los nuevos jugadores y a los que estan desconectados :/

    porque su posicion se actualiza a 0 0 0 :/

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    puedes editar esta linea de aqui

    db.executeQuery("UPDATE players SET town_id = ".. new ..", posx = 0, posy = 0, posz = 0;")

    esto:

    posx = 0, posy = 0, posz = 0;


    por una cordenadas de tu ciudad principal puede ser fuera del templo:

    lamentablemente tendrias que crear nuevas town fuera del templo principal para que no queden atrapados



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

    Kevin Acevedo

    avatar
    Nuevo Miembro
    Nuevo Miembro
    no de hecho no quedan atrapados porque al hacer cambio de ciudad pierden pz, lo que me referia es que si no habia una forma de sustituir lo de pos x,y,z para que tambien se actualice con las posiciones del town id al que cambio para evitar que los samples cambiaran a 0,0,0 ...
    hasta ahorita la solucion que encontre fue quitar posx = 0, posy = 0, posz = 0; para que no me mueva los samples a 0,0,0 y no tengan problema los nuevos jugadores ni los que esten offline xD

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:no de hecho no quedan atrapados porque al hacer cambio de ciudad pierden pz, lo que me referia es que si no habia una forma de sustituir lo de pos x,y,z para que tambien se actualice con las posiciones del town id al que cambio para evitar que los samples cambiaran a 0,0,0 ...
    hasta ahorita la solucion que encontre fue quitar posx = 0, posy = 0, posz = 0; para que no me mueva los samples a 0,0,0 y no tengan problema los nuevos jugadores ni los que esten offline xD

    bueno si tu ot es war te recomiendo que lo djes como aurita lo editaste ya que eso modifica todas las tablas de los player.



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

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:no de hecho no quedan atrapados porque al hacer cambio de ciudad pierden pz, lo que me referia es que si no habia una forma de sustituir lo de pos x,y,z para que tambien se actualice con las posiciones del town id al que cambio para evitar que los samples cambiaran a 0,0,0 ...
    hasta ahorita la solucion que encontre fue quitar posx = 0, posy = 0, posz = 0; para que no me mueva los samples a 0,0,0 y no tengan problema los nuevos jugadores ni los que esten offline xD

    te recomiendo que lo dejes como lo has editado



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

    Kevin Acevedo

    avatar
    Nuevo Miembro
    Nuevo Miembro
    okok muchas gracias god maya =D

    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.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).