Jump to content

pepineitor

Miembro
  • Contador contenido

    168
  • Ingreso

  • Última visita

  • Días ganados

    11

Todo lo publicado por pepineitor

  1. http://foro.universojuegos.es/showthread.php?mode=linear&tid=14371&pid=123251 Ahorrate el copypaste basurero que haces siempre, creo que poniendo el link sobra, total es lo mismo. Autor Hawkings.
  2. 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.
  3. 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.
  4. 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 estofav = “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 http://mundogeek.net del cual has copiado este post, y lo has estropeado modificando sin saber. Link original: http://mundogeek.net/archivos/2008/01/29/python-control-de-flujo/ Payaso.
  5. Por si lo desconocias:www.inforge.net/community/metin2-howto-addon-server-privati/295096-release-navigazione-tra-i-select-extra.htmlSirve para hacer menus, infinitos si los deseas, sin necesidad de funciones nuevas ni nada.
  6. 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.
  7. http://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/584341-how-install-pifw-firewall-freebsd-roots.html Guía original: http://forum.directadmin.com/archive/index.php/t-2465.html 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.
  8. 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") endendendendendUn saludo.
  9. ¿No os habeis parado a pensar que quizás existe por algo ese comando? Eliminarlo es lo peor que podeís hacer, ya que es la mejor forma de apagar el servidor, simplemente debeis limitarlo correctamente. Pa' que...
  10. 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
  11. pepineitor

    Channels

    http://es.wikipedia.org/wiki/Router Si es un dedicado no tienes que abrir nada (...), solo configurarlo todo bien.
  12. pepineitor

    Channels

    Para que se vea el estado del servidor(FULL, BUSY...) vía Virtual Box teneis que abrir los puertos UDP. Si es un dedicado, algo harás mal, no configuraras bien el server info.
  13. 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)endNo 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())
  14. Abres navicat, pulas F6 y pones esto con los valores correspondientes entre # update player.item_proto set name="#NOMBRE DEL ITEM#" where vnum="#ID DEL ITEM#;Salu2.
  15. Eso no funciona, no hace falta probarlo, pero, por lo menos, si vosotros vais a publicar algo, dignraos a probarlo y no hacer perder el tiempo a los demas usuarios.
  16. 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"))
  17. Puede ser Keko, normalmente los suelo hacer así: target.vid("__TARGET__", find_npc_by_vnum(vnum), "") Pero de la forma que planteas puede evitar algun error en cambio mi forma puede generar alguno en caso de que sea 0.
  18. 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: 1º 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. 2º El State START no lo cierras, 3º 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. 4º 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. 5º 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á. 6º 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.
  19. 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.
  20. Antes de cualquier comprobación tipo pc.get_map_index() >= (id)*10000 and pc.get_map_index() < (id2)*10000, d.getf("variable")Debes de poner pc.in_dungeon()Un saludo
×
×
  • Crear nuevo...