Jump to content

Evento de apuestas


Dilong

Mensajes recomendados

Esto lo hice basandome en la idea de alguien que pedia uno via source con gui y todo, pero en mi caso es solo quest simple, asi que no es gran cosa
Avisen si hay algun problema con la quest

Quest:

Spoiler

quest test begin
state start begin
when 20091.chat."Evento de Apuestas GM" with pc.is_gm() begin
say_title("Npc:")
say("Activar evento")
local evento_apuesta = {"Activar","Cancelar evento","Decidir ganador apuesta","Habilitar reembolso","Cerrar"}
local event_apuesta2 = select_table(evento_apuesta)
if event_apuesta2 == 1 then
	if game.get_event_flag("event_apuesta")== 1 then
		say_title("Npc:")
		say_reward("El evento de apuestas ya esta[ENTER]activo")
		return end
	mysql_direct_query("INSERT INTO `Apuestas`.`nombre_apuestas`(`nombre`, `nombre2`) VALUES ('0', '0')")
	mysql_direct_query("INSERT INTO `Apuestas`.`apuestas_equipo_1`(`apuestas_equipo_1`, `numeros_de_apuestas_equipo_1`) VALUES (0, 0)")
	mysql_direct_query("INSERT INTO `Apuestas`.`apuestas_equipo_2`(`apuestas_equipo_2`, `numeros_de_apuestas_equipo_2`) VALUES (0, 0)")
	say_title("Npc:")
	say_reward("Escribe sobre que se estara apostando")
	local nombre = input()
	if nombre == "" then
		notice("error texto")
		return end
	say_title("Npc:")
	say_reward("Escribe sobre que se estara apostando")
	local nombre2 = input()
	if nombre2 == "" then
		notice("error texto2")
		return end
		mysql_direct_query("UPDATE `Apuestas`.`nombre_apuestas` SET `nombre` = '"..nombre.."', `nombre2` = '"..nombre2.."' WHERE `nombre` = '0' AND `nombre2` = '0'")
	game.set_event_flag("event_apuesta",1)
	notice_all("El evento de apuestas ha comenzado")
	notice_all("La apuesta es sobre: ["..nombre.." "..nombre2.."]")
	notice_all("Dirijanse al npc para ingresar sus apuestas!")
elseif event_apuesta2 == 2 then
	say_title("Npc:")
	say("Elige una opcion")
	local event = {"Resetear(Borra todas las apuestas)","Cancelar(Terminar el evento y dejar intacto las apuestas)","Continuar evento","Cerrar"}
	local event2 = select_table(event)
	if event2 == 1 then
	mysql_direct_query("TRUNCATE TABLE Apuestas.apostadores_equipo_1") mysql_direct_query("TRUNCATE TABLE Apuestas.apostadores_equipo_2")
	mysql_direct_query("TRUNCATE TABLE Apuestas.apuestas_equipo_1") mysql_direct_query("TRUNCATE TABLE Apuestas.apuestas_equipo_2")
	mysql_direct_query("TRUNCATE TABLE Apuestas.nombre_apuestas")
	say_reward("Todas las apuestas han sido eliminadas")
	elseif event2 == 2 then
		game.set_event_flag("event_apuesta",0)
		notice_all("El evento de apuestas ha sido cancelado")
		elseif event2 == 3 then
			game.set_event_flag("event_apuesta",1)
			notice_all("El evento de apuestas ha sido continuado")
		return end end
	if event_apuesta2 == 3 then
	if game.get_event_flag("event_apuesta")== 0 then
		say_title("Npc:")
		say_reward("El evento de apuestas no esta[ENTER]activo")
		return end
local ganadores = select("Apuestas Equipo 1","Apuestas Equipo 2","Cerrar")
if ganadores == 1 then
local apuesta_list,s = mysql_direct_query("SELECT apuestas_equipo_2 FROM Apuestas.apuestas_equipo_2")
local apuesta_list,s2 = mysql_direct_query("SELECT numeros_de_apuestas_equipo_1 FROM Apuestas.apuestas_equipo_1")
mysql_direct_query("UPDATE `Apuestas`.`apostadores_equipo_1` SET `recompensa_equipo_1` = '"..s[1].apuestas_equipo_2.."' / '"..s2[1].numeros_de_apuestas_equipo_1.."'")
notice_all("El equipo 2 ha perdido la apuesta")
notice_all("La cantidad de apuestas del equipo 2: ["..s[1].apuestas_equipo_2.."] han sido dividas entre los ["..s2[1].numeros_de_apuestas_equipo_1.."] apostadores del equipo 1 ")
game.set_event_flag("event_apuesta",0)
notice_all("El evento de apuestas ha terminado")
elseif ganadores == 2 then
local apuesta_list,s = mysql_direct_query("SELECT apuestas_equipo_1 FROM Apuestas.apuestas_equipo_1")
local apuesta_list,s2 = mysql_direct_query("SELECT numeros_de_apuestas_equipo_2 FROM Apuestas.apuestas_equipo_2")
mysql_direct_query("UPDATE `Apuestas`.`apostadores_equipo_2` SET `recompensa_equipo_2` = '"..s[1].apuestas_equipo_1.."' / '"..s2[1].numeros_de_apuestas_equipo_2.."'")
notice_all("El equipo 1 ha perdido la apuesta")
notice_all("La cantidad de apuestas del equipo 1: ["..s[1].apuestas_equipo_1.."] han sido dividas entre los ["..s2[1].numeros_de_apuestas_equipo_2.."] apostadores del equipo 2 ")
game.set_event_flag("event_apuesta",0)
notice_all("El evento de apuestas ha terminado")
return end
elseif event_apuesta2 == 4 then
	say_title("Npc:")
	say("Los jugadores tendran la oportunidad de[ENTER]retirar sus apuestas")
	local rb = select("Continuar","Desactivar reembolso","Cerrar")
	if rb == 1 then
		game.set_event_flag("reembolso",1)
		notice_all("Reembolso activo")
		notice_all("Los jugadores pueden retirar sus apuestas")
		elseif rb == 2 then
			game.set_event_flag("reembolso",0)
			notice_all("Reembolso desactivado")
		return end end end
when 20091.chat."Evento de Apuestas" with game.get_event_flag("event_apuesta")==1 and game.get_event_flag("reembolso")==0 begin
say_title("Npc:")
local apuesta1 = {"Apostar por equipo 1","Apostar por equipo 2","Lista de apuestas","Cerrar"}
local apuesta = select_table(apuesta1)
if apuesta == 1 then
	say_title("Npc:")
	say_reward("Puedes apostar desde 50 a 100 Md`s")
			if pc.get_level()< 70 then
				notice("No tienes el nivel necesario")
				return end
	local s1, s2 = mysql_direct_query("SELECT id FROM `Apuestas`.`apostadores_equipo_1`")
	for i=1,s1 do
		if pc.get_account_id()==s2[i].id then
			notice("Ya has apostado")
			return end end
	local s1, s2 = mysql_direct_query("SELECT id FROM `Apuestas`.`apostadores_equipo_2`")
	for i=1,s1 do
		if pc.get_account_id()==s2[i].id then
			notice("Ya has apostado")
			return end end
	local cant = tonumber(input())
	if cant < 50 then
		chat("error")
		return end
		if cant == "" then
			chat("error3")
			return end
		if cant > 100 then
			chat("error2")
			return end
	local md, md2 = mysql_direct_query("SELECT coins FROM `account`.`account` WHERE id = '"..pc.get_account_id().."'")
	if md2[1].coins < cant then
		notice("Error coins")
		return end
			mysql_direct_query("UPDATE account.account SET coins = coins - '"..cant.."' WHERE id = '"..pc.get_account_id().."'")
			mysql_direct_query("INSERT INTO `Apuestas`.`apostadores_equipo_1`(`id`, `apostador_equipo_1`, `cant_equipo_1`) VALUES ('"..pc.get_account_id().."', '"..pc.get_name().."', '"..cant.."')")
			mysql_direct_query("UPDATE `Apuestas`.`apuestas_equipo_1` SET `apuestas_equipo_1` = `apuestas_equipo_1` + '"..cant.."', `numeros_de_apuestas_equipo_1` = `numeros_de_apuestas_equipo_1` + 1")
			notice("test")
			elseif apuesta == 2 then
			say_title("Npc:")
			say_reward("Puedes apostar desde 50 a 100 Md`s")
			if pc.get_level()< 70 then
				notice("No tienes el nivel necesario")
				return end
	local s1, s2 = mysql_direct_query("SELECT id FROM `Apuestas`.`apostadores_equipo_1`")
	for i=1,s1 do
		if pc.get_account_id()==s2[i].id then
			notice("Ya has apostado")
			return end end
	local s1, s2 = mysql_direct_query("SELECT id FROM `Apuestas`.`apostadores_equipo_2`")
	for i=1,s1 do
		if pc.get_account_id()==s2[i].id then
			notice("Ya has apostado")
			return end end
	local cant2 = tonumber(input())
	local md, md2 = mysql_direct_query("SELECT coins FROM `account`.`account` WHERE id = '"..pc.get_account_id().."'")
	if md2[1].coins < cant2 then
		notice("Error coins")
		return end
	if cant2 < 50 then
		chat("error")
		return end
		if cant2 == "" then
			chat("error3")
			return end
		if cant2 > 100 then
			chat("error2")
			return end
			mysql_direct_query("UPDATE account.account SET coins = coins - '"..cant2.."' WHERE id = '"..pc.get_account_id().."'")
			mysql_direct_query("INSERT INTO `Apuestas`.`apostadores_equipo_2`(`id`, `apostador_equipo_2`, `cant_equipo_2`) VALUES ('"..pc.get_account_id().."', '"..pc.get_name().."', '"..cant2.."')")
			mysql_direct_query("UPDATE `Apuestas`.`apuestas_equipo_2` SET `apuestas_equipo_2` = `apuestas_equipo_2` + '"..cant2.."',`numeros_de_apuestas_equipo_2` = `numeros_de_apuestas_equipo_2` + 1")
			notice("test")
			elseif apuesta == 3 then
			local lista_de_apuestas,s2 = mysql_direct_query("SELECT apuestas_equipo_1,numeros_de_apuestas_equipo_1 FROM Apuestas.apuestas_equipo_1")
			local lista_de_apuestas,s3 = mysql_direct_query("SELECT apuestas_equipo_2,numeros_de_apuestas_equipo_2 FROM Apuestas.apuestas_equipo_2")
			say_reward("Equipo 1:")
				say("Cantidad apostadas: "..s2[1].apuestas_equipo_1.." Numero de apuestas: "..s2[1].numeros_de_apuestas_equipo_1.."")
				say("................................................")
				say_reward("Equipo 2:")
				say("Cantidad apostadas: "..s3[1].apuestas_equipo_2.." Numero de apuestas: "..s3[1].numeros_de_apuestas_equipo_2.."")
				say("................................................")
				return
	end
end
when 20091.chat."Reembolso evento de apuestas" with game.get_event_flag("reembolso")== 1 begin
say_title("Npc:")
say("Podras retirar la apuesta que haz hecho[ENTER]en el evento, siempre y cuando exista un registro[ENTER]de la apuesta")
say_reward("Si no retiras tu apuesta, es posible que lo pierdas")
local rb2 = select("Reembolso Equipo 1","Reembolso Equipo 2","Cerrar")
if rb2 == 1 then
	local s1, s2 = mysql_direct_query("SELECT id, cant_equipo_1 FROM `Apuestas`.`apostadores_equipo_1`")
	for i=1,s1 do
		if pc.get_account_id()==s2[i].id then
			mysql_direct_query("UPDATE account.account SET coins = coins + '"..s2[1].cant_equipo_1.."' WHERE `id` = '"..pc.get_account_id().."'")
			mysql_direct_query("DELETE FROM `Apuestas`.`apostadores_equipo_1` WHERE `id` = '"..pc.get_account_id().."'")
			notice("Md`s retirados")
		else
			notice("Sin registro de apuesta 1")
			return end end
			elseif rb2 == 2 then
	local s1, s2 = mysql_direct_query("SELECT id, cant_equipo_2 FROM `Apuestas`.`apostadores_equipo_2`")
	for i=1,s1 do
		if pc.get_account_id()==s2[i].id then
			mysql_direct_query("UPDATE account.account SET coins = coins + '"..s2[1].cant_equipo_2.."' WHERE `id` = '"..pc.get_account_id().."'")
			mysql_direct_query("DELETE FROM `Apuestas`.`apostadores_equipo_2` WHERE `id` = '"..pc.get_account_id().."'")
			notice("Md`s retirados")
		else
			notice("Sin registro de apuesta 2")
			return end end
end
end
end
end

 

Dejo el .sql en un adjunto

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

Enlace para comentar
Compartir en otros sitios

Unirse a la conversación

Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, regístrate para publicar con su cuenta.

Guest
Responder a este tema...

×   Has pegado contenido con formato .   Eliminar formato

  Only 75 emoji are allowed.

×   Tu enlace se ha incorporado automáticamente.   Mostrar un enlace en su lugar

×   Se ha restaurado el contenido anterior. .   Borrar editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recientemente navegando por este tema   0 miembros

    • No hay usuarios registrados visitando esta página.
×
×
  • Crear nuevo...