• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    Sistema de Pvp on y Pvp Off (Por Player) [Sistema]

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

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    Sistema de Pvp On y Pvp Off por Player

    Bueno usuarios de TibiaFace le traigo este systema de pvp, que lo desarrollo otland espero que le guste es muy similar al sistema pvp de la tibia CipSoft, solo que en este sistema eliges si quieres estar en modo pvp o modo pvp apagado o off.
    Comentarle que el codigo es muy editable hasi que ustedes pueden hacer maravillas para el que maneja scripts. bueno sin mas preangulos aqui va la instalacion:


    En nuesta base de datos de nuestro mysql añadimos esta linea:

    Código:
    ALTER TABLE `players` ADD `pvpmode` BOOL NOT NULL ;

    Nota: esta linea es como añadir la linea de premiunpoint no hay donde perderse


    Introdusimos estas lineas en el archivo de data/lib/function.lua


    Código:
    function getPlayerPVPMode(uid)
      local result = db.getResult("SELECT `pvpmode` FROM `players` WHERE `name` = '" .. getPlayerName(uid) .. "' LIMIT 1;")
       if(result:getID() ~= -1) then
     local mode = result:getDataInt("pvpmode")
     return mode
       else
     return FALSE
       end
       result:free()
    end

    function setPlayerPVPMode(uid, value)
      if (value >= 0 and value <= 1) then
       if isPlayer(uid) == TRUE then
     db.executeQuery("UPDATE `players` SET `pvpmode` = " .. value .. " WHERE `name`='" .. getPlayerName(uid) .. "' LIMIT 1;")
     return TRUE
       else
     return FALSE
       end
      else
       return FALSE
      end
    end


    copiamos cualquier archivo de data/talkactions/scripts/  y le colocamos el nombre de pvpmode.lua y pegamos esto dentro


    Código:
    function onSay(cid, words, param)
        local mode = getPlayerPVPMode(cid)
        if mode == 1 then
            setMode = 0
        else
            setMode = 1
        end
        if isPlayerPzLocked(cid) == FALSE and getCreatureSkullType(cid) == SKULL_NONE then
            setPlayerPVPMode(cid, setMode)
            if setMode == 1 then
                doPlayerSendTextMessage(cid, 19, "Now you set pvp mode to on!")
            else
                doPlayerSendTextMessage(cid, 19, "Now you set pvp mode to off!")
            end
        else
            doPlayerSendCancel(cid, "You cannot set pvp mode when you are agressive.")
        end
        return TRUE
    end


    En talkactions.xml añadimos esta linea:

    Código:
    <talkaction log="no" words="!pvp" access="0" event="script" value="pvpmode.lua">

    Ahora nos vamos a data/creaturescripts/scripts/ copiamos cualquier archivo y le colocamos el nombre de pvpProtection.lua y borramos lo de adentro y pegamos esto:

    Código:
    function onCombat(cid, target)
        if (getPlayerPVPMode(cid) == 1 and getPlayerPVPMode(target) == 1) or isPlayer(target) == FALSE then
            return TRUE
        else
            doPlayerSendCancel(cid, "You cannot attack players which pvp mode is off.")
            return FALSE
        end
    end

    En la misma carpeta hay un archivo llamado login.lua  lo abrimos

    debajo de esta linea:

    Código:
    registerCreatureEvent(cid, "ReceiveMail")

    agregamos:

    Código:
    registerCreatureEvent(cid, "PVPMode")

    Ahora nos vamos a creaturescripts.xml y añadimos esta linea:

    Código:
    <event type="combat" name="PVPMode" event="script" value="pvpProtection.lua">

    bueno eso fue todo espero que le haya gustado si tienes alguna duda o problema postearlo aqui en este tema.



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

    Psycho

    avatar
    Moderador
    Moderador
    Interesante lo probare haber si da en mi ot pokemon



    AFC By Psycho & Alfa Server
    [Tienes que estar registrado y conectado para ver este vínculo]
    Ver perfil de usuario http://dio-pcl.ddns.net

    Drianian

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Si quieren agregar un look:

    Agregan en su archivo lua de look la siguiente línea:

    Código:
    local mode = getPlayerPVPMode(thing.uid)

    Y además lo que sigue:

    Si no tienen otro look especial:

    Código:

    doPlayerSetSpecialDescription(thing.uid,  "\n"..(getPlayerSex(thing.uid) == 0 and "She" or "He").." "..(mode == 0 and "is not" or "is").."pvp player.")

    Si tienen otro look especial, antes de las últimas comillas que están al final:

    Código:
    \n"..(getPlayerSex(thing.uid) == 0 and "She" or "He").." "..(mode == 0 and "is not" or "is").."pvp player.

    EJEMPLO DE ESTO ÚLTIMO:

    Código:

    doPlayerSetSpecialDescription(thing.uid,  "\n"..(getPlayerSex(thing.uid) == 0 and "She" or "He").." has Killed:  ["..getDeathsAndKills(thing.uid, "kill").."]  Players.\n"..(getPlayerSex(thing.uid) == 0 and "She" or "He").." has  Died: ["..getDeathsAndKills(thing.uid, "death").."] Times.\n"..(getPlayerSex(thing.uid) == 0 and "She" or "He").." "..(mode == 0 and "is not" or "is").." pvp player.")

    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).