Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Zmiana zapisu


  • Zamknięty Temat jest zamknięty
2 odpowiedzi w tym temacie

#1 GoldenKill

    Guru

  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 04.09.2013 16:08

Witam

 

Tak jak w temacie chciałem zmienić zapis z klasy na nick dla złota oto public

 

Chodzi mi tylko aby zapisało się samo złoto na nicku a nie na klasie jednej

public SaveXP(id) {
	if(g_boolsqlOK) {
		if(!is_user_bot(id) && player_xp[id] != player_xp_old[id]) {
			new name[48], ip[32], sid[32], q_command[512];
			
			get_user_name(id, name, 47);
			get_user_ip(id, ip, 31, 1);
			get_user_authid(id, sid, 31);
			
			replace_all(name, 47, "'", "\'");
			
			switch(get_cvar_num("diablo_sql_save")) {
				case 0:
				{
					formatex(q_command,511,"UPDATE `%s` SET `ip`='%s',`sid`='%s',`lvl`='%i',`exp`='%i',`str`='%i',`int`='%i',`dex`='%i',`agi`='%i',`reg`='%i',`obr`='%i',`gra`='%i',`men`='%i',`zlo`='%i' WHERE `nick`='%s' AND `klasa`='%i'",g_sqlTable,ip,sid,player_lvl[id],player_xp[id],player_strength[id],player_intelligence[id],player_dextery[id],player_agility[id],player_regeneracja[id],player_obrazenia[id],player_grawitacja[id],player_men[id],player_zloto[id],name,player_class[id]);
				}
				case 1:
				{
					formatex(q_command,511,"UPDATE `%s` SET `nick`='%s',`sid`='%s',`lvl`='%i',`exp`='%i',`str`='%i',`int`='%i',`dex`='%i',`agi`='%i',`reg`='%i',`obr`='%i',`gra`='%i',`men`='%i',`zlo`='%i' WHERE `ip`='%s' AND `klasa`='%i'",g_sqlTable,name,sid,player_lvl[id],player_xp[id],player_strength[id],player_intelligence[id],player_dextery[id],player_agility[id],player_regeneracja[id],player_obrazenia[id],player_grawitacja[id],player_men[id],player_zloto[id],ip,player_class[id])
				}
				case 2:
				{
					formatex(q_command,511,"UPDATE `%s` SET `nick`='%s',`ip`='%s',`lvl`='%i',`exp`='%i',`str`='%i',`int`='%i',`dex`='%i',`agi`='%i',`reg`='%i',`obr`='%i',`gra`='%i',`men`='%i',`zlo`='%i' WHERE `sid`='%s' AND `klasa`='%i'",g_sqlTable,name,ip,player_lvl[id],player_xp[id],player_strength[id],player_intelligence[id],player_dextery[id],player_agility[id],player_regeneracja[id],player_obrazenia[id],player_grawitacja[id],player_men[id],player_zloto[id],sid,player_class[id])
				}
				default:{
					formatex(q_command,511,"UPDATE `%s` SET `ip`='%s',`sid`='%s',`lvl`='%i',`exp`='%i',`str`='%i',`int`='%i',`dex`='%i',`agi`='%i' WHERE `nick`='%s' AND `klasa`='%i'",g_sqlTable,ip,sid,player_lvl[id],player_xp[id],player_strength[id],player_intelligence[id],player_dextery[id],player_agility[id],name,player_class[id]);
				}
			}
			
			SQL_ThreadQuery(g_SqlTuple, "Save_xp_handle", q_command);
			
			player_xp_old[id] = player_xp[id];
		}
	}
	else sql_start();
}

public Save_xp_handle(FailState, Handle:Query, Error[], Errcode, Data[], DataSize) {
	if(FailState == TQUERY_CONNECT_FAILED) {
		log_to_file("diablo.log", "Could not connect to SQL database.");
		return PLUGIN_CONTINUE;
	}
	if(FailState == TQUERY_QUERY_FAILED) {
		log_to_file("diablo.log", "Save_xp Query failed.");
		return PLUGIN_CONTINUE;
	}
	if(Errcode) {
		log_to_file("diablo.log", "Error on Save_xp query: %s", Error);
		return PLUGIN_CONTINUE;
	}
	
	return PLUGIN_CONTINUE;
}

public LoadXP(id, klasa) {
	if(is_user_bot(id) || asked_sql[id] || klasa == NONE)
		return PLUGIN_HANDLED;
	
	if(g_boolsqlOK) {
		new data[2];
		data[0] = id;
		data[1] = klasa;
		
		new name[48], q_command[512];
		
		switch(get_cvar_num("diablo_sql_save")) {
			case 0: {
				get_user_name(id, name, 47);
				replace_all(name, 47, "'", "\'");
				formatex(q_command, 511, "SELECT * FROM `%s` WHERE `nick`='%s' AND `klasa`='%i'", g_sqlTable, name, klasa);
			}
			case 1: {
				get_user_ip(id, name, 31, 1)
				formatex(q_command, 511, "SELECT * FROM `%s` WHERE `ip`='%s' AND `klasa`='%i'", g_sqlTable, name, klasa);
			}
			case 2: {
				get_user_authid(id, name, 31)
				formatex(q_command, 511, "SELECT * FROM `%s` WHERE `sid`='%s' AND `klasa`='%i'", g_sqlTable, name, klasa);
			}
			default: {
				get_user_name(id, name, 47);
				replace_all(name, 47, "'", "\'");
				formatex(q_command, 511, "SELECT * FROM `%s` WHERE `nick`='%s' AND `klasa`='%i'", g_sqlTable, name, klasa);
			}
		}
		
		SQL_ThreadQuery(g_SqlTuple, "Load_xp_handle", q_command, data, 2);
		
		asked_sql[id] = 1;
	}
	else sql_start();
	
	return PLUGIN_HANDLED;
}

public Load_xp_handle(FailState, Handle:Query, Error[], Errcode, Data[], DataSize) {
	new id = Data[0];
	asked_sql[id] = 0;
	
	if(FailState == TQUERY_CONNECT_FAILED) {
		log_to_file("diablo.log", "Could not connect to SQL database.");
		return PLUGIN_CONTINUE;
	}
	if(FailState == TQUERY_QUERY_FAILED) {
		log_to_file("diablo.log", "Load_xp Query failed.");
		return PLUGIN_CONTINUE;
	}
	if(Errcode) {
		log_to_file("diablo.log", "Error on Load_xp query: %s", Error);
		return PLUGIN_CONTINUE;
	}
	
	new klasa = Data[1];
	
	if(SQL_MoreResults(Query)) {
		player_class[id] = klasa;
		player_lvl[id] = player_class_lvl[id][klasa];
		player_xp[id] =	SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "exp"));
		player_xp_old[id] = player_xp[id];
		
		player_intelligence[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "int"));
		player_strength[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "str"));
		player_agility[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "agi"));
		player_regeneracja[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"reg"));
		player_obrazenia[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"obr"));
		player_grawitacja[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"gra"));
		player_men[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"men"));
		player_dextery[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "dex"));
		player_zloto[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "zlo"));
		
		player_point[id] = (player_lvl[id]-1)*2-player_intelligence[id]-player_strength[id]-player_dextery[id]-player_agility[id]-player_regeneracja[id]-player_obrazenia[id]-player_grawitacja[id]-player_men[id];
		if(player_point[id] < 0) player_point[id] = 0;
		player_damreduction[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(player_agility[id])))/100);
	}
	else
		create_klass(id, klasa);
	
	return PLUGIN_CONTINUE;
}

public LoadAVG()
{
	if(g_boolsqlOK)
	{
		new data[2]
		data[0]= get_cvar_num("diablo_avg")
		
		if(data[0])
		{
			for(new i=1;i<15;i++)
			{
				new q_command[512]
				data[1]=i
				//format(q_command,511,"SELECT AVG(`lvl`) FROM `%s` WHERE `lvl` > '%d' AND `klasa`='%d'", g_sqlTable, data[0]-1,i)
				format(q_command,511,"SELECT `klasa`,AVG(`lvl`) AS `AVG` FROM `%s` WHERE `lvl` > '%d' GROUP BY `klasa`", g_sqlTable, data[0]-1)
				SQL_ThreadQuery(g_SqlTuple,"Load_AVG_handle",q_command,data,2)
				
			}
			
		}
	}
	else sql_start()
	return PLUGIN_HANDLED
} 

public Load_AVG_handle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
	if(Errcode)
	{
		log_to_file("addons/amxmodx/logs/diablo.log","Error on Load_AVG query: %s",Error)
	}
	if(FailState == TQUERY_CONNECT_FAILED)
	{
		log_to_file("addons/amxmodx/logs/diablo.log","Could not connect to SQL database.")
		return PLUGIN_CONTINUE
	}
	else if(FailState == TQUERY_QUERY_FAILED)
	{
		log_to_file("addons/amxmodx/logs/diablo.log","Load_AVG Query failed.")
		return PLUGIN_CONTINUE
	}
	/*   
	if(SQL_MoreResults(Query))
	{
		new Float: avg
		SQL_ReadResult(Query, 0, avg)
		srv_avg[Data[1]]=floatround(avg)
		//client_print(0,print_chat,"srednia: %f",srv_avg)
	}*/
	
	while(SQL_MoreResults(Query))
	{
		new i = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "klasa"))
		srv_avg[i] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "AVG"))
		SQL_NextRow(Query)
	}
	if(olny_one_time==0)
	{
		olny_one_time=1
		look_for_none()
	}
	return PLUGIN_CONTINUE
}


  • +
  • -
  • 0

#2 GoldenKill

    Guru

  • Autor tematu
  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 07.09.2013 21:23

Do zamknięcia


  • +
  • -
  • 0

#3 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 08.09.2013 18:50

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych