Jump to content

problemas con los coins


ChuchoGamer

Recommended Posts

buenas noches necesito de su ayuda cuando le pico al item  no me llegan los coins  alguien me dice como puedo solucionarlo

los item tiene el type 18   dejare foto del error que me sale al no llegar los coins  nose se me explique bien pero igual dejo foto aver se me pueden solucionarlo

 

 

la quest 

quest mt2rayoferos_coins begin

state start begin

when 27992.use or 27993.use or 27994.use begin

---------------------------------------------

local mysql_user = "root"; 

local mysql_pass = "daroo"; 

---------------------------------------------

coins = {

[27992] = { "Moneda de Oro", 1000},

[27993] = { "Moneda de Plata", 500},

[27994] = { "Moneda de Bronce", 250}

}

say_title(""..coins[item.get_vnum()][1].."")

say("Si utilizas esta moneda puedes obtener una")

say("determinada cantidad de coins canjeables en la")

say("ItemShop del servidor.")

say("Con esta "..coins[item.get_vnum()][1].." obtendrás "..coins[item.get_vnum()][2].." coins.")

say("")

say("¿Quieres canjear la moneda por "..coins[item.get_vnum()][2].." coins?")

local s = select("Si","No");

if s == 1 then

if mt2rayoferos_coins.item_revision(item.get_count()) == true then

os.execute("mysql -u '"..mysql_user.."' --password='"..mysql_pass.."' --execute='UPDATE account.account SET coins = coins + "..coins[item.get_vnum()][2].." WHERE id = "..pc.get_account_id()..";'")

say_title(""..coins[item.get_vnum()][1].."")

say("¡Felicidades!")

say("Has obtenido "..coins[item.get_vnum()][2].." coins.")

say("Entra en la ItemShop de nuestro servidor para")

say("canjearlas.")

item.remove()

elseif mt2rayoferos_coins.item_revision(item.get_count()) == false then

chat("ERROR")

else

chat("ERROR")

end

else

return

end

end

 

function item_revision(count)

if count >= 1 then

if item.get_vnum() == 0 or item.get_vnum() == nil then

return false

else

return true

end

elseif count < 1 then

return false

else

return false

end

end

end

end

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

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

Link to comment
Share on other sites

 

Spoiler

quest coins begin
        state start begin
                when 27992.use or 27993.use or 27994.use begin
                say_title("texto")
                say("Cual cupon deseas cambiarlo por Dr´s")
                local coin = {"1000","500","50","Salir"}
                local coin2 = select_table(coin)
                if coin2 >= table.getn(coin) or coin2 < 1 then return end
                        local coins3 = {
                                {27992, 1000},
                                {27993, 500},
                                {27994, 50},
                        }
                        if pc.count_item(coins3[coin2][1]) < 1 then
                        	chat("No tienes este cupon")
                        	return end
                        	mysql_query("UPDATE account.account SET coins = coins + "..coins3[coin2][2].." WHERE id = "..pc.get_account_id()..";'")
                                notice("Canjeado "..coins3[coin2][2].." Dr´s ")
                                pc.remove_item(coins3[coin2][1])
                        end
                end
        end

 

 

Link to comment
Share on other sites

quest coins begin
	state start begin
		when 27992.use or 27993.use or 27994.use begin
			coins = {
						[27992] = { "Moneda de Oro", 1000},
						[27993] = { "Moneda de Plata", 500},
						[27994] = { "Moneda de Bronce", 250}
					}

			say_title(""..coins[item.get_vnum()][1].."")
			say("Si utilizas esta moneda puedes obtener una")
			say("determinada cantidad de coins canjeables en la")
			say("ItemShop del servidor.")
			say("Con esta "..coins[item.get_vnum()][1].." obtendras "..coins[item.get_vnum()][2].." coins.")
			say("")
			say("¿Quieres canjear la moneda por "..coins[item.get_vnum()][2].." coins?")
			local s = select("Si","No")
			if s == 2 then return end
			say_title(""..coins[item.get_vnum()][1].."")
			say("Felicidades!")
			say("Has obtenido "..coins[item.get_vnum()][2].." coins.")
			say("Entra en la ItemShop de nuestro servidor para")
			say("canjearlas.")
			pc.cambiar_coins(coins[item.get_vnum()][2])
			item.remove()
		end
	end
end

questlua_pc.cpp
#ifdef ENABLE_FUNCION_COINS
int pc_cambiar_coins(lua_State* L)
	{	
		LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
		
		const char * coins = lua_tostring(L, 1);
		
		char szQuerycoins[QUERY_MAX_LEN];
		snprintf(szQuerycoins, sizeof(szQuerycoins), "UPDATE account.account SET coins=coins+'%s' WHERE id=%u", coins, ch->GetDesc()->GetAccountTable().login);
		DBManager::Instance().DirectQuery(szQuerycoins);
		
		db_clientdesc->DBPacket(HEADER_GD_RELOAD_ADMIN, 0, NULL, 0);
		return 0;
	}
#endif

{ "cambiar_coins",			pc_cambiar_coins			},
	
service.h

#define ENABLE_FUNCION_COINS

 

Link to comment
Share on other sites

questlua_pc.cpp
#ifdef ENABLE_FUNCION_COINS
int pc_cambiar_coins(lua_State* L)
	{	
		LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
		
		const char * coins = lua_tostring(L, 1);
		
		char szQuerycoins[QUERY_MAX_LEN];
		snprintf(szQuerycoins, sizeof(szQuerycoins), "UPDATE account.account SET coins=coins+'%s' WHERE id=%u", coins, ch->GetDesc()->GetAccountTable().login);
		DBManager::Instance().DirectQuery(szQuerycoins);
		
		db_clientdesc->DBPacket(HEADER_GD_RELOAD_ADMIN, 0, NULL, 0);
		return 0;
	}
#endif

{ "cambiar_coins",			pc_cambiar_coins			},
	
service.h

#define ENABLE_FUNCION_COINS

donde pongo esto

Link to comment
Share on other sites

hace 22 horas, Dilong dijo:

 

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


quest coins begin
        state start begin
                when 27992.use or 27993.use or 27994.use begin
                say_title("texto")
                say("Cual cupon deseas cambiarlo por Dr´s")
                local coin = {"1000","500","50","Salir"}
                local coin2 = select_table(coin)
                if coin2 >= table.getn(coin) or coin2 < 1 then return end
                        local coins3 = {
                                {27992, 1000},
                                {27993, 500},
                                {27994, 50},
                        }
                        if pc.count_item(coins3[coin2][1]) < 1 then
                        	chat("No tienes este cupon")
                        	return end
                        	mysql_query("UPDATE account.account SET coins = coins + "..coins3[coin2][2].." WHERE id = "..pc.get_account_id()..";'")
                                notice("Canjeado "..coins3[coin2][2].." Dr´s ")
                                pc.remove_item(coins3[coin2][1])
                        end
                end
        end

 

 

la puse no pasa nda no me da el coins ni se va el item etcc

Link to comment
Share on other sites

Sirve, solo faltaba un pequeño tilde o punto en la parte del mysql_query

Spoiler

                        	mysql_query("UPDATE account.account SET coins= coins + "..coins3[coin2][2].." WHERE id= '"..pc.get_account_id().."';")

 

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

Link to comment
Share on other sites

hace 4 minutos, Dilong dijo:

Sirve, solo faltaba un pequeño tilde o punto en la parte del mysql_query

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


                        	mysql_query("UPDATE account.account SET coins= coins + "..coins3[coin2][2].." WHERE id= '"..pc.get_account_id().."';")

 

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

otra cosa ya me jalo pero cuando le pico al 1000coins  me lo da y todo pero lo que pasa es que me vuelve salir las opcion de 1000 y 500 y 250 de coins  en vez de que me diga Gracias por Canejear   y asi 

quest coins begin
        state start begin
                when 500231.use or 500231.use or 500231.use begin
                say_title("Bienvenido Aqui Puedes Escojer la opcion del coins que quieres que te demos")
                say("Lo cual cuando selecciones se te quitara el item y te daran coins")
                local coins = {"1000","500","250","Salir"}
                local coins2 = select_table(coins)
                if coins2 >= table.getn(coins) or coins2 < 1 then return end
                        local coins3 = {
                                {500231, 1000},
                                {500231, 500},
                                {500231, 250},
                        }
                        if pc.count_item(coins3[coins2][1]) < 1 then
                            chat("No tienes este cupon")
                            return end
                            mysql_query("UPDATE account.account SET coins = coins + "..coins3[coins2][2].." WHERE id = "..pc.get_account_id()..";'")
                                notice("Has Recibido "..coins3[coins2][2].." Coins ")
                                pc.remove_item(coins3[coins2][1])
                        end
                end
        end

Link to comment
Share on other sites

si me da los coins y eso ya cheke que se me los dan pero me sale esto que esta en la foto dice que recibe si lo recibe pero me sale la tabla de las opciones de los coins  yo supongo que cuando seleccionas las cantidad del coins  te deve decir recibistes el coins   y  ya se cierra la opciones de donde seleccionamos eso que esta en la foto  nose se me explique 

aqui esta la foto del problema

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

Link to comment
Share on other sites

Vuelve a editarlo de nuevo, pondre la quest ya con el detalle arreglado del mysql_query()

Spoiler

quest coins begin
        state start begin
                when 27992.use or 27993.use or 27994.use begin
                say_title("texto")
                say("Cual cupon deseas cambiarlo por Dr´s")
                local coin = {"1000","500","50","Salir"}
                local coin2 = select_table(coin)
                if coin2 >= table.getn(coin) or coin2 < 1 then return end
                        local coins3 = {
                                {27992, 1000},
                                {27993, 500},
                                {27994, 50},
                        }
                        if pc.count_item(coins3[coin2][1]) < 1 then
                        	chat("No tienes este cupon")
                        	return end
                        	mysql_query("UPDATE account.account SET coins= coins + "..coins3[coin2][2].." WHERE id= '"..pc.get_account_id().."';")
                                notice("Canjeado "..coins3[coin2][2].." Dr´s ")
                                pc.remove_item(coins3[coin2][1])
                        end
                end
        end

 

 

Link to comment
Share on other sites

  • Dilong locked this topic
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...