BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

Terror Weapon

Terror Weapon

#1 Terror Weapon el Vie Ago 07, 2015 5:55 am

LollimpoHDG


Miembro
Hola, me gustaria pedir un weapon especial.

Ejemplo:

Terror Sword

Que al ponerla el jugador se transforme con el outfit assassin full,
Que Incrementen Sus skills %50 durante 2 minutos.
Que cuando acabe ese tiempo la espada siga siendo usada pero con su ataque editado sin el 10%
Que mientras este transformado salga sangre por donde pisa y vaya dejando rastro por donde va.
Que tenga algun tipo de mensaje en esos dos minutos tipo: Rabia activa, o Fase attack que salga sobre el personaje.

mmm.. no se si esto se puede gracias.


http://puralocura.sytes.net

#2 Re: Terror Weapon el Sáb Ago 08, 2015 4:49 am

Belerofonte


Administrador
Síp. Es posible. Solo que, unas cositas:

[Tienes que estar registrado y conectado para ver este vínculo] escribió:Que Incrementen Sus skills %50 durante 2 minutos.
- ¿Fist, Axe, Club, Sword, Distance y Shield?

[Tienes que estar registrado y conectado para ver este vínculo] escribió:Que cuando acabe ese tiempo la espada siga siendo usada pero con su ataque editado sin el 10%
- ¿También se le quitará el outfit de assassin al jugador y con ello las pisadas de sangre o no?

[Tienes que estar registrado y conectado para ver este vínculo] escribió:Que mientras este transformado salga sangre por donde pisa y vaya dejando rastro por donde va.
- ¿Con que salga el efecto mágico de pisadas sangrientas "CONST_ME_BLOODYSTEPS" es suficiente?
- ¿O aparte ha de dejar literalmente el rastro de sangre creándose un objeto(por ejemplo: "2018" & "2021") tras de sí y removiéndose pasado unos segundos?

[Tienes que estar registrado y conectado para ver este vínculo] escribió:Que tenga algun tipo de mensaje en esos dos minutos tipo: Rabia activa, o Fase attack que salga sobre el personaje.
- ¿En tu servidor se puede usar la función doSendAnimatedText?



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#3 Re: Terror Weapon el Sáb Ago 08, 2015 6:51 am

LollimpoHDG


Miembro
-Preferiria que si, porque asi tienen veneficio todas las vocaciones no¿?

Si, cuando acabe el efecto vuelva a su estado normal.

Por mi parte si

lo que te sea mas sencillo!

Si, creo que si es TFS 8.60

Gracias a ver si hablamos un dia

http://puralocura.sytes.net

#4 Re: Terror Weapon el Dom Ago 09, 2015 8:01 am

Belerofonte


Administrador
Valep. Pues listo.

Servidor/Data/Movements/... Movements.xml
<movevent type="Equip" itemid="7416" slot="hand" script="Terror Sword.lua"/>
<movevent type="DeEquip" itemid="7416" slot="hand" script="Terror Sword.lua"/>
Ahí colocas el ID del arma.


Servidor/Data/Movements/Scripts/... Terror Sword.lua
Código:
 local config = {
    Storage = 11702, -- StorageKey que gustes. (También ha de estar disponible ese storageKey que pongas más: storage+1, storage+2, storage+3 // Es decir, en este caso: 11702+1 = 11703, 11702+2 = 11704, 11702+3 = 11705)
    Tiempo = 2, -- Minutos que durará.

    Percent = 50, --  -- Más % de Skills(Fist, Axe, Club, Sword, Distance, Shield)
    NewType = {boy = 152, girl = 156},-- LookType al que será transformado el personaje, dependiendo de si es chico o chica.
    Effect = CONST_ME_BLOODYSTEPS, -- Efecto mágico que aparecerá tras el jugador al andar.

    Text = {
      TextMess = 'Furia', -- Texto animado que aparecerá en el jugador.
      TextColor = COLOR_RED, -- Color del texto animado anterior.
      TextTime = 1, -- Segundos que transcurrirá entre cada texto animado anterior.
    },

    Message = { -- Mensaje que aparecerá...
      'Tu espada tiene sed de sangre!', -- ...al equiparse el arma.
      'Tu espada a sido saciada!', -- ...al acabársele el tiempo de furia.
    },

  }

  local combat = createCombatObject()
    setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

  local Furia = createConditionObject(CONDITION_ATTRIBUTES)
    setConditionParam(Furia, CONDITION_PARAM_BUFF, true)
    setConditionParam(Furia, CONDITION_PARAM_SUBID, 4)

    setConditionParam(Furia, CONDITION_PARAM_SKILL_FISTPERCENT, config.Percent + 100)
    setConditionParam(Furia, CONDITION_PARAM_SKILL_AXEPERCENT, config.Percent + 100)
    setConditionParam(Furia, CONDITION_PARAM_SKILL_CLUBPERCENT, config.Percent + 100)
    setConditionParam(Furia, CONDITION_PARAM_SKILL_SWORDPERCENT, config.Percent + 100)
    setConditionParam(Furia, CONDITION_PARAM_SKILL_DISTANCEPERCENT, config.Percent + 100)
    setConditionParam(Furia, CONDITION_PARAM_SKILL_SHIELDPERCENT, config.Percent + 100)

    setConditionParam(Furia, CONDITION_PARAM_TICKS, config.Tiempo * 60 * 1000)
    setCombatCondition(combat, Furia)

local function AnimatedText(cid, text, color)

    if not isPlayer(cid) then
      return false
    end

    if exhaustion.get(cid, config.Storage) == false then
      return false
    end

    doSendAnimatedText(getCreaturePosition(cid), text, color)
    addEvent(AnimatedText, config.Text.TextTime * 1000, cid, text, color)
end

function WalkEffect(cid, sexIndex, effect, pos)

    if not isPlayer(cid) then
      return LUA_ERROR
    end

    if exhaustion.get(cid, config.Storage) == false then
      return LUA_ERROR
    end

  fromPos = getCreaturePosition(cid)
    if fromPos.x ~= pos.x or fromPos.y ~= pos.y or fromPos.z ~= pos.z then
        if pos.stackpos ~= nil then
            if not (isPlayerGhost(cid)) then
                doSendMagicEffect(pos, effect)
            end
        end
    end
    addEvent(WalkEffect, 100, cid, sexIndex, effect, fromPos)

    if getPlayerStorageValue(cid, config.Storage + 1) ~= 1 then -- Para que no se repita el removeEvent.
        setPlayerStorageValue(cid, config.Storage + 1, 1)
        animEvent = addEvent(AnimatedText, 100, cid, config.Text.TextMess, config.Text.TextColor)
        removeEvent = addEvent(function(cid, sexIndex)

            if not isPlayer(cid) then
              return false
            end

            if getPlayerStorageValue(cid, config.Storage + 3) ~= 1 then -- Para que no se repita el mensaje al desequiparse.
                setPlayerStorageValue(cid, config.Storage + 3, 1)

              local getOutfit = getCreatureOutfit(cid)
              local outfit = {
                {lookType = config.NewType.boy, lookHead = getOutfit.lookHead, lookBody = getOutfit.lookBody, lookLegs = getOutfit.lookLegs, lookFeet = getOutfit.lookFeet, lookTypeEx = 0, lookAddons = 3},
                {lookType = config.NewType.girl, lookHead = getOutfit.lookHead, lookBody = getOutfit.lookBody, lookLegs = getOutfit.lookLegs, lookFeet = getOutfit.lookFeet, lookTypeEx = 0, lookAddons = 3},
              }

                if(hasCondition(cid, CONDITION_OUTFIT) and getOutfit.lookType == outfit[sexIndex].lookType) then
                    doRemoveCondition(cid, CONDITION_OUTFIT)
                end

                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.Message[2])
                setPlayerStorageValue(cid, config.Storage + 1, - 1)
                setPlayerStorageValue(cid, config.Storage + 2, - 1)
                stopEvent(animEvent)
            end

        end, config.Tiempo * 60 * 1000, cid, sexIndex)
    end

end

function onEquip(cid, item, slot)
  local getOutfit, sexIndex = getCreatureOutfit(cid), getPlayerSex(cid) + 1
  local outfit = {
    {lookType = config.NewType.girl, lookHead = getOutfit.lookHead, lookBody = getOutfit.lookBody, lookLegs = getOutfit.lookLegs, lookFeet = getOutfit.lookFeet, lookTypeEx = 0, lookAddons = 3},
    {lookType = config.NewType.boy, lookHead = getOutfit.lookHead, lookBody = getOutfit.lookBody, lookLegs = getOutfit.lookLegs, lookFeet = getOutfit.lookFeet, lookTypeEx = 0, lookAddons = 3},
  }

    if getPlayerStorageValue(cid, config.Storage + 2) ~= 1 then -- Para que no se repita el mensaje al equipar.
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.Message[1])
        setPlayerStorageValue(cid, config.Storage + 2, 1)
    end

    doCombat(cid, combat, numberToVariant(cid))
    exhaustion.set(cid, config.Storage, config.Tiempo * 60)
    doSetCreatureOutfit(cid, outfit[sexIndex], config.Tiempo * 60 * 1000)
    WalkEffect(cid, sexIndex, config.Effect, {x = 0, y = 0, z = 0})
  return true
end

function onDeEquip(cid, item, slot)
  local getOutfit, sexIndex = getCreatureOutfit(cid), getPlayerSex(cid) + 1
  local outfit = {
    {lookType = config.NewType.girl, lookHead = getOutfit.lookHead, lookBody = getOutfit.lookBody, lookLegs = getOutfit.lookLegs, lookFeet = getOutfit.lookFeet, lookTypeEx = 0, lookAddons = 3},
    {lookType = config.NewType.boy, lookHead = getOutfit.lookHead, lookBody = getOutfit.lookBody, lookLegs = getOutfit.lookLegs, lookFeet = getOutfit.lookFeet, lookTypeEx = 0, lookAddons = 3},
  }

    if(hasCondition(cid, CONDITION_OUTFIT) and getOutfit.lookType == outfit[sexIndex].lookType) then
        doRemoveCondition(cid, CONDITION_OUTFIT)
    end

    stopEvent(removeEvent)
    stopEvent(animEvent)
    doRemoveCondition(cid, CONDITION_ATTRIBUTES, 4)

    setPlayerStorageValue(cid, config.Storage, - 1)
    setPlayerStorageValue(cid, config.Storage + 1, - 1)
    setPlayerStorageValue(cid, config.Storage + 2, - 1)
    setPlayerStorageValue(cid, config.Storage + 3, - 1)
  return true
end

Zona(básica) a editar:
 local config = {
   Storage = 11702, -- StorageKey que gustes. (También ha de estar disponible ese storageKey que pongas más: storage+1, storage+2, storage+3 // Es decir, en este caso: 11702+1 = 11703, 11702+2 = 11704, 11702+3 = 11705)
   Tiempo = 2, -- Minutos que durará.

   Percent = 50, -- Más % de Skills(Fist, Axe, Club, Sword, Distance, Shield)
   NewType = {boy = 152, girl = 156},-- LookType al que será transformado el personaje, dependiendo de si es chico o chica.
   Effect = CONST_ME_BLOODYSTEPS, -- Efecto mágico que aparecerá tras el jugador al andar.

   Text = {
     TextMess = 'Furia', -- 'Texto animado' que aparecerá en el jugador.
     TextColor = COLOR_RED, -- Color del texto animado anterior.
     TextTime = 1, -- Segundos que transcurrirá entre cada texto animado anterior.
   },

   Message = { -- 'Mensaje' que aparecerá...
     'Tu espada tiene sed de sangre!', -- ...al equiparse el arma.
     'Tu espada a sido saciada!', -- ...al acabársele el tiempo de furia.
   },

 }

Respecto a la variable TextMess = 'Furia', puse ese porque los que dijiste: "Rabia activa", o "Fase attack"; no caben.
La función doSendAnimatedText tiene un máximo de 9 carácteres a poner. Por lo que, ya tú le pones cualquier otro texto que gustes



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#5 Re: Terror Weapon el Dom Ago 09, 2015 9:14 am

LollimpoHDG


Miembro
:o Simplemente impresionante....

http://puralocura.sytes.net

#6 Re: Terror Weapon el Dom Ago 09, 2015 11:40 am

LollimpoHDG


Miembro
Tio... eres una p... maquina colega.. en serio, yo con tantos años haciendo ots y paginas y no me he fijado nunca en dedicarme a editar, o cambiar... ballantines, tu y yo nos conocimos en un servidor.. eramos fuertes y lo pasábamos bien... aventuralia va a ser lo mismo. Te aprecio mucho y para mi eres el mejor de todos... el MEJOR sin preferentes, en lo tuyo claro. No quiero descalificar a nadie, pero tu macho.... a sido perfecto, sin errores de consola, sin ningun tipo de error o lag... simplemente perfecto. Por ti y por mis años de Owner, eres el dios de tibia.. yo he dedicado mi tiempo a la creación de paginas, También tengo comandos y experiencia como GOD diría como nadie, siempre enseño a todos los que dicen que saben como god y después no saben ni multiplicar su personaje, o ir directamente a un sitio si cliport...
Mis paginas son finalmente como yo quiero, no paro sin dejar mi huella de java o php. No me gustan los layouts ya hechos ni scripts de otros. utilizo los míos. Como tu haces, pero a mi lo que me gustaría es saber hacer scripts manuales como haces tu. Aventuralia.sytes.net es lo mismo que lleguemos a vivir tu y yo. Solo entra y mira como esta montado. Gracias por todo y respeto.

http://puralocura.sytes.net

#7 Re: Terror Weapon Hoy a las 11:27 am

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.

 

¿Quién está en línea?

En total hay 0 usuarios en línea: 0 Registrados, 0 Ocultos y 0 Invitado

Usuarios navegando en este foro: Ninguno

Forum Statistics

Nuestros miembros han públicado un total de posts en temas.
Actualmente hay miembros registrados.
Démosle la bienvenida al miembro más reciente,
La mayor cantidad de usuarios en línea ha sido de .