Subir

Resultados 1 al 8 de 8

Tema: Aporte mis Script.

  1. #1
    Avatar de Envy
    Fecha de ingreso
    August-2009
    Ubicación
    En un Zulo
    Clan
    PureStyle
    Facción
    Corsario
    Nacimiento
    Otros - Extranjero
    Mensajes
    1.027
    Reputacion: 48
    Poder de reputación
    15

    Aporte mis Script.

    Buenas.

    En este Post ire poniendo diferentes Script que estoy haciendo en mi propio Sphere y que quiero compartir por si alguna idea os gusta.
    Estos script son Testeado por mi y algun que otro amigo que entra a probarlos conmigo, suelo testearlo antes de postearlo pero cualquier cosa, error, mejora bienvenida sera .

    Ire Posteando conforme haga script.

    Boss Asesino
    Se trata de un Asesino que tiene 3 habilidades especiales.
    Antes de iniciar cada habilidad, desaparece.
    1 - Ataque Furtivo : Realiza una herida que hace el que objetivo se vaya desangrando.
    2 - Ataque Furtivo Veneno: Realiza un ataque furtivo a un objetivo aleatorio que lo deja aturdido y con espasmos. El aturdimiento se puede curar con An Nox o esperando 30 segundos.
    3 - Daga Envenada: Lanza una daga envenenada con veneno aturdido. Aturde al objetivo durante 30 segundos o hasta que le tiren An Nox

    A mayor cantidad de personas pegandole, mayor % de realizar ataques especiales.


    Código:
    ///////////////////////////////////////////////
    // NPC Boss Asesino
    // Varios Ataques Especiales, los cuales los realiza a distintas personas aleatoriamente.
    // Antes de iniciar cada ataque especial desaparece durante 3 segundos y aparece en un objetivo.
    // Furtivo - Hace una herida a un objetivo y lo ataca. Esta herida dura 10 segundos, quita 5,Dam_general cada tic. No se puede quitar, solo cuando pasa el tiempo.
    // Furtivo envenenador - Aturde y Envenena a un objetivo. El aturdimiento y veneno solo se pueden quitar si otra persona le tira An Nox (Ampliar a Expor Flamus y venda)
    //
    // A mayor cantidad de personas más % de que ejecute golpes especiales. A menor cantidad de personas menos % pero es mucho más mortal.
    /////////////////////////////////////////////// 
    // A Configurar ( lo que se quiera o necesite )
    // Daño que realiza el NPC
    // Armadura
    // Skills
    // Cantidad que se cura
    // Daño de Sangrado
    // Recompensa al morir
    /////////////////////////////////////////////// 
    
    /////////////////////////////////////////////// 
    // Añadir a Sphere_spells del Curar (cure)
    /////////////////////////////////////////////// 
    //ON=@Effect
    //IF (<FINDID.i_timer_Aturdido>)
    //	Sysmessage El veneno aturdidor desaparece.
    //	FINDID(i_timer_Aturdido).remove
    //ENDIF
    
    [Chardef c_boss_asesino]
    DEFNAME=C_boss_asesino
    ID=c_MAN
    NAME=Meshim, el Asesino
    CAN=MT_WALK|MT_RUN|MT_USEHANDS
    DAM=15,40	// Ajustar
    ARMOR=35	// Ajustar
    
    CATEGORY=NPC Customizados
    SUBSECTION=Asesinos
    DESCRIPTION=Boss Asesino
    
    ON=@Create
    NPC=brain_monster
    FAME=5000
    KARMA=-10000
    STR=100
    MAXHITS=5000	// Ajustar
    DEX=100
    INT=25
    TACTICS=100.0
    MagicResistance=115.0
    Fencing=100.0
    Anatomy=100.0
    Healing=100.0
    
    ON=@NPCRestock
    	ITEM=i_leather_gloves
    	ITEM=i_leather_cap
    	ITEM=i_leather_sleeves
    	ITEM=i_leather_gorget
    	ITEM=i_leather_tunic
    	ITEM=i_leather_leggings
    	ITEM=i_sandals
    	ITEM=i_kryss
    	ITEM=i_deathshroud
    	Color= 01
    	Attr=08024
    	HITS=32000
    
    ON=@GetHit
    IF (<Eval <Attacker>> >= 1)
    IF <HITS> > 200)
    	IF (RAND(20)=1) 	// Probabilidad de efectuar el golpe especial. 			
    		Local.i = 1
    		WHILE (<LOCAL.Segu> <= 10)
    			Local.X = <EVAL(RAND(<eval <attacker>>))>
    			IF (<UID.<Attacker.<EVAL(<Local.X>)>.UID>.Distance> < 20) && !(<UID.<Attacker.<EVAL(<Local.X>)>.UID>.FLAGS> & statf_dead) && (<Local.i> == 1)
    				Ref1=<Attacker.<EVAL(<Local.X>)>.UID>	
    				Local.i = 2
    			ELIf (<UID.<Attacker.<EVAL(<Local.X>)>.UID>.Distance> < 20) && !(<UID.<Attacker.<EVAL(<Local.X>)>.UID>.FLAGS> & statf_dead) && (<Local.i> == 2) && !(<REF1> == <UID.<Attacker.<EVAL(<Local.X>)>.UID>>)
    				Ref2=<Attacker.<EVAL(<Local.X>)>.UID>
    				Local.i == 3
    				LOCAL.Segu = 11
    			ELIF  (<Local.Segu> == 10) && (<Local.i> == 2) || (<Local.i> == 1)	// Aseguramos que tenga 2 target.
    				IF (<Local.i> == 1)
    					Ref1 = <SRC.UID>
    					Ref2 = <SRC.UID>
    				ELSE
    					Ref2 = <SRC.UID>
    				ENDIF
    			ENDIF
    			LOCAL.Segu += 1
    		ENDWHILE
    		m_desaparecer <REF1> <REF2>	// Desaparece
    	ELIF (RAND(15)=1)	// Probabilidad de lanzar daga que aturde al que mayor daño lleva hecho		
    		Ref10=<ATTACKER.MAX>
    		IF (<UID.<REF10>.Distance> < 20) && !(<UID.<REF10>.Flags> & statf_dead)
    			EMOTE lanza una daga envenenada a <REF10.Name>
    			Sound 325
    			Newitem = i_timer_Aturdido
    			REF10.equip = <new.uid>
    			REF10.Damage =30,dam_pierce
    		ENDIF
    	ENDIF
    ENDIF
    ENDIF
    IF !(<FINDID.i_timer_venda_boss>)
    	IF (<HITS> < <MAXHITS>)
    		Newitem = i_timer_venda_boss
    		EQUIP = <new.uid>
    	ENDIF	
    ENDIF
    
    
    //// No le Afecta Veneno, Paralize, Ni Muros (Fuego, Veneno, Paralize)
    ON=@SpellEffect
    IF (<ARGN> == 20) || (<ARGN> == 28) || (<ARGN> == 38) || (<ARGN> == 39) || (<ARGN> == 47)
    	return 1
    ENDIF
    
    //////////////////////////////
    // Timer Venda
    //////////////////////////////
    
    [Itemdef i_timer_venda_boss]
    ID=i_memory
    TYPE=t_eq_script
    LAYER=layer_special
    NAME=Timer Venda Boss
    
    ON=@CREATE
    ATTR=04002
    
    On=@Equip
    CONT.Emote curandose.
    Timer=12
    sound 87
    
    On=@UNEquip
    sound 87
    IF (<CONT.FLAGS> & statf_poisoned)
    	CONT.FLAGS = <CONT.FLAGS> & ~statf_poisoned
    	CONT.Hits = <CONT.Hits> + {5,25}
    ELSE
    	CONT.HITS = <CONT.Hits> + {20,120}
    ENDIF
    
    On=@Timer
    REMOVE
    RETURN 1
    
    //////////////////////////////
    // Desaparecer
    //////////////////////////////
    
    [Function m_desaparecer]
    Newitem = i_timer_desapa
    EQUIP = <new.uid>
    Act.Timer = 3		// Tiempo Invisible
    Act.More1 = <ARGN1>	// 1º Objetivo. Sera siempre donde aparezca y al que atacara
    Act.More2 = <ARGN2>	// 2º Objetivo. Sera a quien le efectua el ataque especial. 
    
    //////////////////////////////
    // Timer Desaparecer
    //////////////////////////////
    
    [Itemdef i_timer_desapa]
    ID=i_memory
    TYPE=t_eq_script
    LAYER=layer_special
    NAME=Timer Desaparecer
    
    ON=@CREATE
    ATTR=04002
    
    On=@Equip
    CONT.FLAGS = <CONT.FLAGS> | 000042000
    
    On=@UNEquip
    CONT.FLAGS = <CONT.FLAGS> & ~000042000
    CONT.GO = <uid.<MORE1>.P>
    CONT.Update
    Emote realiza un golpe furtivo. 
    SRC.ATTACk <MORE1>
    DORAND 2
    	furtivo <MORE2>
    	furtivo_ve <MORE2>
    ENDDO
    
    On=@Timer
    REMOVE
    RETURN 1
    
    //////////////////////////////
    // Furtivo
    //////////////////////////////
    
    [Function furtivo]
    New.LINK = <ARGS>
    Newitem = i_timer_desangrado
    LINK.equip = <new.uid>
    
    //////////////////////////////
    // Timer Furtivo Sangrado
    //////////////////////////////
    
    [Itemdef i_timer_desangrado]
    ID=i_memory
    TYPE=t_eq_script
    LAYER=layer_special
    NAME=Timer Sangrado
    
    ON=@CREATE
    ATTR=04002
    Timer=2	  // Tiempo de cada Tic
    MORE1=10  // Tiempo Total
    
    On=@Equip
    CONT.Emote = empieza a desangrarse.
    Timer=2
    
    On=@UNEquip
    IF !(<CONT.FLAGS> & statf_dead)
    	CONT.Sysmessage @023 Sientes como tu herida sana.
    ENDIF
    
    On=@Timer
    IF !(<CONT.FLAGS> & statf_dead)
    	IF (<MORE1>)
    		IF (rand(7)==1)
    			cont.Emote se desangra...
    			cont.ANIM 5
        		ENDIF 
    		Cont.Sysmessage @023 Sientes como te desangras...
    		Cont.DAMAGE =5,dam_general  // Daño Realizado por cada tic de sangrado. Ajustar
    		MORE1=<MORE1> - 2
    		TIMER=2
    	ELSE
    		Remove
    	ENDIF
    	RETURN 1
    ELSE
    	Remove
    	RETURN 1
    ENDIF
    
    
    
    //////////////////////////////
    // Furtivo (Veneno)
    //////////////////////////////
    
    [Function furtivo_ve]
    New.LINK = <ARGS>
    LINK.Poison = 1000	// Nivel de Poison.
    Newitem = i_timer_Aturdido
    LINK.equip = <new.uid>
    
    //////////////////////////////
    // Timer aturdido
    //////////////////////////////
    
    [Itemdef i_timer_Aturdido]
    ID=i_memory
    TYPE=t_eq_script
    LAYER=layer_special
    NAME=Timer Aturdido
    
    ON=@Create
    ATTR=04002
    
    ON=@Equip
    ATTR=attr_decay
    CONT.FLAGS = <CONT.FLAGS> | statf_freeze
    CONT.EMOTE = aturdido por el veneno.
    MORE1=30	// 30 segundos tiempo Maximo.
    TIMER=1
    
    ON=@UNEquip
    CONT.FLAGS = <CONT.FLAGS> & ~statf_freeze
    
    ON=@Timer
    IF <MORE1>
    	CONT.ACTION = -1				// No dejar hacer nada
    	CONT.FLAGS = <CONT.FLAGS> | statf_freeze	// Paralizado
    	MORE1 = <MORE1> - 1
    	TIMER = 1
    ELSE
    	REMOVE
    ENDIF
    RETURN 1
    
    
    [EOF]
    Última edición por Envy; 27-Aug-2011 a las 13:34
    Yo soy ese que hace que Drunk se enamore.

  2. #2
    Avatar de Envy
    Fecha de ingreso
    August-2009
    Ubicación
    En un Zulo
    Clan
    PureStyle
    Facción
    Corsario
    Nacimiento
    Otros - Extranjero
    Mensajes
    1.027
    Reputacion: 48
    Poder de reputación
    15

    Respuesta: Aporte mis Script.

    Bueno, viendo como esta el tema del PvP y demás... me surgio la idea y me puse a scriptearlo.

    La idea consiste en:
    - Zona en la cual no sea posible la edificación.
    - La zona contara con varias bases que pueden ser conquistables.
    - La base conquistada ofrecera healer, banquero, compra de regs, etc para los del bando que hayan conquistado la base.

    Aviso: Este script es una Prueba de como funcionaria el Sistema. Solo cuenta con dos bases

    Ampliable.
    - La base conquistada contara con NPC, estilo fortalezas, que atacaran a los del bando contrario.

    P.D: Si ve una idea factible y quieren implementarla, no tengo ningun problema en intentar adaptarla al Servidor.

    Código:
    ////////////////////////////////////////////////////////////
    // Sistema de Conquista V-1.0
    // El Sistema cuenta por Clanes, Azules y Asesinos
    // SI el personaje que esta en el area es de un clan, le sumara puntos al clan que pertenece.
    // Se considera Azul a todo aquel que tenga 4 o menos muertes, Asesino al que tenga 5 o más muertes
    // Para conquistar una base con estar en el area de la base ira sumando puntos para el bando que perteneces (Azul o Asesino) y restandole al contrario.
    // Cuando uno de los dos bandos llege a 100 la base sera conquistada por dicho bando. El otro bando no puede acceder al perimetro de la base.
    // El tiempo que permanece la base conquistada es de 1 dia.
    // By: Envy
    // 31/08/2011
    ////////////////////////////////////////////////////////////
    
    //////////////////////////////
    // Funcion crear bases. Inicio del Sistema
    //////////////////////////////
    
    [Function base_conquista]
    newitem = i_area_conquista
    src.act.p = 2302,1197   		// Especificar Localizacion
    src.act.name = Base del Norte   	// Especificar Nombre
    src.act.region.events = +r_conquista
    src.act.region.Tag.Conquistada = 2
    
    newitem = i_area_conquista
    src.act.p = 2304,1243  		 	// Especificar Localizacion
    src.act.name = Base del Sur  	 	// Especificar Nombre
    src.act.region.events = +r_conquista
    src.act.region.Tag.Conquistada = 2
    
    
    //////////////////////////////
    // Area de Base
    //////////////////////////////
    
    [itemdef i_area_conquista]
    Name=Base
    ID=I_GRAVESTONE_17
    TYPE=T_MULTI
    
    CATEGORY=Conquista
    SUBSECTION=Area
    DESCRIPTION=Area Conquista
    
    
    //////////////////////////////
    // Area de la conquista. Ajustar
    //////////////////////////////
    
    MULTIREGION=0,0,0,0
    COMPONENT=0,-10, -10, 0
    COMPONENT=0, 10, 10, 0
    COMPONENT=0,-10, 10, 0
    COMPONENT=0, 10, -10, 0
    REGIONFLAGS=00
    
    ON=@Create
    Attr=attr_static
    
    ON=@Click
    FOR 0 <EVAL(<REGION.TAGCOUNT>-1)>
    	IF !(STRMATCH(<REGION.TAGAT.<local._FOR>.KEY>, conquistada))
    		Src.Sysmessage @00122 <REGION.TAGAT.<local._FOR>.KEY>: <EVAL(<REGION.TAGAT.<local._FOR>.VAL >)>
    	ENDIF
    ENDFOR 
    If (<REGION.TAG.CONQUISTADA> == 2)
    	Src.Sysmessage @000a4 Conquistable
    ELSE
    	Src.Sysmessage @0128 Este campamento esta conquistado.
    	IF (<Timer> > 3600)
    		Src.Sysmessage @800 Tiempo Restante: <EVAL <TIMER>/3600> horas, <EVAL <EVAL <Timer>%3600>/60> minutos y <EVAL <EVAL <Timer>%3600>%60> segundos.
    	ELSEIF (<Timer> > 60)
    		Src.Sysmessage @800 Tiempo Restante: <EVAL <Timer>/60> minutos y <EVAL <Timer>%60> segundos
    	ELSE
    		Src.Sysmessage @800 Tiempo Restante: <Timer> segundos
    	ENDIF
    ENDIF
    
    //////////////////////////////
    // Region de Conquista
    //////////////////////////////
    
    [regiontype r_conquista]
    Defname = r_conquista
    
    ON=@Enter
    IF (<EvaL(<Tag.Conquistada>)> == 1)
    	SRC.Sysmessage @0128 Base conquistada.	
    ELSE
    	SRC.Sysmessage @000a4 La base puede ser conquistada.
    ENDIF
    
    //On=@CliPeriodic
    On=@RegPeriodic
    IF (<SRC.ISPLAYER>)  
    	IF !(<Tag.Conquistada> == 1)
    		IF !(<SRC.Flags> & statf_dead)
    		  IF !(<UID.<SRC.GUILD>>==0)
    			FOR 0 <EVAL(<TAGCOUNT>-1)>
    				IF (STRMATCH(<TAGAT.<local._FOR>.KEY>, <UID.<SRC.GUILD>.abbrev>))
    					SRC.conquista_sumar
    					IF (<TAGAT.<local._FOR>.VAL> == 100 )
    						SERV.B @000ec El clan <UID.<SRC.Guild>.Name> ha conquistado la <UID.<UID>.Name>
    						Tag.Conquistada = 1
    						SRC.newitem i_timer_conquista_clan
    						src.act.link = <UID.<uid>>
    						src.act.p = <uid.<uid>.p>
    						UID.<UID>.Timer = 86400
    					ENDIF
    					RETURN 1						
    				ENDIF
    			ENDFOR 
    			Tag.<UID.<SRC.GUILD>.abbrev> = 0
    		  ELSE
    			FOR 0 <EVAL(<TAGCOUNT>-1)>
    				IF (<SRC.Kills> >= 5)
    					IF (STRMATCH(<TAGAT.<local._FOR>.KEY>, Asesinos))
    						SRC.conquista_sumar
    						IF (<TAGAT.<local._FOR>.VAL> == 100 )
    							SERV.B @000ec Los asesinos ha conquistado la <UID.<UID>.Name>
    							Tag.Conquistada = 1
    							SRC.newitem i_timer_conquista_clan
    							src.act.link = <UID.<uid>>
    							src.act.p = <uid.<uid>.p>
    							UID.<UID>.Timer = 86400
    						ENDIF
    						RETURN 1
    					ENDIF
    				ELSE
    					IF (STRMATCH(<TAGAT.<local._FOR>.KEY>, Azules))
    						SRC.conquista_sumar
    						IF (<TAGAT.<local._FOR>.VAL> == 100 )
    							SERV.B @000ec Los azules ha conquistado la <UID.<UID>.Name>
    							Tag.Conquistada = 1
    							SRC.newitem i_timer_conquista_clan
    							src.act.link = <UID.<uid>>
    							src.act.p = <uid.<uid>.p>
    							UID.<UID>.Timer = 86400
    						ENDIF
    						RETURN 1
    					ENDIF
    				ENDIF
    			ENDFOR
    			IF (<SRC.KillS> >= 5)
    				Tag.Asesinos = 0
    			ELSE
    				Tag.Azules = 0
    			ENDIF
    		  ENDIF
    		ENDIF
    	ENDIF
    ENDIF
    
    //////////////////////////////
    // Funciones del Campamento
    //////////////////////////////
    
    //////////////////////////////
    // Funcion Sumar Puntos
    //////////////////////////////
    
    [Function conquista_sumar]
    FOR 0 <EVAL(<REGION.TAGCOUNT>-1)>
    IF !(STRMATCH(<REGION.TAGAT.<local._FOR>.KEY>, conquistada))
      IF !(<UID.<GUILD>>==0)
    	IF (STRMATCH(<REGION.TAGAT.<local._FOR>.KEY>, <UID.<GUILD>.abbrev>))
    		Region.Tag.<UID.<GUILD>.abbrev> +=1
    	ELSE	
      		IF (<EVAL(<REGION.TAGAT.<local._FOR>.VAL>)> > 0)
    			REGION.TAG.<REGION.TAGAT.<local._FOR>.KEY> -= 1
      		ENDIF
    	ENDIF
      ELSE
    	IF (<Kills> >= 5) && (STRMATCH(<REGION.TAGAT.<local._FOR>.KEY>, Asesinos))
    		Region.Tag.Asesinos +=1
    	ELIF (<Kills> <= 5) && (STRMATCH(<REGION.TAGAT.<local._FOR>.KEY>, Azules))
    		Region.Tag.Azules +=1
    	ELSE
    	  	IF (<EVAL(<REGION.TAGAT.<local._FOR>.VAL>)> > 0)
    			REGION.TAG.<REGION.TAGAT.<local._FOR>.KEY> -= 1
      		ENDIF
    	ENDIF
      ENDIF
    ENDIF
    ENDFOR 
    
    //////////////////////////////
    // Funcion borrar Tags y ser Conquistable
    //////////////////////////////
    
    [Function borrar_tags]
    LOCAL.i = 0
    FOR 0 <EVAL(<REGION.TAGCOUNT>-1)>
    IF !(STRMATCH(<REGION.TAGAT.<LOCAL.i>.KEY>, conquistada))
    	REGION.TAG.<REGION.TAGAT.<LOCAL.i>.KEY> =
    ELSE
    	REGION.Tag.Conquistada = 2
    	LOCAL.i = 1
    ENDIF
    ENDFOR 
    Serv.B @000a4 <UID.<UID>.Name> es conquistable.
    
    //////////////////////////////
    // Timer de Base Conquistada
    //////////////////////////////
    
    [itemdef i_timer_conquista_clan]
    ID=i_memory
    TYPE=t_eq_script
    LAYER=layer_special
    NAME=Timer Conquistada Clan
    
    on=@Create
    ATTR=04000
    Timer= 86400
    
    On=@timer
    Link.borrar_tags
    Remove
    Return 1
    
    
    [EOF]
    Última edición por Envy; 02-Sep-2011 a las 15:19
    Yo soy ese que hace que Drunk se enamore.

  3. #3

    Fecha de ingreso
    January-2009
    Ubicación
    deceit
    Clan
    Mapashito team
    Facción
    Alianza
    Nacimiento
    Minoc
    Mensajes
    270
    Reputacion: 22
    Poder de reputación
    15

    Respuesta: Aporte mis Script.

    La idea es genial,tipo wow,pero yo la usaria mas bien como un evento tipo tct,y que los equipos sean aleatorios,una nueva zona seria casi siempre desbalanceada dado que hay mas X o hay mas Y y seria un poco,conquista de fortalezas.Pero es una opinion personal,y agradecerte como miembro de la comunidad y usario de este servidor que haya gente tan altruista como tu,que solo quiere el bien y mejora de la misma un abrazo amigo
    P.D: lo del boss asesino me a parecido una idea de puta madre,ojala no solo pongan mas npcs nuevos,si no que los pongan dispersos en un area random aleatorio,y que la recompensa sea grata no solo por encontrarlo cual tamer encuentra una montura si no por el loot
    Última edición por d0ohann; 28-Aug-2011 a las 02:05

  4. #4
    Avatar de Envy
    Fecha de ingreso
    August-2009
    Ubicación
    En un Zulo
    Clan
    PureStyle
    Facción
    Corsario
    Nacimiento
    Otros - Extranjero
    Mensajes
    1.027
    Reputacion: 48
    Poder de reputación
    15

    Respuesta: Aporte mis Script.

    Actualizado el Sistema de Conquista a la version 1.0.

    Ahora diferencia entre Clanes, Azules (Sin clan) y Asesinos (Sin clan).
    - Cambio del @CliPeriodic a @RegPeriodic.

    Sigo dandole caña a varios Scripts.
    - Evento estilo de GC pero con una base (como el sistema de conquista) en el centro. Quien la conquiste gana.
    - Evento (estilo Rugby)
    - Diferentes NPCS de High End (Alto Nivel)
    - Terminando reputación de orcos.
    Última edición por Envy; 02-Sep-2011 a las 15:23
    Yo soy ese que hace que Drunk se enamore.

  5. #5
    Avatar de Envy
    Fecha de ingreso
    August-2009
    Ubicación
    En un Zulo
    Clan
    PureStyle
    Facción
    Corsario
    Nacimiento
    Otros - Extranjero
    Mensajes
    1.027
    Reputacion: 48
    Poder de reputación
    15

    Respuesta: Aporte mis Script.

    Otro más.

    Arenas de Desafio (Individual)
    Cualquier mejora, cosa por M.P.

    Añadido:
    - Recompensa según el nivel que haya avanzado.
    - Timer para que si mueres no puedas volver a intentarlo hasta x Tiempo.
    - A Niveles bajos invocar varios NPC´s.

    Código:
    ////////////////////////////////////////////////////////////
    // Sistema de Arenas de Desafio Individual v-1.3
    // Actualmente el sistema tiene 7 Niveles. A menor nivel, mayor cantidad de NPC
    // Los NPCs son inmunes a hechizos de area (Meteoritos, Chain Lighting y Terremoto)
    // Cuando el jugador derrota al último boss se proclama campeón 
    // y no se podra volver a usar la arena hasta el siguiente dia
    //
    // - Ajustar para que no pueda usar libro de runas, ni mapa, ni ninguna forma que pueda abandonar la zona
    // la unica manera de abandonar la zona que sea o ganando, muriendo o suicidandose.
    //
    // Hecho por: Envy  07-09-2011
    ////////////////////////////////////////////////////////////
    
    //////////////////////////////
    // Area de Combate
    //////////////////////////////
    
    [itemdef i_area_combate_battle]
    Name=Arena de los Heroes
    ID=I_blood_pool_large
    TYPE=T_MULTI_CUSTOM
    
    CATEGORY=Arenas de Desafio
    SUBSECTION=Desafio Individual
    DESCRIPTION=Zona de Desafio
    
    
    //////////////////////////////
    // Area de la conquista. Ajustar
    //////////////////////////////
    
    MULTIREGION=0,0,0,0
    COMPONENT=062,-10, -10, 0
    COMPONENT=05F, -9, -10, 0
    COMPONENT=05F, -8, -10, 0
    COMPONENT=05F, -7, -10, 0
    COMPONENT=05F, -6, -10, 0
    COMPONENT=05F, -5, -10, 0
    COMPONENT=05F, -4, -10, 0
    COMPONENT=05F, -3, -10, 0
    COMPONENT=05F, -2, -10, 0
    COMPONENT=05F, -1, -10, 0
    COMPONENT=05F, 0, -10, 0
    COMPONENT=05F, 1, -10, 0
    COMPONENT=05F, 2, -10, 0
    COMPONENT=05F, 3, -10, 0
    COMPONENT=05F, 4, -10, 0
    COMPONENT=05F, 5, -10, 0
    COMPONENT=05F, 6, -10, 0
    COMPONENT=05F, 7, -10, 0
    COMPONENT=05F, 8, -10, 0
    COMPONENT=05F, 9, -10, 0
    
    COMPONENT=05F, 10, -10, 0
    COMPONENT=060, 10, -9, 0
    COMPONENT=060, 10, -8, 0
    COMPONENT=060, 10, -7, 0
    COMPONENT=060, 10, -6, 0
    COMPONENT=060, 10, -5, 0
    COMPONENT=060, 10, -4, 0
    COMPONENT=060, 10, -3, 0
    COMPONENT=060, 10, -2, 0
    COMPONENT=060, 10, -1, 0
    COMPONENT=060, 10, 0, 0
    COMPONENT=060, 10, 1, 0
    COMPONENT=060, 10, 2, 0
    COMPONENT=060, 10, 3, 0
    COMPONENT=060, 10, 4, 0
    COMPONENT=060, 10, 5, 0
    COMPONENT=060, 10, 6, 0
    COMPONENT=060, 10, 7, 0
    COMPONENT=060, 10, 8, 0
    COMPONENT=060, 10, 9, 0
    
    COMPONENT=061, 10, 10, 0
    COMPONENT=05F, 9, 10, 0
    COMPONENT=05F, 8, 10, 0
    COMPONENT=05F, 7, 10, 0
    COMPONENT=05F, 6, 10, 0
    COMPONENT=05F, 5, 10, 0
    COMPONENT=05F, 4, 10, 0
    COMPONENT=05F, 3, 10, 0
    COMPONENT=05F, 2, 10, 0
    COMPONENT=05F, 1, 10, 0
    COMPONENT=05F, 0, 10, 0
    COMPONENT=05F, -1, 10, 0
    COMPONENT=05F, -2, 10, 0
    COMPONENT=05F, -3, 10, 0
    COMPONENT=05F, -4, 10, 0
    COMPONENT=05F, -5, 10, 0
    COMPONENT=05F, -6, 10, 0
    COMPONENT=05F, -7, 10, 0
    COMPONENT=05F, -8, 10, 0
    COMPONENT=05F, -9, 10, 0
    
    COMPONENT=060, -10, 10, 0
    COMPONENT=060, -10, 9, 0
    COMPONENT=060, -10, 8, 0
    COMPONENT=060, -10, 7, 0
    COMPONENT=060, -10, 6, 0
    COMPONENT=060, -10, 5, 0
    COMPONENT=060, -10, 4, 0
    COMPONENT=060, -10, 3, 0
    COMPONENT=060, -10, 2, 0
    COMPONENT=060, -10, 1, 0
    COMPONENT=060, -10, 0, 0
    COMPONENT=060, -10, -1, 0
    COMPONENT=060, -10, -2, 0
    COMPONENT=060, -10, -3, 0
    COMPONENT=060, -10, -4, 0
    COMPONENT=060, -10, -5, 0
    COMPONENT=060, -10, -6, 0
    COMPONENT=060, -10, -7, 0
    COMPONENT=060, -10, -8, 0
    COMPONENT=060, -10, -9, 0
    
    // Decoración
    
    COMPONENT=i_bone_skull, -3, -7, 0
    COMPONENT=i_bone_skull, -8, 8, 0
    COMPONENT=i_bone_skull, 5, -1, 0
    
    COMPONENT=0277, 6, -2, 0
    COMPONENT=0277, 6, -2, 0
    COMPONENT=0277, 9, -8, 0
    
    COMPONENT=027c, 8, -8, 0
    COMPONENT=027c, 2, -8, 0
    COMPONENT=027c, -9, 6, 0
    COMPONENT=027c, 2, -7, 0
    COMPONENT=027c, -1, 3, 0
    COMPONENT=027c, 6, 5, 0
    
    COMPONENT=0279, 6, -1, 0
    COMPONENT=0279, -5, -2, 0
    
    COMPONENT=0278, -8,-7, 0
    COMPONENT=0278, 2, -2, 0
    COMPONENT=0278, -7, 5, 0
    
    COMPONENT=027a, 6, 8, 0
    COMPONENT=027a, -7, 7, 0
    
    COMPONENT=0122b, 3, -6, 0
    COMPONENT=0122b, -5, 2, 0
    
    COMPONENT=0122d, 1, -8, 0
    COMPONENT=0122d, -1, 2, 0
    COMPONENT=0122d, 6, 7, 0
    
    COMPONENT=0122c, 7, 3, 0
    
    COMPONENT=I_blood_pool_large, 1, 6, 0
    
    // Fin de Decoración
    
    COMPONENT=i_piedra_arena_battle, 11, 0, 0
    
    REGIONFLAGS=region_flag_underground
    
    ON=@Create
    Attr=attr_static
    
    ////////////////////////////////
    // Piedra para Entrar en la Arena
    ////////////////////////////////
    
    [itemdef i_piedra_arena_battle]
    defname=i_piedra_arena_battle
    Name=Inscripcion a la Arena
    ID=0ed5
    TYPE=T_normal
    
    on=@Dclick
    IF (<Region.tag0.Activo> == 1)
    	SRC.Sysmessage Estan peleando en este momento.
    	Return 1
    ELIF (<Region.tag0.Activo> == 2)
    	SRC.Sysmessage Ya se ha coronado un campeon de la arena.
    	Return 1
    ELSE
    	IF !(<SRC.FINDID.i_timer_reto>)
    		UID.<Region.UID>.More1= <SRC.p.x>
    		UID.<Region.UID>.More2= <SRC.p.y>
    		SRC.GO <UID.<REGION.UID>.p>
    		SRC.Events=+e_control_arena
    		UID.<REGION.UID>.Link = <SRC.UID>
    		SRC.Tag0.Torneo = 1
    		Region.Tag0.activo = 1
    		f_nivel_boss 0
    		Return 1
    	ELSE
    		SRC.Sysmessage Has sido derrotado recientemente.
    		Return 1
    	ENDIF	
    ENDIF
    
    ////////////////////////////////
    // Timer Derrotado
    ////////////////////////////////
    
    [Itemdef i_timer_reto]
    ID=i_memory
    TYPE=t_eq_script
    LAYER=layer_special
    NAME=Timer Reto
    
    on=@Create
    Timer = 10800		// Tiempo 3 horas sin poder volver a entrar
    
    On=@Timer
    Remove
    return 1
    
    ////////////////////////////////
    // Control Player
    ////////////////////////////////
    
    [EVENTS e_control_arena]
    ON=@Death
    f_premio <EVAL(<Region.Tag0.Nivel>)>
    IF !(<Region.Tag0.Nivel>==7)
    	newitem = i_timer_reto
    	src.equip = <new.uid>
    ELSE
    	Serv.b <UID.<Region.UId>.Link.Name> es el nuevo campeon de la <UID.<Region.UId>.Name>
    ENDIF
    REGION.Tag0.Nivel
    SRC.Tag0.Torneo
    SRC.Go <Eval(<UID.<Region.UID>.More1>)>, <EVAL(<UID.<Region.UID>.More2>)>
    SRC.Hits = <MaxHits>
    SRC.Events = -e_control_arena
    Return 1
    
    ON=@SpellCast
    IF (<ARGN1>==32) || (<ARGN1>==45) || (<ARGN1>==52)
    	Src.Sysmessage No puedes realizar esto aqui.
    	Return 1
    ENDIF
    
    ////////////////////////////////
    // Control NPC
    ////////////////////////////////
    
    [EVENTS e_control_arena_NPC]
    ON=@Death
    Region.Tag0.Enemigos -= 1
    IF (<Region.Tag0.Enemigos>==0)
    	Region.Tag0.Nivel += 1
    	UID.<SRC.Tag0.UIDControl>.Remove
    	f_nivel_boss <EVAL(<Region.Tag0.Nivel>)>
    ENDIF
    flags |= statf_conjured		// Desaparecen cuando mueren. No aparece el cuerpo.
    
    ON=@SpellEffect
    IF (<ARGN1>==57) || (<ARGN1>==55) || (<ARGN1>==49)
    	Return 1
    ENDIF
    
    ////////////////////////////////
    // Funcion Timer Boss
    ////////////////////////////////
    
    [Function f_nivel_boss]
    newitem i_timer_nuevo_boss
    new.p <UID.<REGION.UID>.P>
    new.more1 = <ARGN1>
    
    ////////////////////////////////
    // Timer para Nuevo Boss
    ////////////////////////////////
    
    [itemdef i_timer_nuevo_boss]
    ID=i_memory
    TYPE=t_eq_script
    LAYER=layer_special
    NAME=Timer Control Total Batalla
    
    on=@Create
    ATTR=04000
    Timer=5		// Tiempo que tarda en aparecer los NPC
    
    On=@Timer
    IF (<UID.<Region.UID>.Link.ISEVENT.e_control_arena>==1) && (<Region.Tag.Activo>==1) && !(<EVAL(<Region.Tag0.Enemigos>)>)
    	IF (<EVAL(<MORE1>)> >= 5)
    		Local.x = 1
    	ELSE
    		Local.x = 5 - <EVAL(<MORE1>)>
    	ENDIF
    	FOR 1 <EVAL(<Local.x>)>
    		DOSWITCH <EVAL(<MORE1>)>
    			newnpc nivel_1
    			newnpc nivel_2
    			newnpc nivel_3
    			newnpc nivel_4
    			newnpc nivel_5
    			newnpc nivel_6
    			newnpc nivel_7
    			f_terminar_arena
    		ENDDO 
    		IF !(<EVAL(<MORE1>)>==7)
    			Tag0.NPC<Tagcount> = <new.uid>				
    			new.GO <p>
    			new.move <EVAL {-5 5}>,<EVAL {-5 5}>
    			new.tag0.UIDControl = <uid>
    			new.events = +e_control_arena_npc
    			Region.Tag0.Enemigos += 1
    		ENDIF
    	ENDFOR
    	Timer= 240		// Tiempo que tiene para matar todos los NPC
    ELSE
    	FOR 0 <EVAL(<Tagcount>-1)>
    		UID.<Tag0.NPC<eval(<local._FOR>)>>.Remove
    	ENDFOR
    	IF (<UID.<Region.UID>.Link.ISEVENT.e_control_arena>==1)
    		UID.<Region.UID>.Link.Kill
    	ENDIF
    	Region.Tag0.Activo
    	Region.Tag0.Nivel
    	Region.Tag0.Enemigos
    	REMOVE
    ENDIF
    IF (<EVAL(<MORE1>)>==7)
    	REMOVE	
    ENDIF
    
    Return 1
    
    ////////////////////////////////
    // Funcion Terminar
    ////////////////////////////////
    
    [Function f_terminar_arena]
    IF (<UID.<Region.UID>.Link.ISEVENT.e_control_arena>==1)
    	UID.<Region.UID>.Link.Kill
    ENDIF
    newitem i_timer_arena_conquistada
    new.p <UID.<REGION.UID>.P>
    Region.Tag0.Activo 2
    
    ////////////////////////////////
    // Timer Arena Conquistada
    ////////////////////////////////
    
    [itemdef i_timer_arena_conquistada]
    ID=i_memory
    TYPE=t_eq_script
    LAYER=layer_special
    NAME=Timer Arena Conquistada
    
    on=@Create
    ATTR=04000
    Timer=86400		// Tiempo que permanece la arena conquistada
    
    On=@Timer
    Serv.B La <UID.<Region.UID>.Name> espera un nuevo campeon.
    Region.Tag0.Activo
    Region.Tag0.Nivel
    Remove
    Return 1
    
    ////////////////////////////////
    // Funcion Premio
    ////////////////////////////////
    
    [Function f_premio]
    IF !<EVAL(<ARGN1>==0)>
    	DOSWITCH <EVAL(<ARGN1>-1)>
    		newitem TM_Premio_1
    		newitem TM_Premio_2
    		newitem TM_Premio_3
    		newitem TM_Premio_4
    		newitem TM_Premio_5
    		newitem TM_Premio_6
    		newitem TM_Premio_7
    	ENDDO 
    	new.Bounce
    ENDIF
    
    ////////////////////////////////
    // Niveles Boss
    ////////////////////////////////
    
    [DEFNAME nivel_bosses]
    nivel_1            { c_scorpion_giant 1 c_snake_giant 1 c_spider_giant 1 c_m_silver_serpent 1 c_m_goblin 1 c_m_goblin_mage 1 c_mongbat 1 c_m_ghost 1 c_skeleton 1 c_m_wraith 1 c_zombie 1 } 
    nivel_2            { c_elem_air 1 c_elem_fire 1 c_elem_water 1 c_m_goblin_lord 1 c_ettin 1 c_lizardman 1 c_harpy 1 c_reaper 1 c_m_orc_captain 1 c_ratman_w_sword 1 c_terathan_drone 1 c_m_mummy 1 c_skeleton_w_sword 1 }  
    nivel_3            { c_elem_earth 1 c_m_efreet 1 c_m_elem_snow 1 c_m_elem_ice 1 c_ettin_w_axe 1 c_m_frost_ettin 1 c_titan 1 c_troll 1 c_lizardman_spear 1 C_m_stoneharpy 1 c_m_terathan_avenger 1 c_gargoyle 1 c_m_gazer_elder 1 c_gazer 1 }
    nivel_4            { c_m_icefiend 1 c_m_gargoyle_stone 1 c_daemon 1 c_m_dragon_greendrake 1 c_m_dragon_bluedrake 1 c_m_elem_poison 1 c_troll_w_mace 1 c_m_ogre_lord 1 c_ophidian_mage 1 c_ophidian_warrior 1 c_liche 1 c_m_wyvern 1 } 
    nivel_5            { c_m_balron 1 c_dragon_green 1 c_dragon_red 1 c_m_dragon_wyrm 1 c_m_elem_blood 1 c_cyclops 1 c_m_cyclops_king 1 c_ophidian_queen 1 c_m_liche_lord 1 } 
    nivel_6            { c_serpentine_dragon 1 c_orc_brute 1 c_m_dragon_crystal 1 }           
    nivel_7            { c_ancient_wyrm 1 c_bog_thing 1 c_reptile_lord c_skeletal_dragon 1 c_arcane_daemon 1 }
    
    ////////////////////////////////
    // Template Premios
    ////////////////////////////////
    
    [TEMPLATE TM_Premio_1]
    CATEGORY=Premios
    SUBSECTION=Premios Arenas
    DESCRIPTION=Nivel 1
    
    CONTAINER=I_BAG
    ITEM=I_GOLD,1000
    
    [TEMPLATE TM_Premio_2]
    CATEGORY=Premios
    SUBSECTION=Premios Arenas
    DESCRIPTION=Nivel 2
    
    CONTAINER=I_BAG
    ITEM=I_GOLD,2000
    
    [TEMPLATE TM_Premio_3]
    CATEGORY=Premios
    SUBSECTION=Premios Arenas
    DESCRIPTION=Nivel 3
    
    CONTAINER=I_BAG
    ITEM=I_GOLD,3000
    
    [TEMPLATE TM_Premio_4]
    CATEGORY=Premios
    SUBSECTION=Premios Arenas
    DESCRIPTION=Nivel 4
    
    CONTAINER=I_BAG
    ITEM=I_GOLD,4000
    
    [TEMPLATE TM_Premio_5]
    CATEGORY=Premios
    SUBSECTION=Premios Arenas
    DESCRIPTION=Nivel 5
    
    CONTAINER=I_BAG
    ITEM=I_GOLD,5000
    
    [TEMPLATE TM_Premio_6]
    CATEGORY=Premios
    SUBSECTION=Premios Arenas
    DESCRIPTION=Nivel 6
    
    CONTAINER=I_BAG
    ITEM=I_GOLD,6000
    
    [TEMPLATE TM_Premio_7]
    CATEGORY=Premios
    SUBSECTION=Premios Arenas
    DESCRIPTION=Nivel 7
    
    CONTAINER=I_BAG
    ITEM=RANDOM_PLATEMAIL_ARMOR,1
    ITEM=RANDOM_AXETYPE_vanq,1
    ITEM=I_GOLD,7000
    
    [EOF]
    Última edición por Envy; 11-Sep-2011 a las 19:16
    Yo soy ese que hace que Drunk se enamore.

  6. #6

    Fecha de ingreso
    June-2007
    Mensajes
    1.481
    Reputacion: 10
    Poder de reputación
    15

    Respuesta: Aporte mis Script.

    sigue asi campeon
    Cita Iniciado por Sir Drunk
    Equipate, lleva orbe.
    Si quieres poner, pon 8, 3 me parecen pocos. 4 con arco y 4 con espada. Y por que 8 y no 10? pues muy facil. Por que si pones 10 serian 5 y 5 por el culo te la hinco.
    Plataforma: Yo ayude a que Blood Raider escribiera bien. Socio Nº 16

  7. #7
    Avatar de Envy
    Fecha de ingreso
    August-2009
    Ubicación
    En un Zulo
    Clan
    PureStyle
    Facción
    Corsario
    Nacimiento
    Otros - Extranjero
    Mensajes
    1.027
    Reputacion: 48
    Poder de reputación
    15

    Respuesta: Aporte mis Script.

    Evento: Ataque al Castillo de Britain


    Código:
    ///////////////////////////////////////////////
    // Evento: Ataque al Castillo del Rey  V-0.2
    // Dos equipos: 1 Atacando y otro Defendiendo
    // Objetivo: 
    // Defensor: Los que defienden aguantar 30 minutos sin que el Rey muera
    // Atacante: Ir avanzando y matar al Rey antes de 30 minutos
    //
    // Defensor:
    // - Cuentan con torres que atacan a npc y players enemigos
    //
    // Atacante:
    // - 4 NPcs atacantes cada 2 minutos.
    //
    /////////////////////////////////////////////// 
    // Ajustar:
    // - Nº del mundo para el evento.
    //
    // Por Hacer:
    // - Mejorar IA de Torres
    // - Agregar Timer para que el evento dure x tiempo (30 minutos)
    // - Según cuantas Torres sigan vivas más premio para los defensores
    // - Según el número de torres enemigos eliminadas mayor premio. Matar al rey mayor premio
    // - Acceso Automatico
    //
    // - Nivelar NPC y Torres
    // Opcional:
    // - A mayor número de players eliminados mayores ventajas para el equipo.
    //
    /////////////////////////////////////////////// 
    // Aclaraciones
    // 
    // Los npcs atacantes tienen 2 puntos guia por los cuales se mueven. 
    // Trasteamos el Home de los npcs para forzarlos a ir avanzando poco a poco
    // No hacer que la guia este muy lejos porque hara un teleport hacia la localización
    /////////////////////////////////////////////// 
    //
    // Hecho por Envy -  15/09/2011
    //
    /////////////////////////////////////////////// 
    
    
    //////////////////////////////
    // Funcion generar Guias
    //////////////////////////////
    
    [Function f_generar_conquista]
    newitem = i_area_guia
    new.p = 1386,1625,30,1
    new.region.events = +r_area_siguiente
    new.region.tag.siguiente 1353,1625,50,1
    
    newitem = i_area_guia
    new.p = 1353,1625,50,1
    new.region.events = +r_area_siguiente
    new.region.tag.siguiente 1326,1624,55,1
    
    
    //////////////////////////////
    // Funcion generar Torres
    //////////////////////////////
    
    [Function f_generar_torres]
    newnpc = c_torre_conquista
    new.go = 1388,1623,30,1
    new.tag.equipo=2
    
    newnpc = c_torre_conquista
    new.go = 1368,1623,50,1
    new.tag.equipo=2
    
    newnpc = c_torre_conquista
    new.go = 1351,1625,50,1
    new.tag.equipo=2
    
    newnpc = c_torre_conquista
    new.go = 1334,1621,50,1
    new.tag.equipo=2
    
    newnpc = c_torre_conquista
    new.go = 1334,1627,50,1
    new.tag.equipo=2
    
    //////////////////////////////
    // Funcion generar Soldados
    //////////////////////////////
    
    [Function f_generar_soldados]
    newnpc {c_conquista_guerrero 1 c_conquista_archer 1}
    new.go = 1418,1626,20,1
    new.tag.equipo=1
    new.home 1386,1625,30,1
    new.homedist 1
    
    //////////////////////////////
    // Funcion generar Rey
    //////////////////////////////
    
    [Function f_generar_rey]
    newnpc c_conquista_rey
    new.go = 1323,1624,55,1
    new.tag.equipo=2
    new.tag.UIDAtaque=<ARGN1>
    new.home 1323,1624,55,1
    new.homedist 1
    
    
    //////////////////////////////
    // Funcion Generar Evento
    //////////////////////////////
    
    [Function f_generar_evento_conquista]
    f_generar_torres
    newitem i_timer_generar_NPCS
    new.p = 1418,1626,20,1
    f_generar_rey <new.uid>
    
    
    //////////////////////////////
    // Item Guia
    //////////////////////////////
    
    [itemdef i_area_guia]
    Name=Conquista
    ID=I_blood_pool_large
    TYPE=T_MULTI_CUSTOM
    
    CATEGORY=Eventos
    SUBSECTION=DOTA
    DESCRIPTION=Area Siguiente
    
    
    //////////////////////////////
    // Area Guia
    //////////////////////////////
    
    MULTIREGION=0,0,0,0
    COMPONENT=0,-5, -5, 0
    COMPONENT=0, 5, 5, 0
    COMPONENT=0,-5, 5, 0
    COMPONENT=0, 5, -5, 0
    REGIONFLAGS=00
    
    REGIONFLAGS=region_flag_underground
    
    ON=@Create
    Attr=attr_static
    
    
    [regiontype r_area_guia]
    Defname = r_area_guia
    
    ON=@Enter
    IF !(<SRC.ISPLAYER>) && (<SRC.Tag0.Equipo>==1)
    	SRC.Home = <Region.Tag0.Siguiente>
    ENDIF
    
    
    //////////////////////////////
    // NPCS
    //////////////////////////////
    
    ////////////////
    // Torre
    ////////////////
    
    [CHARDEF c_torre_conquista]
    DEFNAME=c_torre_conquista
    NAME=Elemental Protector
    ID=c_elem_water
    ARMOR=15
    DAM=0
    CAN=mt_nonhum|MT_RUN|MT_WALK
    
    CATEGORY=Eventos
    SUBSECTION=Conquista castillo
    DESCRIPTION=Torre
    
    ON=@Create
    EVENTS=+e_Torre_Protectora
    BRAIN=11
    STR=100
    DEX=0
    INT=1
    KARMA=-10000
    MAXHITS=10000
    HITS=10000
    
    ARCHERY=100.0
    TACTICS=100.0
    ANATOMY=100.0
    MAGICRESISTANCE=100.0
    
    ////////////////
    // Guerrero Conquista
    ////////////////
    
    [CHARDEF c_conquista_guerrero]
    DEFNAME=c_conquista_guerrero
    NAME=Guerrero Atacante
    ID=c_man
    ARMOR=10
    DAM=10,20
    CAN=MT_RUN|MT_WALK
    MOVERATE=40
    
    CATEGORY=Eventos
    SUBSECTION=Conquista castillo
    DESCRIPTION=Guerrero
    
    ON=@Create
    EVENTS=+e_conquista_npc
    BRAIN=11
    STR=100
    DEX=100
    INT=25
    KARMA=-10000		
    
    FENCING=100.0
    TACTICS=100.0
    ANATOMY=100.0
    MAGICRESISTANCE=100.0
    
    ON=@NPCRestock
    	ITEM=i_leather_gloves
    	ITEM=i_leather_cap
    	ITEM=i_leather_sleeves
    	ITEM=i_leather_gorget
    	ITEM=i_leather_tunic
    	ITEM=i_leather_leggings
    	ITEM=i_sandals
    	ITEM=i_kryss
    	ITEM=i_deathshroud
    	Color= 01
    	Attr=08024
    	HITS=400
    
    ////////////////
    // Arquero Conquista
    ////////////////
    
    [CHARDEF c_conquista_archer]
    DEFNAME=c_conquista_archer
    NAME=Arquero Atacante
    ID=c_man
    ARMOR=10
    DAM=10,20
    CAN=MT_RUN|MT_WALK
    MOVERATE=40
    
    CATEGORY=Eventos
    SUBSECTION=Conquista castillo
    DESCRIPTION=Arquero
    
    ON=@Create
    EVENTS=+e_conquista_npc
    BRAIN=11
    STR=100
    DEX=100
    INT=25
    KARMA=-10000		
    
    ARCHERY=100.0
    TACTICS=100.0
    ANATOMY=100.0
    MAGICRESISTANCE=100.0
    
    ON=@NPCRestock
    	ITEM=i_leather_gloves
    	ITEM=i_leather_cap
    	ITEM=i_leather_sleeves
    	ITEM=i_leather_gorget
    	ITEM=i_leather_tunic
    	ITEM=i_leather_leggings
    	ITEM=i_sandals
    	ITEM=i_bow
    	ITEM=i_deathshroud
    	Color= 01
    	Attr=08024
    	HITS=400
    
    
    ////////////////
    // Rey Conquista
    ////////////////
    
    [CHARDEF c_conquista_rey]
    DEFNAME=c_conquista_rey
    NAME=Rey
    ID=c_man
    ARMOR=35
    DAM=10,20
    CAN=MT_RUN|MT_WALK
    MOVERATE=60
    
    CATEGORY=Eventos
    SUBSECTION=Conquista castillo
    DESCRIPTION=Rey
    
    ON=@Create
    EVENTS=+e_conquista_rey
    BRAIN=11
    STR=100
    DEX=100
    INT=25
    KARMA=-10000		
    
    SWORDSMANSHIP=100.0
    TACTICS=100.0
    ANATOMY=100.0
    MAGICRESISTANCE=100.0
    
    ON=@NPCRestock
    	ITEMNEWBIE=i_person_lord_british
    	ITEMNEWBIE=i_sword_viking_vanq
    	ITEMNEWBIE=01bc4
    
    
    ////////////////////////////////
    // IA Torre
    ////////////////////////////////
    
    [EVENTS e_Torre_Protectora]
    on=@GETHIT
    IF (<EVAL(<SRC.Tag0.Equipo>)>==<Eval(<Tag0.Equipo>)>)
    	Return 1
    ENDIF
    
    ON=@NPCLookAtChar
    IF (<EVAL(<SRC.Tag0.Equipo>)>==<Eval(<Tag0.Equipo>)>)
    	Return 0
    ELSE
    	Attack <SRC.UID>
    ENDIF
    
    ON=@Click
    IF (<EVAL(<SRC.Tag0.Equipo>)>==<Eval(<Tag0.Equipo>)>)
    	Return 1
    ELSE
    	Attack <SRC.UID>
    ENDIF
    
    ON=@NPCActFight
    IF !(<EVAL(<SRC.Tag0.Equipo>)>==<Eval(<Tag0.Equipo>)>)
    	IF !(<FINDID(i_timer_ataque_torre)>) && (<Distance> <= 12)
    		obj=<src.uid>
    		TRYSRC <UID> obj.effect 0,i_fx_fireball,10,16
    		SRC.DAMAGE=<EVAL((<SRC.MAXHITS>*35)/100)> DAM_FIRE <UID>>
    		SRC.SOUND 350
    		newitem= i_timer_ataque_torre
    		Equip = <new.uid>
    	ENDIF
    ENDIF
    
    ON=@NPCAction
    IF !(<EVAL(<SRC.Tag0.Equipo>)>==<Eval(<Tag0.Equipo>)>)
    	IF !(<FINDID(i_timer_ataque_torre)>) && (<Distance> <= 12)
    		obj=<src.uid>
    		TRYSRC <UID> obj.effect 0,i_fx_fireball,10,16
    		SRC.DAMAGE=<EVAL((<SRC.MAXHITS>*35)/100)> DAM_FIRE <UID>	
    		SRC.SOUND 350
    		newitem= i_timer_ataque_torre
    		Equip = <new.uid>
    	ENDIF
    ENDIF
    
    ON=@HITTRY
    IF !(<EVAL(<SRC.Tag0.Equipo>)>==<Eval(<Tag0.Equipo>)>)
    	IF !(<FINDID(i_timer_ataque_torre)>) && (<Distance> <= 12)
    		obj=<src.uid>
    		TRYSRC <UID> obj.effect 0,i_fx_fireball,10,16
    		SRC.DAMAGE=<EVAL((<SRC.MAXHITS>*35)/100)> DAM_FIRE <UID>
    		SRC.SOUND 350
    		newitem= i_timer_ataque_torre
    		Equip = <new.uid>
    	ENDIF
    ENDIF
    Return 1
    
    ON=@StatChange
    Return 1
    
    ////////////////////////////////
    // IA NPC´s
    ////////////////////////////////
    
    [EVENTS e_conquista_npc]
    on=@GETHIT
    IF (<EVAL(<SRC.Tag0.Equipo>)>==<Eval(<Tag0.Equipo>)>)
    	Return 1
    ENDIF
    
    ON=@NPCLookAtChar
    IF (<EVAL(<SRC.Tag0.Equipo>)>==<Eval(<Tag0.Equipo>)>)
    	Return 0
    ENDIF
    
    ON=@Click
    IF (<EVAL(<SRC.Tag0.Equipo>)>==<Eval(<Tag0.Equipo>)>)
    	Return 1
    ELSE
    	Attack <SRC.UID>
    ENDIF
    
    
    [EVENTS e_conquista_rey]
    on=@GETHIT
    IF (<EVAL(<SRC.Tag0.Equipo>)>==<Eval(<Tag0.Equipo>)>)
    	Return 1
    ENDIF
    IF (<ARGN1> >= <HITS>) && <SRC.ISPLAYER>
    	SERV.B <SRC.Name> ha matado al Rey!
    ENDIF
    
    ON=@NPCLookAtChar
    IF (<EVAL(<SRC.Tag0.Equipo>)>==<Eval(<Tag0.Equipo>)>)
    	Return 0
    ENDIF
    
    on=@Death
    // Añadir Para acabar el Evento
    acabar_conquista
    
    ////////////////////////////////
    //  Funcion acabar conquista
    ////////////////////////////////
    
    [FUNCTION acabar_conquista]
    FORCHARS 500
    	IF (<ISPLAYER>)
    		//Players salir
    		abandonar
    	ELSE
    		//Borrar NPCS	
    		IF <tag0.UIDAtaque>
    			UID.<tag0.UIDAtaque>.tag.borrar 1
    			UID.<tag0.UIDAtaque>.remove		
    		ENDIF
    		REMOVE
    	ENDIF
    END
    
    [FUNCTION abandonar]
    IF (<SRC.ISEVENT.e_conquista_ataque>==1)
    	SRC.Events = -e_conquista_ataque
    ELIF (<SRC.ISEVENT.e_conquista_defensa>==1)
    	SRC.Events = -e_conquista_defensa
    ENDIF
    
    ////////////////////////////////
    // Eventos Players
    ////////////////////////////////
    
    ////////////////
    // Eventos Players Ataque
    ////////////////
    [EVENTS e_conquista_ataque]
    ON=@Death
    SRC.HITS = <SRC.MAXHITS>
    SRC.GO 1422,1626,20,1
    src.newitem i_timer_reaparecer
    src.equip <new.uid>
    Return 1
    
    
    ////////////////
    // Eventos Players Defensa
    ////////////////
    [EVENTS e_conquista_defensa]
    ON=@Death
    SRC.HITS = <SRC.MAXHITS>
    SRC.GO 1322,1618,50,1
    src.newitem i_timer_reaparecer
    src.equip <new.uid>
    Return 1
    
    ////////////////////////////////
    // Timer Reaparecer Player
    ////////////////////////////////
    
    [Itemdef i_timer_reaparecer]
    ID=i_memory
    TYPE=t_eq_script
    LAYER=layer_special
    NAME=Timer Ataque reto
    
    on=@Create
    Timer = 15
    
    ON=@Equip
    SRC.Flags = <SRC.Flags> | 000040008
    SRC.UPDATE
    
    ON=@Unequip
    SRC.Flags = <SRC.Flags> & ~000040008
    SRC.UPDATE
    
    On=@Timer
    Remove
    return 1
    
    ////////////////////////////////
    // Timer Ataque Torre
    ////////////////////////////////
    
    [Itemdef i_timer_ataque_torre]
    ID=i_memory
    TYPE=t_eq_script
    LAYER=layer_special
    NAME=Timer Ataque reto
    
    on=@Create
    Timer = 2
    
    ON=@Equip
    SRC.Tag.Ataque=1
    
    ON=@Unequip
    SRC.Tag.Ataque
    
    On=@Timer
    Remove
    return 1
    
    
    ////////////////////////////////
    // Timer Generar NPCS
    ////////////////////////////////
    
    [Itemdef i_timer_generar_NPCS]
    ID=i_memory
    TYPE=t_eq_script
    LAYER=layer_special
    NAME=Timer generar NPCS
    
    on=@Create
    Timer = 120
    
    On=@Timer
    IF !<Tag0.borrar>
    	f_generar_soldados
    	f_generar_soldados
    	f_generar_soldados
    	f_generar_soldados
    	serv.b Llegan nuevos refuerzos.
    	Timer=120
    ENDIF
    return 1
    Yo soy ese que hace que Drunk se enamore.

  8. #8
    Avatar de Taan Haku
    Fecha de ingreso
    March-2010
    Clan
    MDN
    Facción
    Corsario
    Nacimiento
    Serpent´s Hold
    Edad
    37
    Mensajes
    729
    Reputacion: 10
    Poder de reputación
    15

    Respuesta: Aporte mis Script.

    COMING SOON



Temas similares

  1. Script
    Por ShowL en el foro Scripts
    Respuestas: 0
    Último mensaje: 27-Aug-2009, 02:12
  2. no me va una script... :S
    Por Nex en el foro Scripts
    Respuestas: 2
    Último mensaje: 10-Jun-2008, 17:02

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
YoutubeFbChat IRCTwit