BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

[Pedido][Monster]No ataque player outfit

[Pedido][Monster]No ataque player outfit

#1 [Pedido][Monster]No ataque player outfit el Lun Ago 25, 2014 10:26 pm

Esparda


Miembro
Saludos ya encontré un monster que no ataque a players con cierto storage value pero me gustaría saber si alguien puede ayudarme con uno que no ataque a un player que tenga cierto outfit

La apariencia del monster seria esta
Lost Thrower
[Tienes que estar registrado y conectado para ver esa imagen]

No es necesario que de loot ya que quiero hacerlo un monster prácticamente imposible de matar pero que este monster si de golpes de mas de 1000 por hit y de voces que digan algo así como

no podras pasar
aqui solo pueden entrar los guardias
se acerca el cambio de turno

y que el looktype u outfit para que no ataque a los players sea
Código:
538

bueno de antemano gracias

http://www.ovicorp.org

#2 Re: [Pedido][Monster]No ataque player outfit el Lun Ago 25, 2014 10:41 pm

Belerofonte


Administrador
¿Y si te es posible(si no lo tienes como algo privado) podrías poner dicho script? es que hace un tiempo quise realizarlo pero hiciera lo que hiciera y buscase donde buscase... solo conseguía que no te ataque pero igualmente te hacía follow.
Y así me/le será más fácil intentar crear este otro guiándome/se por el de storage c:



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: [Pedido][Monster]No ataque player outfit el Lun Ago 25, 2014 10:52 pm

Esparda


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:¿Y si te es posible(si no lo tienes como algo privado) podrías poner dicho script? es que hace un tiempo quise realizarlo pero hiciera lo que hiciera y buscase donde buscase... solo conseguía que no te ataque pero igualmente te hacía follow.
Y así me/le será más fácil intentar crear este otro guiándome/se por el de storage c:

jajaja de hecho el script que encontre es el tuyo jajajajajaja si no se puede hacer sin que deje de seguir no hay problema bueno digo al menos a mi me serviría aunque siguiera..

por cierto quiza sea algo tonto y ya lo hayan probado pero si en speed se deja en 0 eso no haría que no se moviera?

http://www.ovicorp.org

#4 Re: [Pedido][Monster]No ataque player outfit el Lun Ago 25, 2014 10:59 pm

Dantarrix


Miembro
@Belerofonte: probaste con

Código:

function onFollow(cid, target)
if blabla then
return false
end
return true
end

???

#5 Re: [Pedido][Monster]No ataque player outfit el Mar Ago 26, 2014 12:47 am

Esparda


Miembro
@belero
ya logre que no me siga y efectivamente paso dejando speed en 0

Código:
<monster name="Prision Guard" nameDescription="a lost thrower" race="blood" experience="0" speed="0" manacost="0">

Ya solo si porfavor me ayudan con lo de que no ataque a los players con el outfit que les decia

http://www.ovicorp.org

#6 Re: [Pedido][Monster]No ataque player outfit el Mar Ago 26, 2014 7:24 am

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver este vínculo] escribió:@Belerofonte: probaste con

Código:

function onFollow(cid, target)
if blabla then
return false
end
return true
end

???
Correcto. Probé con mil y una cositas pero nada xD
De hecho, vi un post antiguo(que ahora no encuentro D; ) en el que otro miembro pidió lo mismo, y precisamente tú se lo intentaste solventar pero sin éxito ^^
Parece algo imposibol sin compilar.


@Esparda, ok ya lo tengo aunque he de saber también si...
- ¿Deseas que los jugadores sí puedan atacarle o tampoco?
- Y en el caso que no puedan atacarle, ¿quiéres que le aparezca algún mensajito al jugador cada vez que lo intente?



Última edición por Belerofonte el Mar Ago 26, 2014 9:49 am, editado 1 vez



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]

#7 Re: [Pedido][Monster]No ataque player outfit el Mar Ago 26, 2014 9:00 am

Esparda


Miembro
Mm pues no había puesto mucha atención a lo del ataque pero si no es muy complicado si estaría bien que no puedan atacarlo y de mensaje que saliera recuerda que tienes que pasar por aquí sin que te d descubran o algo parecido jeje

http://www.ovicorp.org

#8 Re: [Pedido][Monster]No ataque player outfit el Mar Ago 26, 2014 9:39 am

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Mm pues no había puesto mucha atención a lo del ataque pero si no es muy complicado si estaría bien que no puedan atacarlo y de mensaje que saliera recuerda que tienes que pasar  por aquí sin que te d descubran o algo parecido jeje

Ok, pues te vas a tu Servidor/Data/Creaturescripts/Creaturescripts.xml y en una de las líneas pegas la siguiente:
Código:
<event type="combat" name="RepelOutfit" event="script" value="RepelOutfit.lua"/>

Luego Servidor/Data/Creaturescripts/Scripts/... creas un RepelOutfit.lua (u obviamente el nombre que gustes, el mismo que le hayas puesto en su línea del Creaturescripts.xml anterior) y en el cual:
Código:
function onCombat(cid, target)
  local c = {
    MonsterList = {"Lost Thrower"}, -- Nombre/s del/de los monstruo/s.
    OutfitList = {538}, -- LookType del/de los Outfit/s protector/es.
 Msg = 'Recuerda que has de pasar por aqui sin que te descubran!', -- Mensaje que le saldrá al intentar atacar a los monstruos.
  }

    if isPlayer(target) and isMonster(cid) then
        if isInArray(c.OutfitList, getCreatureOutfit(target).lookType) then
            if isInArray(c.MonsterList, getCreatureName(cid)) then
              return false
            end
        end
     elseif isPlayer(cid) and isMonster(target) then
        if isInArray(c.OutfitList, getCreatureOutfit(cid).lookType) then
            if isInArray(c.MonsterList, getCreatureName(target)) then
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, c.Msg)
              return false
            end
        end
    end
  return true
end

Nota escribió:  local c = {
   MonsterList = {"Lost Thrower"}, -- Nombre/s del/de los monstruo/s.
   OutfitList = {538}, -- LookType del/de los Outfit/s protector/es.
Msg = 'Recuerda que has de pasar por aqui sin que te descubran!', -- Mensaje que le saldrá al intentar atacar a los monstruos.
 }

Luego en Servidor/Data/Creaturescripts/Scripts/... Login.lua ya creado:
Código:
registerCreatureEvent(cid, "RepelOutfit")

Y por último te vas al documento.xml del monstruo en cuestión y abajo del todo antes del:
Código:
</monster>
Pones:
Código:
<script>
<event name="RepelOutfit"/>
</script>

Yo por ejemplo usé una "Snake", pues me quedó así:
Spoiler:

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Snake" nameDescription="a snake" race="blood" experience="10" speed="120" manacost="205">
<health now="15" max="15"/>
<look type="28" corpse="2817"/>
<targetchange interval="2000" chance="0"/>
<strategy attack="100" defense="0"/>
<flags>
<flag summonable="1"/>
<flag attackable="1"/>
<flag hostile="1"/>
<flag illusionable="1"/>
<flag convinceable="1"/>
<flag pushable="1"/>
<flag canpushitems="0"/>
<flag canpushcreatures="0"/>
<flag targetdistance="1"/>
<flag staticattack="90"/>
<flag runonhealth="0"/>
</flags>
<attacks>
<attack name="melee" interval="2000" skill="10" attack="8" poison="20"/>
</attacks>
<defenses armor="0" defense="1"/>
<elements>
<element earthPercent="100"/>
<element energyPercent="22"/>
<element firePercent="-10"/>
<element icePercent="-10"/>
</elements>
<voices interval="5000" chance="10">
<voice sentence="Zzzzzzt"/>
</voices>
<script>
<event name="RepelOutfit"/>
</script>

</monster>

Si quieres poner más monstruos pues haces esto mismo en sus correspondientes documento.xml y separas cada nombre o looktype por una coma en las líneas del script anterior:
Nota escribió:  local c = {
   MonsterList = {"Lost Thrower", "Snake", "Cobra"}, -- Nombre/s del/de los monstruo/s.
   OutfitList = {538, 129, 130}, -- LookType del/de los Outfit/s protector/es.
Msg = 'Recuerda que has de pasar por aqui sin que te descubran!', -- Mensaje que le saldrá al intentar atacar a los monstruos.
 }



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]

#9 Re: [Pedido][Monster]No ataque player outfit el Mar Ago 26, 2014 12:52 pm

Esparda


Miembro
ya lo agregue pero puedo atacar al monster y el monster también ataca al player y en consola no muestra ningun error

de hecho estaba usando uno que encontre
Código:
function onCombat(cid, target)
if isMonster(cid) then
if isPlayer(target) then
if getPlayerStorageValue(target, 142) == 1 then -- el storage que tu kieras
return false
end
end
end
return true
end

Cómo verás con ese no atacan a un player con cierto storage ya lo cheque y si funciona solo que no pude convertirlo a que sea un outfit y claro esta el detalle que los players si lo pueden atacar

http://www.ovicorp.org

#10 Re: [Pedido][Monster]No ataque player outfit el Mar Ago 26, 2014 2:08 pm

Belerofonte


Administrador
S: Muy raro...
No era necesario poner los nombres de los monstruos:
Código:
 local c = {
    OutfitList = 538, -- LookType del Outfit protector.
 Msg = 'Recuerda que has de pasar por aqui sin que te descubran!', -- Mensaje que le saldrá al intentar atacar a los monstruos.
  }

function onCombat(cid, target)
    if isMonster(cid) and isPlayer(target) then
        if getCreatureOutfit(target).lookType == c.OutfitList then
          return false
        end
     elseif isMonster(target) and isPlayer(cid) then
        if getCreatureOutfit(cid).lookType == c.OutfitList then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, c.Msg)
          return false
        end
    end
  return true
end

Una pregunta tonta pero necesaria:
- ¿Al probarlo cambiaste al lookType "538" cambiandote literalmente el Outfit del God o jugador con el que lo hayas probado?
o
¿Directamente pusíste el comando "/newtype 538"?
Ya que con dicho comando no funciona, hay que cambiarse al outfit de la forma tradicional...

No se me ocurren más posibles factores :/



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]

#11 Re: [Pedido][Monster]No ataque player outfit el Mar Ago 26, 2014 2:29 pm

Esparda


Miembro
Siempre pruebo con players normales los scripts para evitar el error de que si es con god

mmm si lo cambie manualmente

metiendole mano logre hacer que ya no ataque a players con cierto outfit jeje yeeeiii
[Tienes que estar registrado y conectado para ver esa imagen]

SI ya se que es algo bobo pero me dio satisfaccion poderlo arreglar clar tomando la base del tuyo jejeje ya solo falta que no lo puedan atacar los players el script como lo deje fue asi

Código:
function onCombat(cid, target)
if isMonster(cid) then
if isPlayer(target) then
if canPlayerWearOutfit(target, 466) then -- el storage que tu kieras
return false
end
end
end
return true
end

Ya probe el que me dejaste y tanto player como monster se atacan

http://www.ovicorp.org

#12 Re: [Pedido][Monster]No ataque player outfit el Mar Ago 26, 2014 2:45 pm

Dantarrix


Miembro
@Esparda: con el que pusiste no lo atacará aunque no tenga puesto el outfit pero pueda ponérselo XD

#13 Re: [Pedido][Monster]No ataque player outfit el Mar Ago 26, 2014 2:48 pm

Belerofonte


Administrador
>.< creí que decías que no puedan atacar solamente los que TENGAN EQUIPADO el outfit...
El primero que te pasé solo no te ataca ni puedes hacerlo cuando lo LLEVAS EQUIPADO.
Entonces, ¿te referías a que no puedan atacar a los que tengan dicho outfit disponible aunque no lo TENGAN EQUIPADO?

Otra cosa. En un principio dijíste lookType: 538 y ahora me vienes con 466... ¿nos aclaramos? ;D

Bueno entonces:
Código:
function onCombat(cid, target)
  local c = {
    OutfitList = 466, -- LookType.
    Msg = 'Recuerda que has de pasar por aqui sin que te descubran!', -- Mensaje que le saldrá al intentar atacar al monstruo.
  }
    if isPlayer(target) and isMonster(cid) then
        if canPlayerWearOutfit(target, c.OutfitList) then
          return false
        end
     elseif isPlayer(cid) and isMonster(target) then
        if canPlayerWearOutfit(cid, c.OutfitList) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, c.Msg)
          return false
        end
    end
  return true
end

Como no te funcione ahora, me arranco un brazo ;D



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]

#14 Re: [Pedido][Monster]No ataque player outfit el Mar Ago 26, 2014 3:17 pm

Dantarrix


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:>.< creí que decías que no puedan atacar solamente los que TENGAN EQUIPADO el outfit...
El primero que te pasé solo no te ataca ni puedes hacerlo cuando lo LLEVAS EQUIPADO.
Entonces, ¿te referías a que no puedan atacar a los que tengan dicho outfit disponible aunque no lo TENGAN EQUIPADO?

Otra cosa. En un principio dijíste lookType: 538 y ahora me vienes con 466... ¿nos aclaramos? ;D

Bueno entonces:
Código:
function onCombat(cid, target)
  local c = {
    OutfitList = 466, -- LookType.
    Msg = 'Recuerda que has de pasar por aqui sin que te descubran!', -- Mensaje que le saldrá al intentar atacar al monstruo.
  }
    if isPlayer(target) and isMonster(cid) then
        if canPlayerWearOutfit(target, c.OutfitList) then
          return false
        end
     elseif isPlayer(cid) and isMonster(target) then
        if canPlayerWearOutfit(cid, c.OutfitList) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, c.Msg)
          return false
        end
    end
  return true
end

Como no te funcione ahora, me arranco un brazo ;D

Por qué tanto llanto por un script? :cc

#15 Re: [Pedido][Monster]No ataque player outfit el Mar Ago 26, 2014 3:20 pm

Esparda


Miembro
creo que ya nos enredamos jajaja ok tratare de explicarme mejor

me gustaría que el monster ataque a cualquier player que no use el outfit que menciono en el primer post y que el player no pueda atacar a ese monster al vestir el outfit

si el player no trae puesto el outfit entonces que el monster lo ataque y que el player tambien pueda atacar

en el script que puse uso otro looktype solo como prueba para revisar que funcionara el script es que el outfit que quiero lo obtienes despues de hacer una mision y hablar con un npc pero me da flojera pasar todos los items que pide a los players por eso mejor probe por el momento con un outfit que ya tienen jejeje

http://www.ovicorp.org

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 .