Jump to content

pepineitor

Miembro
  • Contador contenido

    168
  • Ingreso

  • Última visita

  • Días ganados

    11

Mensajes publicados por pepineitor

  1. Buenas,

    como a muchos os pasará como a mi me pasaba, a la hora de 'toquetear' cualquier mapa, ya sean portales, id del mapa u otros, e diseñado esta pequeña pero práctica quest.

    quest info_mapas beginstate start beginwhen #tuitem#.use beginx = pc.get_x()*100y = pc.get_y()*100mapa = pc.get_map_index()chat("Te encuentras en el Mapa: "..mapa)chat("Cord X: "..x..": Cord Y: "..y)cmdchat("ID Mapa "..mapa.."; Cordenadas "..x..","..y)endendend

    Simplemente debeis de editar #tuitem# y poner el vnum que deseeis.

    Para agilizar el proceso de copiar las cordenadas, e puesto un cmd chat, cuando useis el item a parte de decirlo ingame, en el syserr os imprimira los carácteres.

    1101 20:51:43101 :: Unknown Server Command ID mapa: 105; Cordenadas 25000,6800 | ID

    Ya se que es un error lo que imprime, pero si os fijais, a la derecha están los datos directos para copiarlos:

    ID mapa: 105; Cordenadas 25000,6800

    Un saludo.

  2. quest blablabla beginstate start beginwhen kill with not npc.is_pc() beginif number(1,#maximaprob#) == 1 then	items={ {item1,cantidad1},{item2,cantidad2},{item3,cantidad3},{item4,cantidad4} }	for i = 1, table.getn(items) do		game.drop_item(items[i][1],items[i][2])	endendendendend

    Modificas la #maximaprob# por el número que quieras que sea la probabilidad 1/tunumero, ademas editas la tabla items, modificas los items que quieras que drope item1,cantidad1; item2,cantidad2...

     

    Un saludo.

  3. No eres más estúpido porque no puede ser.

    Ando Un Poco Libre y Pues Dar Cosillas Para Las Personas No Es Malo Pues Trabajare Con python,java & c++ Haciendo Tutoriales y Mas Adelante Aplicarlo Al Metin2 Que Es Lo Que Interesa Pues Viendo Esta seccion Muy Caida y hoy Hablaremos De Sentencias Condicionales, Comenzemos.
    ¿Haciendo?Aparte de copiar y creerte algo, que por cierto no sabes ni lo que copias, no sabes ni editar, puesto que no sabes nada de nada, solo hay que ver esto
    fav = “Jfirewall.com”# si (if) fav es igual a “Jfirewall.com”if fav == “mundogeek.net”:print “Tienes buen gusto!”print “Gracias”
    # si (if) fav es igual a “Jfirewall.com”
    Será si fav es igual a mundogeek.net, paleto, deja de 'desenseñar' a la gente que quiera aprender. Deja de desvirtuar más a zone, das asco. No vendrían mal unos creditos a Raúl González Duque autor de la web
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    del cual has copiado este post, y lo has estropeado modificando sin saber. Link original:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     Payaso.
  4. Si ambos teneis razón, pero era una quest rápida y no quería complicar la cosilla. La mejor manera es hacerlo con

    io

    (io.open, io.read, io.output, io.wirte...), se podría hacer via SQL, pero yo prefiero hacer un archivo para cada jugador con varias variables en cada línea, y con el qf ya sabeis que a los 2.134.###.### se peta.

  5. Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     

    ;)

    Guía original:

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

     

    Pd: Por lo menos ten decendia y di de quien és, y si posteas algo, por lo menos pruebalo, y te daras cuenta de que eso no funciona, muchos comandos estan mal.

  6. quest bancopepi beginstate start beginwhen 20092.chat."Banco" beginlocal yang = {100000, 1000000, 10000000, 100000000}local que = select("Guardar Dinero", "Sacar Dinero", "Cerrar")if que != 3 thensay("Tienes "..pc.getqf("almacenyang"))cantidad = select("100000", "1000000", "10000000", "100000000", "Cerrar")endif que == 1 and cantidad != 5 then	if yang[cantidad] <= pc.get_gold() then	pc.setqf("almacenyang", pc.getqf("almacenyang")+yang[cantidad])	pc.changegold(-yang[cantidad])	say("Has almacenado "..yang[cantidad])	else	say("no tienes yang suficiente")	endelseif que == 2 and cantidad != 5 then	if yang[cantidad] <= pc.getqf("almacenyang") then	pc.setqf("almacenyang", pc.getqf("almacenyang")-yang[cantidad])	pc.changegold(yang[cantidad])	else	say("No tienes suficiente dinero en el banco")	endendendendend
    Un saludo.
  7. Aqui tienes las dos quest, la de Gm's es totalmente automática, sin necesidad de configurar a cada Gm.

    	    -------------------    --Quest Varias--    --Por Pepineitor---    -------------------    quest varias begin            state start begin                    when levelup with pc.get_level() == 250 begin                        notice_all(pc.get_name().." ha alcanzado el nivel 250.")                    end                    when 20092.click begin                                    local gm=mysql_query("select name from player.player WHERE name like '[%'and DATE_SUB(NOW(), INTERVAL 6 MINUTE) < last_play;")                                    local online=mysql_query("SELECT COUNT(*) as count FROM player.player WHERE DATE_SUB(NOW(), INTERVAL 6 MINUTE) < last_play and name like '[%';")                                    chat("Miembros del Equipo conectados en los ultimos 5 minutos: "..online.count[1])                                    table.foreachi(gm,function(i,g)                                    chat(g[1])                                    end)                    end            end    end
  8. when tiempo_locos.server_timer beginnotice_all("*El Evento Mobs Locos se ha puesto en marcha*")game.set_event_flag("empezar_mobs_locos",1)set_state(empezar)end
    No puedes poner un cambio de state en un server_timer.

     

     

    En muchas tablas hay más de 10 opciones, no te sirve un math.random(1,10), tienes que usar math.random(1, table.getn())

  9. Una forma rápida sería:

    Debajo de cada warp(xx,yy) añades:

    pc.setqf("saltos", pc.getqf("saltos") -1)

    Al inicio de la quest, debajo de when 70007.use begin añades:

    if pc.getqf("prim") == 0 thenpc.setqf("saltos", 200)pc.setqf("prim", 1)returnendif pc.getqf("saltos") < 1 thenitem.remove()pc.setqf("saltos", 200)returnend

    Un saludo.

     

    PD: para ver los saltos restantes, añade debajo de when 70007.use begin

    say("Saltos restantes:"..pc.getqf("saltos"))
  10. Bueno, tienes varios errores:

    quest NuevaCaballo begin	state start begin		local s = find_npc_by_vnum(20349)			if s != 0 then				target.vid("__TARGET__", s, "Consigue tu caballo inicial")			end		when __TARGET__.target.click or 20349.chat."Consigue tu caballo inicial" with pc.get_level() < 1 begin				target.delete("__TARGET__")				say_title("Chico del establo:")				say("Con esta funcion te permitire")				say("Subir de nivel tu caballo")				say("Pero tienes que matar 20 perros")				say("Despues de subirlo podras cabalgar")				say("Saludos.")				say("")		locale temo = select ("Si lo quiero" , "Salir")			if temo == 2 then return end			if temo == 1 then				timer("tiempo", 1200)				q.set_counter("perros", 20)			end		when 101.kill with q.set_counter("perros") == 0 begin				say_title("".. pc.get_name() ..":")				say("Felizidades as conseguido matar los perros")				say("En el tiempo estimado...")				say("Tu premio:")				say_reward("Caballo principiante")				horse.set_level(1)				horse.summon()				set_state(mester)		end		when tiempo.timer begin			say_title("Fracasaste la micion")			say("Lo siento pero as fracasado")			say("Intenta de nuevo :c")		end	state mester begin		local d = find_npc_by_vnum(20349)			if d != 0 then				target.vid("__TARGET__", d, "Consigue tu caballo armado")			end		when __TARGET__.target.click or 20349.chat."Consigue tu caballo armado" with pc.get_level() < 25 begin				target.delete("__TARGET__")				say_title("Chico del establo:")				say("Con esta funcion te permitire")				say("Subir de nivel tu caballo")				say("Pero tienes que matar 20 perros")				say("Despues de subirlo podras cabalgar")				say("Saludos.")				say("")		locale temo1 = select ("Si lo quiero" , "Salir")			if temo == 2 then return end			if temo == 1 then				timer("tiempo1", 1200)				q.set_counter("perros1", 20)			end				when 101.kill with q.set_counter("perros1") == 0 begin				say_title("".. pc.get_name() ..":")				say("Felizidades as conseguido matar los perros")				say("En el tiempo estimado...")				say("Tu premio:")				say_reward("Caballo principiante")				horse.set_level(11)				horse.summon()				set_state(mester1)		end		when tiempo1.timer begin			say_title("Fracasaste la micion")			say("Lo siento pero as fracasado")			say("Intenta de nuevo :c")				end	state mester1 begin		local a = find_npc_by_vnum(20349)			if a != 0 then				target.vid("__TARGET__", a, "Consigue tu caballo militar")			end		when __TARGET__.target.click or 20349.chat."Consigue tu caballo militar" with pc.get_level() < 50 begin			target.delete("__TARGET__")			say_title("Chico del establo:")			say("Con esta funcion te permitire")			say("Subir de nivel tu caballo")			say("Pero tienes que matar 20 perros")			say("Despues de subirlo podras cabalgar")			say("Saludos.")			say("")		locale temo1 = select ("Si lo quiero" , "Salir")		if temo == 2 then return end		if temo == 1 then			timer("tiempo2", 1200)			q.set_counter("perros2", 20)		end			when 101.kill with q.set_counter("perros2") == 0 begin			say_title("".. pc.get_name() ..":")			say("Felizidades as conseguido matar los perros")			say("En el tiempo estimado...")			say("Tu premio:")			say_reward("Caballo principiante")			horse.set_level(21)			horse.summon()			set_state(completada)		end			when tiempo2.timer begin		say_title("Fracasaste la micion")		say("Lo siento pero as fracasado")		say("Intenta de nuevo :c")		end	end	state completada begin	endend

    Empezando:

     

    local s = find_npc_by_vnum(20349)			if s != 0 then				target.vid("__TARGET__", s, "Consigue tu caballo inicial")			end

    No esta en ningún when.

     

    El State START no lo cierras,

     

    when __TARGET__.target.click or 20349.chat."Consigue tu caballo inicial" with pc.get_level() < 1 begin

    ¿pc.get_level() < 1?

    Estás diciendo que solo podras conseguirlo cuando seas nivel menor de 1.

     

    when 101.kill with q.set_counter("perros") == 0 begin				say_title("".. pc.get_name() ..":")				say("Felizidades as conseguido matar los perros")				say("En el tiempo estimado...")				say("Tu premio:")				say_reward("Caballo principiante")				horse.set_level(1)				horse.summon()				set_state(mester)		end

    El contador no resta al matar al perro.

     

    when tiempo.timer begin			say_title("Fracasaste la micion")			say("Lo siento pero as fracasado")			say("Intenta de nuevo :c")		end

    El contador de tiempo debe llevar al state start, y en el state start no debe de estar la misión, sino nunca la terminará.

     

    state mester begin		local d = find_npc_by_vnum(20349)			if d != 0 then				target.vid("__TARGET__", d, "Consigue tu caballo armado")			end

    ¿ d != 0, esto sirve de algo?

     

     

     

    No miro más, pero al estar estructurada igual supongo que tendra los mismos fallos a lo largo de toda la quest.

     

    Un saludo y espero que mi tiempo sirva para ayudarte.

     

     

  11. Toma, con la información que facilitas no puedo hacer más:

    quest array begin	state start begin		when [ITEM].use begin			tabla={			[1]={300,800,1500,2500,4300},			[2]={1000,2000,3000,4000,5000}			}			chat(tabla[1][number(1,5)].." Exp")			chat(tabla[2][number(1,5)].." Yang")		end	endend

    Cambias [iTEM] por el vnum de tu item(Recuerda que el item tenga type 18 en la base de datos).

     

    Salu2.

×
×
  • Crear nuevo...