• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Aporte] Otx 8.60 Base Update 3 (Sistema Demage + Sistema De doble arma Assassin + Passive Monsters + Attackspeed + Critical chance sytem)

    Compartir:

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

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    Hola usuarios de tibiaface



    bueno aqui le dejo una base de otx 2.x.s.3 modificada la cual fue compilada en visual estudio 2015 y la modificaciones fueron en sources la cual muestra un signo + si sube la vida y signo - si disminuye junto con el numero obviamente y tambien se le añadio el uso de doble arma solo a la vocacion knight como tambien puede usar doble shield ni una otra vocacion puede usar doble arma solo el knight bueno aqui le dejo una imagen de demostracion.

    Sistema De doble arma assassin

    se le añadio al servidor una nueva vocacion assissin para que sea la que lleve las 2 armas.

    recordarle que es la vocacion 9 y 10 como la 9 es la vocacion normal y la 10 sea su promotion



    Passive-Monsters-Attack

    conciste en le añadimos una nueva flag al moustro en esta distribucion se la añadimos a monster hunter para ejemplo una nueva flag que ya fue compilada en la distribucion y la cual consiste. si  hay un grupo de moustro y tu llegas donde esta grupo ni uno te va atacar si tu no lo atacas y si tu atacas a uno solamente ese moustro te va ataca ni un otro mas:
    flag que hay que añadirle al moustro para que se active el pasive system:

    Código:
    <flag passive="1"/>

    si le ponen 0 deja de funcionar y moustro atacara tras que te vea

    ejemplo:




    Attackspeed


    Esta es un nueva funcion añadida a los sources que es lo que hace en pocas palabras aumenta la velocidad de attack de player bueno como es una funcion tienes varios usos por defecto en creaturescripts de la distribucion le dejamos algo instalado lo que hace es aumentar la velocidad de attack del knight cuando un moustro lo ataca bueno aqui le dejamos las lineas de las nuevas funciones:

    Como usar:

         
    Código:
    doPlayerSetExtraAttackSpeed(cid, 2000) <- irá atacar 2 segundos mas rápido


    Para volver a lo normal use esto:
         
    Código:
    doPlayerSetExtraAttackSpeed(cid, 0)

    ejemplo como funciona:



    en creaturescript hay un archivo llamado furious.lua
    ese es el archivo que le aumenta la velocidad al assassin ojo como arriba le puse las funciones ustedes pueden usarlo en una spells no se en un moveEvents a su creatividad de ustedes en mi caso lo use en un creatureScripts.






    Critical Hit Chance


    Esto es un atributo que se le agrega al weapons ( sword, mace, axe) para que aumente el el chance de sacar el critical mientras mas alto mas rapido saca critical va 1 a 100 en el atributo del item. en esta distribucion se le agrego a spike sword el atributo como ejemplo. bueno aqui coo agregra el atributo:

    ejemplo:

    Código:
    <item id="2383" article="a" name="spike sword">
     <attribute key="description" value="It can be enchanted with an element."/>
     <attribute key="weight" value="5000"/>
     <attribute key="defense" value="21"/>
     <attribute key="attack" value="24"/>
     <attribute key="weaponType" value="sword"/>
     <attribute key="extradef" value="2"/>
     
     </item>

    ahora le añadimos el atributo

    Código:
    <attribute key="criticalhitchance" value="30" />

    aurita esta en 30 pueden colocar de 1 hasta 100 que 100 es el maximo y mas rapido de sacar critical

    Código:
    <item id="2383" article="a" name="spike sword">
     <attribute key="description" value="It can be enchanted with an element."/>
     <attribute key="weight" value="5000"/>
     <attribute key="defense" value="21"/>
     <attribute key="attack" value="24"/>
     <attribute key="weaponType" value="sword"/>
     <attribute key="extradef" value="2"/>
     <attribute key="criticalhitchance" value="30" />
     </item>


    link Otserv compilado:

    [Tienes que estar registrado y conectado para ver este vínculo]

    sources:

    [Tienes que estar registrado y conectado para ver este vínculo]



    Creditos:
    otx team staff - Kaiser
    god maya edit and compilacion



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

    gzdiaz20

    avatar
    Miembro
    Miembro
    en que part de las source se modifica la vocacion que usa las 2armas??

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:en que part de las source se modifica la vocacion que usa las 2armas??

    en player.cpp

    buscas
    Código:

    else if(inventory[SLOT_LEFT])

    y abajo encuentras

    Código:
    else if(Player::getVocationId() == 9 || Player::getVocationId() == 10)



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

    MtkDiaz

    avatar
    Nuevo Miembro
    Nuevo Miembro
    maya y tu no me puedes pasar los codigos para poner el critical y el la vocacion doble arma en otro ot que tenga cast xq este no tiene??

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:maya y tu no me puedes pasar los codigos para poner el critical y el la vocacion doble arma en otro ot que tenga cast xq este no tiene??

    este tiene cast



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

    MtkDiaz

    avatar
    Nuevo Miembro
    Nuevo Miembro
    cual es el comando para activalo

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:cual es el comando para activalo

    en la carpeta mod crea un archivo con cualquier nombre y pegas esto

    Código:
    <?xml version="1.0" encoding="UTF-8"?>
    <mod name="Mod Cast" version="1.0" author="Martyx" contact="martyx@otland.net" enabled="yes">
       <event type="logout" name="cast-log-out" event="script"><![CDATA[
          function onLogout(cid, forceLogout)
             db.executeQuery("UPDATE `players` SET `broadcasting` = 0, `viewers` = 0 WHERE `id` = " .. getPlayerGUID(cid) .. " LIMIT 1")
             return true
          end
       ]]></event>
       <globalevent name="viewers" interval="10000" event="script"><![CDATA[
          function onThink(interval)
             local players = getPlayersOnline()
             for _, pid in ipairs(players) do
                local data = getPlayerSpectators(pid)
                if(data.broadcast) then
                   db.executeQuery("UPDATE `players` set `viewers` = " .. table.maxn(data.names) .. " where `id` = " .. getPlayerGUID(pid) .. ";")
                end
             end

             return true
          end
       ]]></globalevent>
       <talkaction words="/live" event="script"><![CDATA[
          function onSay(cid, words, param, channelId)
             local t, data = string.explode(param, " ", 1), getPlayerSpectators(cid)
             if(isInArray({'off', 'no', 'disable'}, t[1])) then
                data.mutes = {}
                data.broadcast = false
                doPlayerSetSpectators(cid, data)

                db.executeQuery("UPDATE `players` SET `broadcasting` = 0, `viewers` = 0 WHERE `id` = " .. getPlayerGUID(cid))
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have disabled your live stream.")
             elseif(isInArray({'on', 'yes', 'enable'}, t[1])) then
                data.broadcast = true
                doPlayerSetSpectators(cid, data)

                db.executeQuery("UPDATE `players` SET `broadcasting` = 1 WHERE `id` = " .. getPlayerGUID(cid))
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have enabled your live stream.")
             elseif(isInArray({'show', 'count', 'see'}, t[1])) then
                if(data.broadcast) then
                   local count = table.maxn(data.names)
                   if(count > 0) then
                      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are currently watched by " .. count .. " people.")
                      local str = ""
                      for _, name in ipairs(data.names) do
                         str = str .. (str:len() > 0 and ", " or "") .. name
                      end

                      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str .. ".")
                   else
                      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "None is watching your stream right now.")
                   end
                else
                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
                end
             elseif(isInArray({'kick', 'remove'}, t[1])) then
                if(data.broadcast) then
                   if(t[2]) then
                      if(t[2] ~= "all") then
                         local found = false
                         for _, name in ipairs(data.names) do
                            if(t[2]:lower() == name:lower()) then
                               found = true
                               break
                            end
                         end

                         if(found) then
                            table.insert(data.kick, t[2])
                            doPlayerSetSpectators(cid, data)
                            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " has been kicked.")
                         else
                            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " not found.")
                         end
                      else
                         data.kick = data.names
                         doPlayerSetSpectators(cid, data)
                      end
                   else
                      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to type a name.")
                   end
                else
                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
                end
             elseif(isInArray({'ban', 'block'}, t[1])) then
                if(data.broadcast) then
                   if(t[2]) then
                      local found = false
                      for _, name in ipairs(data.names) do
                         if(t[2]:lower() == name:lower()) then
                            found = true
                            break
                         end
                      end

                      if(found) then
                         table.insert(data.bans, t[2])
                         doPlayerSetSpectators(cid, data)
                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " has been banned.")
                      else
                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " not found.")
                      end
                   else
                      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to type a name.")
                   end
                else
                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
                end
             elseif(isInArray({'unban', 'unblock'}, t[1])) then
                if(data.broadcast) then
                   if(t[2]) then
                      local found, i = 0, 1
                      for _, name in ipairs(data.bans) do
                         if(t[2]:lower() == name:lower()) then
                            found = i
                            break
                         end

                         i = i + 1
                      end

                      if(found > 0) then
                         table.remove(data.bans, found)
                         doPlayerSetSpectators(cid, data)
                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " has been unbanned.")
                      else
                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " not found.")
                      end
                   else
                      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to type a name.")
                   end
                else
                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
                end
             elseif(isInArray({'bans', 'banlist'}, t[1])) then
                if(table.maxn(data.bans)) then
                   local str = ""
                   for _, name in ipairs(data.bans) do
                      str = str .. (str:len() > 0 and ", " or "") .. name
                   end

                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Currently banned spectators: " .. str .. ".")
                else
                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your ban list is empty.")
                end
             elseif(isInArray({'mute', 'squelch'}, t[1])) then
                if(data.broadcast) then
                   if(t[2]) then
                      local found = false
                      for _, name in ipairs(data.names) do
                         if(t[2]:lower() == name:lower()) then
                            found = true
                            break
                         end
                      end

                      if(found) then
                         table.insert(data.mutes, t[2])
                         doPlayerSetSpectators(cid, data)
                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " has been muted.")
                      else
                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " not found.")
                      end
                   else
                      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to type a name.")
                   end
                else
                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
                end
             elseif(isInArray({'unmute', 'unsquelch'}, t[1])) then
                if(data.broadcast) then
                   if(t[2]) then
                      local found, i = 0, 1
                      for _, name in ipairs(data.mutes) do
                         if(t[2]:lower() == name:lower()) then
                            found = i
                            break
                         end

                         i = i + 1
                      end

                      if(found > 0) then
                         table.remove(data.mutes, found)
                         doPlayerSetSpectators(cid, data)
                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " has been unmuted.")
                      else
                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " not found.")
                      end
                   else
                      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to type a name.")
                   end
                else
                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
                end
             elseif(isInArray({'mutes', 'mutelist'}, t[1])) then
                if(table.maxn(data.mutes)) then
                   local str = ""
                   for _, name in ipairs(data.mutes) do
                      str = str .. (str:len() > 0 and ", " or "") .. name
                   end

                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Currently muted spectators: " .. str .. ".")
                else
                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your mute list is empty.")
                end
             elseif(isInArray({'auth', 'protect', 'protection', 'protected'}, t[1])) then
                if(isInArray({'off', 'no', 'disable'}, t[2])) then
                   data.auth = false
                   doPlayerSetSpectators(cid, data)
                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your chat is now unprotected, all spectators can chat without authentication.")
                elseif(isInArray({'on', 'yes', 'enable'}, t[2])) then
                   data.auth = true
                   doPlayerSetSpectators(cid, data)
                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your chat is now protected, all spectators have to authenticate before they can talk.")
                else
                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your chat is currently " .. (data.auth and "protected" or "unprotected") .. " from guests.")
                end
             elseif(isInArray({'password', 'guard'}, t[1])) then
                if(t[2]) then
                   if(isInArray({'off', 'no', 'disable'}, t[2])) then
                      if(data.password:len() ~= 0) then
                         db.executeQuery("UPDATE `players` SET `broadcasting` = `broadcasting` - 2 WHERE `id` = " .. getPlayerGUID(cid))
                      end

                      data.password = ""
                      doPlayerSetSpectators(cid, data)
                      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have removed password for your stream.")
                   else
                      if(data.password:len() ~= 0) then
                         db.executeQuery("UPDATE `players` SET `broadcasting` = `broadcasting` + 2 WHERE `id` = " .. getPlayerGUID(cid))
                      end

                      data.password = string.trim(t[2])
                      doPlayerSetSpectators(cid, data)
                      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have set new password for your stream.")
                   end
                elseif(data.password ~= "") then
                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your stream is currently protected with password: " .. data.password .. ".")
                else
                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your stream is currently not protected.")
                end
             elseif(isInArray({'status', 'info'}, t[1])) then
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your stream is currently " .. (data.broadcast and "enabled" or "disabled") .. ".")
             else
                doShowTextDialog(cid, 1950, "Available commands:\n\n/live on - enables the stream\n/live off - disables the stream\n/live password {password} - sets a password on the stream\n/live password off - disables the password protection\n/live auth on - enables requirement of authentication on chat\n/live auth off - disables requirement of authentication on chat\n/live kick {name} - kick a spectator from your stream\n/live ban {name} - locks spectator IP from joining your stream\n/live unban {name} - removes banishment lock\n/live bans - shows banished spectators list\n/live mute {name} - mutes selected spectator from chat\n/live unmute {name} - removes mute\n/live mutes - shows muted spectators list\n/live show - displays the amount and nicknames of current spectators\n/live status - displays stream status")
             end

             return true
          end
       ]]></talkaction>
    </mod>

    en base datos cree una cuenta con el login 10 o name account 10 y contraseña la que usted quiera

    y listo



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

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