formatex(q_command,511,"UPDATE `%s` SET `nick`='%s',`sid`='%s',`lvl`='%i',`exp`='%i',`str`='%i',`int`='%i',`dex`='%i',`agi`='%i' WHERE `ip`='%s' AND `klasa`='%i', `art`='%i', `wyt`='%i', `mana`='%i', `zloto`='%i'",g_sqlTable,name,sid,player_lvl[id],player_xp[id],player_strength[id],player_intelligence[id],player_dextery[id],player_agility[id],ip,player_class[id], player_artefakt[id], player_wytrzymalosc[id], player_mana[id], player_zloto[id]);
}
Składnia polecenia UPDATE:
UPDATE nazwa_tabeli SET kolumna1=wartosc1, kolumna2=wartosc2, kolumnan=wartoscn WHERE warunek AND warunek;
Popraw warunki
xp_now = float(player_xp[id])-float( LevelXP[player_lvl[id]-1])
To lepiej wykonać funkcją floatsub https://amxx.pl/doku...a/f942/floatsub
new Float:hpprocent = (float(get_user_health(id)) / float(maxhealth)) * 100.0
Tu tak samo, masz do tego funkcje gotowe.
show_hudmessage(id, "[Zdrowie: %i | %i%%]^n[Mana: %i | Zloto %i]^n[Przedmiot: %s]^n[Wytrzymalosc: %i]", hp, hpprocent, player_mana[id], player_zloto[id], player_item_name[id], item_durability[id])
Podwójny procent ?
"[Zdrowie: %i | %i%%]
Teraz będzie dobrze?
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', `art`='%i', `wyt`='%i', `mana`='%i', `zloto`='%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_artefakt[id],player_wytrzymalosc[id],player_mana[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', `art`='%i', `wyt`='%i', `mana`='%i', `zloto`='%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_artefakt[id],player_wytrzymalosc[id],player_mana[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', `art`='%i', `wyt`='%i', `mana`='%i', `zloto`='%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],sid,player_artefakt[id],player_wytrzymalosc[id],player_mana[id],player_zloto[id],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', `art`='%i', `wyt`='%i', `mana`='%i', `zloto`='%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_artefakt[id],player_wytrzymalosc[id],player_mana[id],player_zloto[id],player_class[id]);
}
}
SQL_ThreadQuery(g_SqlTuple, "Save_xp_handle", q_command);
player_xp_old[id] = player_xp[id];
}
}
else sql_start();
}
Ten kod "%0.1f%%" wyświetla:
A ja próbuje osiągnąć: