Jump to content
Slabon

[Ayuda]Quest Control GM

Recommended Posts

Implemente la quest de Yori, pero al hacer uso de la opción de banear a alguien me desconecto del juego sin dar errores.

 

 

------------------------------------------
-- Quest hecha por Yori para metin2zone --
--	  V 1.1	 --
------------------------------------------
quest control begin
state start begin
  when login with pc.is_gm() begin
   set_state(information)
  end
end
state information begin
  when letter begin
   send_letter("Control de Gm")
  end
  when button or info begin
   say_title("Control de Gm:")
   say("Que Quieres hacer?")
   local menu = select("Halloween","Dia/Noche","Rates","Bloquear chat","Navidad","Banear","Teleport","Cerrar")
   if menu == 8 then
	return
  --Halloween
   elseif menu == 1 then
	command("m 20023")	--npcs para halloween(Quitarle los -- de delante para que funcionen
   -- command("m npc")
   -- command("m npc")
  --Dia/Noche
   elseif menu == 2 then
	say("Que quieres poner?")
	local menu2 = select("Dia","Noche","Cerrar")
	if menu2 == 1 then
	 command ("x 2")
	elseif menu2 == 2 then
	 command ("x 1")
	elseif menu2 == 3 then
	 return
	end
  --Rates
   elseif menu == 3 then
	say("Rates:")
	say("Que rate quieres añadir?")
	local menu2 = select("Experiencia","Yang","Drop","Cerrar")
	if menu2 == 4 then
	 return
   --Exp
	elseif menu2 == 1 then
	 say("Experiencia:")
	 say("A que reino le quieres dar experiencia?")
	 local menu3 = select("Shinsoo","Chunjo","Jinno","Todos","Cerrar")
	 if menu3 == 5 then
	  return
	 elseif menu3 == 1 then
	  local tipo = 4
	  local reino = menu3
	  say("Que porcentaje quieres darle?")
	  say_reward("Introduce solo numeros enteros.")
	  local rate = input()
	  rate=tonumber(rate)
	  say("Introduce el tiempo de duración en minutos")
	  say("Ej: 120")
	  say("Que serian 2 horas")
	  local tiempo=input()
	  tiempo=tonumber(tiempo)
	  say("Experiencia para Shinsoo:")
	  say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?")
	  local menu4 = select("Si","No")
	  if menu4 == 1 then
	   __give_empire_priv(reino, tipo, rate, tiempo*60)
	  else
	   return
	  end
	 elseif menu3 == 2 then
	  local tipo = 4
	  local reino = menu3
	  say("Que porcentaje quieres darle?")
	  say_reward("Introduce solo numeros enteros.")
	  local rate = input()
	  rate=tonumber(rate)
	  say("Introduce el tiempo de duración en minutos")
	  say("Ej: 120")
	  say("Que serian 2 horas")
	  local tiempo=input()
	  tiempo=tonumber(tiempo)
	  say("Experiencia para Chunjo:")
	  say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?")
	  local menu4 = select("Si","No")
	  if menu4 == 1 then
	   __give_empire_priv(reino, tipo, rate, tiempo*60)
	  else
	   return
	  end
	 elseif menu3 == 3 then
	  local tipo = 4
	  local reino = menu3
	  say("Que porcentaje quieres darle?")
	  say_reward("Introduce solo numeros enteros.")
	  local rate = input()
	  rate=tonumber(rate)
	  say("Introduce el tiempo de duración en minutos")
	  say("Ej: 120")
	  say("Que serian 2 horas")
	  local tiempo=input()
	  tiempo=tonumber(tiempo)
	  say("Experiencia para Jinno:")
	  say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?")
	  local menu4 = select("Si","No")
	  if menu4 == 1 then
	   __give_empire_priv(reino, tipo, rate, tiempo*60)
	  else
	   return
	  end
	 elseif menu3 == 4 then
	  local tipo = 4
	  local reino = 0
	  say("Que porcentaje quieres darle?")
	  say_reward("Introduce solo numeros enteros.")
	  local rate = input()
	  rate=tonumber(rate)
	  say("Introduce el tiempo de duración en minutos")
	  say("Ej: 120")
	  say("Que serian 2 horas")
	  local tiempo=input()
	  tiempo=tonumber(tiempo)
	  say("Experiencia para todos:")
	  say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?")
	  local menu4 = select("Si","No")
	  if menu4 == 1 then
	   __give_empire_priv(reino, tipo, rate, tiempo*60)
	  else
	   return
	  end
	 end
   --Yang
	elseif menu2 == 2 then
	 say("Yang:")
	 say("A que reino le quieres dar Yang?")
	 local menu3 = select("Shinsoo","Chunjo","Jinno","Todos","Cerrar")
	 if menu3 == 5 then
	  return
	 elseif menu3 == 1 then
	  local tipo = 2
	  local reino = menu3
	  say("Que porcentaje quieres darle?")
	  say_reward("Introduce solo numeros enteros.")
	  local rate = input()
	  rate=tonumber(rate)
	  say("Introduce el tiempo de duración en minutos")
	  say("Ej: 120")
	  say("Que serian 2 horas")
	  local tiempo=input()
	  tiempo=tonumber(tiempo)
	  say("Yang para Shinsoo:")
	  say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?")
	  local menu4 = select("Si","No")
	  if menu4 == 1 then
	   __give_empire_priv(reino, tipo, rate, tiempo*60)
	  else
	   return
	  end
	 elseif menu3 == 2 then
	  local tipo = 2
	  local reino = menu3
	  say("Que porcentaje quieres darle?")
	  say_reward("Introduce solo numeros enteros.")
	  local rate = input()
	  rate=tonumber(rate)
	  say("Introduce el tiempo de duración en minutos")
	  say("Ej: 120")
	  say("Que serian 2 horas")
	  local tiempo=input()
	  tiempo=tonumber(tiempo)
	  say("Yang para Chunjo:")
	  say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?")
	  local menu4 = select("Si","No")
	  if menu4 == 1 then
	   __give_empire_priv(reino, tipo, rate, tiempo*60)
	  else
	   return
	  end
	 elseif menu3 == 3 then
	  local tipo = 2
	  local reino = menu3
	  say("Que porcentaje quieres darle?")
	  say_reward("Introduce solo numeros enteros.")
	  local rate = input()
	  rate=tonumber(rate)
	  say("Introduce el tiempo de duración en minutos")
	  say("Ej: 120")
	  say("Que serian 2 horas")
	  local tiempo=input()
	  tiempo=tonumber(tiempo)
	  say("Yang para Jinno:")
	  say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?")
	  local menu4 = select("Si","No")
	  if menu4 == 1 then
	   __give_empire_priv(reino, tipo, rate, tiempo*60)
	  else
	   return
	  end
	 elseif menu3 == 4 then
	  local tipo = 2
	  local reino = 0
	  say("Que porcentaje quieres darle?")
	  say_reward("Introduce solo numeros enteros.")
	  local rate = input()
	  rate=tonumber(rate)
	  say("Introduce el tiempo de duración en minutos")
	  say("Ej: 120")
	  say("Que serian 2 horas")
	  local tiempo=input()
	  tiempo=tonumber(tiempo)
	  say("Yang para todos:")
	  say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?")
	  local menu4 = select("Si","No")
	  if menu4 == 1 then
	   __give_empire_priv(reino, tipo, rate, tiempo*60)
	  else
	   return
	  end
	 end
   --Drop
	elseif menu2 == 3 then
	 say("Drop:")
	 say("A que reino le quieres dar Drop?")
	 local menu3 = select("Shinsoo","Chunjo","Jinno","Todos","Cerrar")
	 if menu3 == 5 then
	  return
	 elseif menu3 == 1 then
	  local tipo = 1
	  local reino = menu3
	  say("Que porcentaje quieres darle?")
	  say_reward("Introduce solo numeros enteros.")
	  local rate = input()
	  rate=tonumber(rate)
	  say("Introduce el tiempo de duración en minutos")
	  say("Ej: 120")
	  say("Que serian 2 horas")
	  local tiempo=input()
	  tiempo=tonumber(tiempo)
	  say("Drop para Shinsoo:")
	  say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?")
	  local menu4 = select("Si","No")
	  if menu4 == 1 then
	   __give_empire_priv(reino, tipo, rate, tiempo*60)
	  else
	   return
	  end
	 elseif menu3 == 2 then
	  local tipo = 1
	  local reino = menu3
	  say("Que porcentaje quieres darle?")
	  say_reward("Introduce solo numeros enteros.")
	  local rate = input()
	  rate=tonumber(rate)
	  say("Introduce el tiempo de duración en minutos")
	  say("Ej: 120")
	  say("Que serian 2 horas")
	  local tiempo=input()
	  tiempo=tonumber(tiempo)
	  say("Drop para Chunjo:")
	  say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?")
	  local menu4 = select("Si","No")
	  if menu4 == 1 then
	   __give_empire_priv(reino, tipo, rate, tiempo*60)
	  else
	   return
	  end
	 elseif menu3 == 3 then
	  local tipo = 1
	  local reino = menu3
	  say("Que porcentaje quieres darle?")
	  say_reward("Introduce solo numeros enteros.")
	  local rate = input()
	  rate=tonumber(rate)
	  say("Introduce el tiempo de duración en minutos")
	  say("Ej: 120")
	  say("Que serian 2 horas")
	  local tiempo=input()
	  tiempo=tonumber(tiempo)
	  say("Drop para Chunjo:")
	  say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?")
	  local menu4 = select("Si","No")
	  if menu4 == 1 then
	   __give_empire_priv(reino, tipo, rate, tiempo*60)
	  else
	   return
	  end
	 elseif menu3 == 4 then
	  local tipo = 1
	  local reino = 0
	  say("Que porcentaje quieres darle?")
	  say_reward("Introduce solo numeros enteros.")
	  local rate = input()
	  rate=tonumber(rate)
	  say("Introduce el tiempo de duración en minutos")
	  say("Ej: 120")
	  say("Que serian 2 horas")
	  local tiempo=input()
	  tiempo=tonumber(tiempo)
	  say("Drop para todos:")
	  say("Estas seguro que quieres darle "..rate.."%[ENTER]durante "..tiempo.." minutos?")
	  local menu4 = select("Si","No")
	  if menu4 == 1 then
	   __give_empire_priv(reino, tipo, rate, tiempo*60)
	  else
	   return
	  end
	 end
	end
  --Mutear
   elseif menu == 4 then
	say("Que quieres hacer")
	local menu2 = select("Bloquear chat","Quitar bloqueo de chat","Lista de bloqueados","Cerrar")
	if menu2 == 1 then
	 say("Bloquear chat:")
	 say("Introduce el nombre del jugador que quieres mutear")
	 local nombre = input()
	 say("Introduce el tiempo que quieres silecciarlo en minutos")
	 say("Recuerda 1 hora = 60 minutos")
	 say("Debes introducir solo el numero")
	 local tiempo = input()
	 say("Estas seguro que quieres mutear a "..nombre.."[ENTER]durante "..tiempo.." minutos?")
	 local menu3 = select("Si","Cerrar")
	 if menu3 == 1 then
	  notice_all(nombre.." ha sido silenciado del chat durante "..tiempo.." minutos de juego")
	  tiempo = tonumber(tiempo)*60
	  command("block_chat "..nombre.." "..tiempo)
	 elseif menu3 == 2 then
	  return
	 end
	elseif menu2 == 2 then
	 say("Desbloquear chat:")
	 say("Escribe el nombre del jugador que quieres desmutear.")
	 local nombre = input()
	 if find_pc_by_name(nombre) == 0 then
	  say("Ese nombre no existe")
	  return
	 end
	 say("Estas seguro que quieres quitar el muteo a "..nombre)
	 local menu3 = select("Si","Cerrar")
	 if menu3 == 1 then
	  command("block_chat "..nombre.." 0")
	 elseif menu3== 2 then
	  return
	 end
	elseif menu2 == 3 then
	 command("block_chat_list")
	elseif menu2 == 4 then
	 return
	end
  --Navidad
   elseif menu == 5 then
	say("Que quieres hacer?")
	local menu2 = select("Nieve","Villancicos","Fuegos artificiales","Arbol navidad","Santa Claus","Cerrar")
	if menu2==1 then
	 say("Nieve:")
	 local menu3 = select("Nieve On","Nieve Off","Cerrar")
	 if menu3 == 1 then
	  command("xmas_snow 1")
	 elseif menu3 == 2 then
	  command("xmas_snow 0")
	 elseif menu3 == 3 then
	  return
	 end
	elseif menu2 == 2 then
	 say("Villancicos:")
	 local menu3 = select("Villancicos On","Villancicos Off","Cerrar")
	 if menu3 == 1 then
	  command("xmas_song 1")
	 elseif menu3 == 2 then
	  command("xmas_song 0")
	 elseif menu3 == 3 then
	  return
	 end
	elseif menu2 == 3 then
	 say("Fuegos artificiales:")
	 local menu3 = select("Fuegos artificiales On","Fuegos artificiales Off","Cerrar")
	 if menu3 == 1 then
	  command("xmas_boom 1")
	 elseif menu3 == 2 then
	  command("xmas_boom 0")
	 elseif menu3 == 3 then
	  return
	 end
	elseif menu2 == 4 then
	 say("Arbol de navidad:")
	 local menu3 = select("Arbol Fase1","Arbol Fase 2","Arbol Fase 3","Arbol Off","Cerrar")
	 if menu3 == 1 then
	  command("xmas_tree 1")
	 elseif menu3 == 2 then
	  command("xmas_tree 2")
	 elseif menu3 == 3 then
	  command("xmas_tree 3")
	 elseif menu3 == 4 then
	  command("xmas_tree 0")
	 elseif menu3 == 4 then
	  return
	 end	
	elseif menu2 == 5 then
	 say("Santa Claus:")
	 local menu3 = select("Santa Claus On","Santa Claus Off","Cerrar")
	 if menu3 == 1 then
	  command("xmas_santa 1")
	 elseif menu3 == 2 then
	  command("xmas_santa 0")
	 elseif menu3 == 3 then
	  return
	 end
	elseif menu2 == 6 then
	 return
	end
  --Banear
   elseif menu == 6 then
	say("Banear:")
	say("Que quieres hacer?")
	local menu2 = select("Banear","Quitar Ban","Cerrar")
	if menu2 == 1 then
	 say("Introduce el nombre del jugador[ENTER]que quieres perder de vista xD")
	 local nombre = input()
	 say("Estas seguro que quieres banear a "..nombre)
	 local menu2 = select("Si","No")
	 if menu2 == 1 then
	  local id = mysql_query("SELECT player.account_id from player.player where player.name = '"..nombre.."'","root","sasuke","player","192.192.192.100")
	  --say(id.account_id[1].." intento 1")
	  --say(id.id.." intento 2")
	  mysql_query("Update account.account set account.status = 'BLOCK' WHERE account.id = "..id.account_id[1].."","root","sasuke","account","192.192.192.100")
	  say(nombre.." ha sido baneado.")
	 elseif menu2== 2 then
	  return
	 end
	elseif menu2 == 2 then
	 say("Introduce el nombre del jugador[ENTER]al que le quieres quitar el ban.")
	 local nombre = input()
	 say("Estas seguro que quieres[ENTER]quitarle el ban a "..nombre)
	 local menu2 = select("Si","No")
	 if menu2 == 1 then
	  local id = mysql_query("SELECT player.account_id from player.player where player.name = '"..nombre.."'","root","sasuke","player","192.192.192.100")
	  --say(id.account_id[1].." intento 1")
	  --say(id.id.." intento 2")
	  mysql_query("Update account.account set account.status = 'OK' WHERE account.id = "..id.account_id[1].."","root","sasuke","account","192.192.192.100")
	  say(nombre.." ha sido desbaneado.")
	 elseif menu2== 2 then
	  return
	 end
	elseif menu2 == 3 then
	 return
	end
  --teleport
   elseif menu == 7 then
	say("Que quieres hacer")
	local menu2 = select("Traer a alguien","Ir hacia alguien","Cerrar")
	if menu2 == 3 then
	 return
	elseif menu2 == 1 then
	 say("Traer a alguien:")
	 say("")
	 say("Escribe el nombre del jugador")
	 local nombre = input()
	 if find_pc_by_name(nombre) == 0 then
	  say("El jugadore no existe o está desconectado")
	  return
	 else
	  command("t "..nombre)
	  say("El jugador "..nombre.." está de camino xD")
	 end
	elseif menu2== 2 then
	 say("Ir hacia alguien:")
	 say("")
	 say("Escribe el nombre del jugador")
	 local nombre = input()
	 if find_pc_by_name(nombre) == 0 then
	  say("El jugadore no existe o está desconectado")
	  return
	 else
	  command("warp "..nombre)
	 end
	end
   end
  end
end
end

 

Alguien me puede decir que hacer para que sea funcional, cambie lo de "sasuke" por la contraseña de mysql y la ip por mi ip.

Share this post


Link to post
Share on other sites

estos me imagino que serán los datos de acceso y tal... bueno esa ip dudo que sea válida, creo que sería 192.168.0.100 bueno, puedes verlo en cmd poniendo ipconfig, máscara de subred.

Fijate bien en eso.

"root","sasuke","account","192.192.192.100"

Share this post


Link to post
Share on other sites

Estoy casi seguro de que ese es el error, ahi deberias poner los datos de acceso a la bd, "navicat" dicho vulgarmente xd

 

esos fueron los datos que puse, la contraseña de acceso y en la ip pues la ip con la que el server y el cliente se conectan al igual que el FTP.

Share this post


Link to post
Share on other sites

Prueba la misma quest pero quitando la función sql y cambiandola por ejemplo por notice_all("Baneado!!") así compruebas si el error es realmente en la query

Share this post


Link to post
Share on other sites

Esa quest usa el mysql en quest antiguo, ponle asi esa query:

 

mysql_query("Update account.account set status = 'BLOCK' WHERE account.id = '"..pc.get_account_id().."';") -- dejas solo esta borra el local que hay antes

(Seguramente tengas que añadir la funcion pc.get_account_id() al quest_functions)

 

Y la de desbanear:

 

mysql_query("Update account.account set status = 'OK' WHERE id = '"..pc.get_account_id().."';")

Y por supuesto debes tener el questlib de mijago actualizado que pone aqui mi colega raul:

 

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

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...