Jump to content
Sign in to follow this  
Dilong

Evento de apuestas

Recommended Posts

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.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

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

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...