Jump to content

KeKo

Miembro
  • Contador contenido

    518
  • Ingreso

  • Última visita

  • Días ganados

    74

Mensajes publicados por KeKo

  1. La mayoria de eso ya esta posteado pero en fin:

     

    quest chivalric begin
    state start begin
    when iditem.use begin
    local rank = pc.get_alignment()
    pc.change_alignment(20000-rank)
    end
    end
    end

    La de cambiar raza tenia una por aqui (editale que tiene tildes y se te vera mal si las dejas)

     

     

     

     

     

    quest cambio_raza begin
    state start begin
      when 20012.chat."Cambio de raza" with pc.is_gm() begin
       say_title("Cambio de Raza")
       say("Con este mágico objeto podrás cambiar la raza")
       say("de tu personaje.")
       say("Tu pj tendrá otro aspecto y habilidades distintas.")
       say("ATENCIÓN: Debes guardar todo tu equipo antes de")
       say("hacer el cambio. Tu personaje podría bugearse.")
       say("Ademas, debes volver a entrar a tu cuenta para que")
       say("todos los cambios sean realizados.")
       say("")
       say_reward("¿Quieres cambiar la raza de tu personaje?")
       say("")
       local main_set = select ("Si","No")
     
                if main_set == 2 then
                     return
                end
     
                if main_set == 1 then
                     say_title("Cambio de Raza")
                     say("¿Cual quieres que sea la nueva raza para tu")
                     say("personaje?")
                     say("")
                     local razzacambiasex = select ("Guerrero","Ninja","Sura","Shaman","Cancelar")
               
                      if razzacambiasex == 1 then
                       say_title("Cambio de Raza")
                       say("¿Cual quieres que sea el sexo de tu personaje?")
                       say("")
                       local sexwar = select ("Hombre","Mujer","Cancelar")
                     
                                if sexwar == 1 then
                                     pc.polymorph("4")
                                     pc.change_sex()
                    
                                elseif sexwar == 2 then
                                     pc.polymorph("4")
                                     pc.change_sex()
                                     pc.polymorph("20032")
                                     pc.polymorph("1")
                                     pc.change_sex()
                                     pc.polymorph("20032")
                     
                                elseif sexwar == 3 then
                                     return
                                end
                      elseif razzacambiasex == 2 then
                       say_title("Cambio de Raza")
                       say("¿Cual quieres que sea el sexo de tu personaje?")
                       say("")
                       local sexninja = select ("Hombre","Mujer","Cancelar")
                     
                                if sexninja == 2 then
                                     pc.polymorph("5")
                                     pc.change_sex()
             
                                elseif sexninja == 1 then
                                     pc.polymorph("5")
                                     pc.change_sex()
                                     pc.polymorph("20032")
                                     pc.polymorph("1")
                                     pc.change_sex()
                                     pc.polymorph("20032")
                    
                                elseif sexninja == 3 then
                                     return
                                end
               
                      elseif razzacambiasex == 3 then
                       say_title("Cambio de Raza")
                       say("¿Cual quieres que sea el sexo de tu personaje?")
                       say("")
                       local sexsura = select ("Hombre","Mujer","Cancelar")
                                if sexsura == 1 then                         
                                     pc.polymorph("6")
                                     pc.change_sex()
                                elseif sexsura == 2 then
                                     pc.polymorph("6")
                                     pc.change_sex()
                                     pc.polymorph("20032")
                                     pc.polymorph("1")
                                     pc.change_sex()
                                     pc.polymorph("20032")
             
                                elseif sexsura == 3 then
                                     return
                                end
               
                      elseif razzacambiasex == 4 then
                       say_title("Cambio de Raza")
                       say("¿Cual quieres que sea el sexo de tu personaje?")
                       say("")
                       local sexshamy = select ("Hombre","Mujer","Cancelar")
                                if sexshamy == 2 then                       
                                     pc.polymorph("7")
                                     pc.change_sex()
                                elseif sexshamy == 1 then
                                     pc.polymorph("7")
                                     pc.change_sex()
                                     pc.polymorph("20032")
                                     pc.polymorph("1")
                                     pc.change_sex()
                                     pc.polymorph("20032")
                     
                                elseif sexshamy == 3 then
                                     return
                                end
               
                      elseif razzacambiasex == 5 then
                       return
                      end
               
                end
      end
    end
    end

     

     

    Y la de cambiar nombre la hice yo pa zone hace nada:

    quest cambio begin
    state start begin
    when 20094.chat."Cambiar de Nombre" begin
    say_tilte("Cambio de nombre")
    say("")
    say("Escribe tu nuevo nombre")
    say("")
    local nom = input()
    if nom == nil or nom == pc.get_name() then
    say_title("Cambio de nombre")
    say("")
    say("Lo siento no puedes dejar esto vacio")
    say("o escribir tu propio nombre")
    say("")
    return
    end
    say_title("Cambio de Nombre")
    say("")
    say("Has escrito que tu nuevo nombre")
    say("quieres que sea "..nom..", estas seguro?")
    say("")
    local ele = select ("Si, ponme ese nombre" , "No")
    if ele == 1 then
    mysql_query("UPDATE player.player SET name='"..nom.."' WHERE name='"..pc.get_name().."';")
    chat("has cambiado tu nombre, vuelve a logearte para que sea efectivo)
    end
    end
    end
    end
    
  2. @Dextrox, no se porque pero me suena la estructura de esa quest (xq sera xd), pero la has adaptado mal, el warp esta mal hecho y el ultimo elemento del array lleva coma.

     

    quest mapas begin
    state start begin
      when 20011.chat."Ir a mapas" begin
       --Aca van todas las coordenadas de todos los mapas.
       local coord_map = {
    	{coord1x, coord1y },
    	{coord2x, coord2y },
    	{coord3x, coord3y },
    	{coord4x, coord4y },
    	{coord5x, coord5y }
       }
      
       say_title("Viajero:")
       say("Selecciona el mapa al que quieres ir")
       local result = select("map1", "map2", "map3", "map4", "map5", "Cancelar")
       if result != 6 then
    	pc.warp(coord_map[result][1],coord_map[result][2])
       end
      end
    end
    end

    Asi si que si xd

  3. pero con eso no saldra el mensaje cada vez que entre un miembro del grupo a ese mapa?

     

    mejor asi:

    when login with pc.get_map_index() == indexmapa and party.is_leader() begin

     

    pero cuando maten al mob, el noombre que saldra será el que de el ultimo golpe

     

    Sep claro que puedes poner el party.is_leader pero me daba pereza escribirlo porq andaba con prisa :yaoming:

  4. Bueno el sistema pero ya te jode si quieres hacer alguna quest con algún metin ya que al tener el kill ya no puedes ponerle otro :S

     

    Puedes hacer esto:

     

    when kill with not npc.is_pc() begin
    

    Ya que como explico en el mensaje, el propio array ya incluye las ids de los metines ^^ (Aunque le haces buscar al juego si existe un elemento en el array con la id del mob que acabas de matar cada vez que matas un mob pero bue xd)

     

    Gracias.

    Ya voy entendiendo los arrays.

     

    No problem, pa eso estamos :D

     

    keko :motherofquest:

     

    :ohstopityou:

  5. KeKo podrías hacer una guía de esas tablas, que yo las he visto ya muchas veces pero aun no las acabo de entender :|

     

    Todavia estoi aprendiendo a usarlas, ultimamente como las uso mas ya me voi acostumbrando y en realidad era uno de los capitulos del curso de lua que ibamos a hacer pero no se llego a completar. Asi que si veo que las voi entendiendo del todo lo hare ^^

     

    P.D: Sema ya se que no dice los nombres, pero es porque lo ha puesto para que tu completes.

  6. Buf, mucho codigo:

     

    quest Nombre de la quest begin
    state start begin
    
    when IDdelitem.use begin
    
      say_tittle ("Nombre")
      say("Hola señor(a) ".. pc.get_name() .."")
      say("Con este ítem, usted puede ser millonario...")
      say("Si tu me das el Nombre del item")
      say(Yo te dare a elegir los siguientes items")
    
    local main_set = select ("Nombre1","Nombre2","Nombre3","Cancelar")
    local items = {
    
      {iditem1, cantidad},
      {iditem2, cantidad},
      {iditem3, cantidad}
    							
    }
       if main_set != 4 then
      
    	pc.give_item2(items[main_set][1],items[main_set][2])
    	chat("Has recibido tu item satisfactoriamente")
    	item.remove()
      
       end
      end
    end
    end
    
  7. Para bajar a lvl 1 a un pj tienes que primero meter este diff:

     

    This difference file is created by The Interactive Disassembler
    game2089
    00157334: 31 8B
    00157335: C0 92
    00157336: 85 DC
    00157337: D2 00
    00157338: 74 00
    00157339: 26 00
    0015733A: A1 89
    0015733B: 20 14
    0015733C: 37 24
    0015733D: 4C C7
    0015733E: 08 44
    0015733F: 8B 24
    00157340: 80 04
    00157341: DC 01
    00157345: 89 E8
    00157346: 04 26
    00157347: 24 AA
    00157348: E8 ED
    00157349: B3 FF
    0015734A: 71 90
    0015734B: EE 90
    0015734C: FF 90
    00312D3E: 70 72
    00312D3F: 63 65
    00312D40: 5F 73
    00312D41: 61 65
    00312D43: 74 5F
    00312D44: 72 70
    00312D45: 61 6F
    00312D46: 63 69
    00312D47: 74 6E
    00312D48: 5F 74
    00312D49: 72 73
    00312D4A: 61 00
    

    Y luego añadir estas nuevas funciones al quest_functions:

     

    pc.reset_points()
    pc.clear_skill()
    

    pc.reset_points() te bajara a level 1 y pc.clear_skill() le reseteara las habs.

     

    Pa usarlas simplemente las pones donde habias puesto el pc.set_level

  8. 1 - La condicion para que haya gente de tu party cerca esta bien, pero un d.new_jump_all se llevara a todos los que se encuentre en el mapa.

     

    2 -

    when 33004.chat."Cuatro cristales" with pc.get_map_index() >= 120000 and pc.get_map_index() < 129999 begin
    when 33004.chat."Cuatro cristales" with pc.get_map_index() >= 120000 and pc.get_map_index() < 129999 and party.is_leader() begin
  9. Jugueteando un poco con el lua, aqui teneis la quest del anillo porter echa con 3 arrays

     

    quest teleporter_keko begin
    	state start begin
    	
    		when 80009.use begin
    		
    			local cordes = {
    			
    				{1059000,726200},
    				{590500,110500},
    				{665600,435200},
    				{1049600,0},
    				{0,1203200},
    				{241300,1275500}
    				
    			}
    
    			local cordess = {
    			
    				{344000,502500},
    				{491800,173600},
    				{730700,435200},
    				{333949,689800}
    				
    			}
    			
    			local cordesss = {
    			
    				{969600,278400},
    				{873100,242600},
    				{55700,157900},
    				{138500,234900},
    				{469300,964200},
    				{360800,877600}
    				
    			}
    				
    	      say_title("Anillo transportador")
    		  say("Buenas "..pc.get_name().." elige tu destino")
    		  say("")
    			
    		local s = select ("Campo Serpiente","Torre Demonios","Arañas2","Madera Roja","Atlantea","Atlantea2","Mas Mapas")
    		
    			if s != 7 then
    			
    				pc.warp(cordes[s][1],cordes[s][2])
    				return
    				end
    				
    		say_title("Anillo transportador")
    		say("")
    		local ss = select ("Desierto","Montaña Sohan", "Tierra de Fuego", "Valle de orcos" , "Mas Mapas")
    		
    			if ss != 5 then
    			
    				pc.warp(cordess[ss][1],cordess[ss][2])
    				return
    				end
    				
    		say_title("Anillo transportador")
    		say("")
    		local sss = select ("Ciudad 1 Jinno","Ciudad 2 Jinno","Ciudad 1 Chunjo","Ciudad 2 Chunjo","Ciudad 1 Shinsoo","Ciudad 2 Shinsoo","Cancelar")	
    		
    			if sss != 8 then
    			
    			pc.warp(cordesss[sss][1],cordesss[sss][2])
    			return
    			end		
    		end
    	end
    end
  10. si matan a uno sale otro, es decir siempre habra los que hayan sacado al principio, si pongo que salgan 50 imaginate, el gm saca un tanaka, lo matan, ahora ya son 50 tankas corriendo, si matan uno mas, ya son 100 tanakas cooriendo. Asi esta bien, si matan uno sale otro, si sacas 10 tanakas, cuando maten a uno saldra otro y siempre habra 10.

     

    ya lo probe, poniendo que salieran 2 por cada muerto, pero se me peta el server en na, y tengo 1 procesador de 3,6 y 6gb de ram, weno, tardo un ratito, pero piensa que eso no termina nunca, te comen los bichos. ajajja

     

    Poniendolos antes del evento entonces esta bien, mi idea era mas invocando uno solo con la quest y que ya cn ese pueda salir un numero entre 2 y 5 por ejemplo en su lugar y ya el gm no tendria que hacer nada.

  11. Hola disculpen me podrian decir que tanta experiencia se utiliza para level 150? y tambien para 250 ya se que se pone aqui

    when login with pc.get_level() == 1 and pc.countitem(27003) == 0 begin

    pc . give_exp2 ( 1 )

    set_quest_state ( "levelup" , "run" )

     

    pero que tanta exp devo de poner gracias de antemano

     

    Como he dicho hace poco en otros posts puedes hacerlo asi:

     

    while pc.get_level() < 150 do
    local expniv = pc.get_next_exp()
    pc.give_exp2(expniv)
    end
    
  12. Keko, funciona de 10, pero el efecto no se me ve :S

    Y lo de cada pota, digo porque segun si es pequeña mediana o grande, le dan mas velocidad y mas tiempo, entonces hacen falta mas valores que no solo el mismo para todas :S

     

    Si el efecto no se ve es que ese no es el chat que tienes que poner para el o que esta mal implementado. Sobre lo del tamaño pos metes varios whens, si no mañana te lo hago en un array.

  13. Larga ._. pero si es un solo when

     

    quest potionmorada begin
    state start begin
    when 27113.use or 27114.use or 27115.use or 27103.use or 27104.use or 27105.use begin
    local item = item.get_vnum()
    cmdchat("effect 4")
    chat("OKI")
    affect.add_collect(apply,ATT_SPEED,cantidad,tiempo) -- ahi le pones el % que quieres que aumente y x cuanto
    pc.remove_item(item,1)
    end
    end
    end
  14. quest potionmorada begin
    state start begin
    when 27113.use or 27114.use or 27115.use or 27103.use or 27104.use or 27105.use begin
    cmdchat("effect 4") -- si eso es lo que tienes que escribir pa que salga el efecto
    chat("OKI")
    end
    end
    end
    

    Eso si viendo las ids parecen de potas, te en cuenta que sin type 18 no puedes hacer que les afecte una quest

×
×
  • Crear nuevo...