átírva sql-esre, korábbi hsz-ben lévő steam id-val való tárolással kiegészítve, m4ai-ak47 kiírás javítva.
Köszi DeRoiD az alapot
tábla létrehozás:
Kód:
CREATE TABLE IF NOT EXISTS `oles_szam` (
`uid` varchar(20) NOT NULL,
`ak47` int(10) NOT NULL DEFAULT '0',
`m4a1` int(10) NOT NULL DEFAULT '0',
`awp` int(10) NOT NULL DEFAULT '0',
UNIQUE KEY `uid` (`uid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SMA Forráskód: [ Mindet kijelol ]
#include <amxmodx>
#include <amxmisc>
//#include <nvault>
#include <fakemeta>
// #include <nvault>
#include <sqlx>
#define PLUGIN "Arany fegyverek olestol"
#define VERSION "1.1"
#define AUTHOR "DeRoiD"
new ak47_jatekosnezet[] = "models/arany_fegyverek/v_ak47.mdl"
new awp_jatekosnezet[] = "models/arany_fegyverek/v_awp.mdl"
new m4a1_jatekosnezet[] = "models/arany_fegyverek/v_m4a1.mdl"
new ak47_kivulnezet[] = "models/arany_fegyverek/p_ak47.mdl"
new awp_kivulnezet[] = "models/arany_fegyverek/p_awp.mdl"
new m4a1_kivulnezet[] = "models/arany_fegyverek/p_m4a1.mdl"
new ak47_oles[33], m4a1_oles[33], awp_oles[33]
new ak47_ertek, awp_ertek, m4a1_ertek
public plugin_precache()
{
precache_model(ak47_jatekosnezet)
precache_model(ak47_kivulnezet)
precache_model(m4a1_jatekosnezet)
precache_model(m4a1_kivulnezet)
precache_model(awp_jatekosnezet)
precache_model(awp_kivulnezet)
}
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("CurWeapon", "fegyver_valtas", "be", "1=1")
register_event("DeathMsg","halal","a")
register_clcmd("say /oleseim","lekeres")
register_clcmd("say /mykills","lekeres")
ak47_ertek = register_cvar("ak47_ertek","250")
awp_ertek = register_cvar("awp_ertek","200")
m4a1_ertek = register_cvar("m4a1_ertek","250")
register_cvar("amx_sql_host", "127.0.0.1")
register_cvar("amx_sql_user", "root")
register_cvar("amx_sql_pass", "")
register_cvar("amx_sql_db", "amx")
register_cvar("amx_sql_type", "mysql")
new configsDir[64]
get_configsdir(configsDir, 63)
server_cmd("exec %s/sql.cfg", configsDir)
}
public fegyver_valtas(id)
{
new fegyver = get_user_weapon(id)
if(ak47_oles[id] >= get_pcvar_num(ak47_ertek) && fegyver == CSW_AK47)
{
set_pev(id, pev_viewmodel2, ak47_jatekosnezet)
set_pev(id, pev_weaponmodel2, ak47_kivulnezet)
}
if(awp_oles[id] >= get_pcvar_num(awp_ertek) && fegyver == CSW_AWP)
{
set_pev(id, pev_viewmodel2, awp_jatekosnezet)
set_pev(id, pev_weaponmodel2, awp_kivulnezet)
}
if(m4a1_oles[id] >= get_pcvar_num(m4a1_ertek) && fegyver == CSW_M4A1)
{
set_pev(id, pev_viewmodel2, m4a1_jatekosnezet)
set_pev(id, pev_weaponmodel2, m4a1_kivulnezet)
}
}
public halal()
{
new attacker = read_data(1)
new victim = read_data(2)
if(attacker == victim)
{
return PLUGIN_HANDLED;
}
if(get_user_weapon(attacker) == CSW_AWP)
{
awp_oles[attacker]++
}
else if(get_user_weapon(attacker) == CSW_AK47)
{
ak47_oles[attacker]++
}
else if(get_user_weapon(attacker) == CSW_M4A1)
{
m4a1_oles[attacker]++
}
return PLUGIN_HANDLED
}
public lekeres(id)
{
client_print(id,print_chat,"[Arany fegyverek - Olesek] AK47 : %d / M4A1 : %d / AWP : %d",ak47_oles[id],m4a1_oles[id],awp_oles[id])
}
public mentes(id)
{
/*
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s", name)
format(vaultdata,255,"%i#%i#%i#",m4a1_oles[id],ak47_oles[id],awp_oles[id])
nvault_set(vault,vaultkey,vaultdata)
*/
new AuthId[32]
get_user_authid(id, AuthId, 31)
new error[128], errno
new Handle:info = SQL_MakeStdTuple()
new Handle:sql = SQL_Connect(info, errno, error, 127)
new Handle:query = SQL_PrepareQuery(sql, "INSERT INTO `oles_szam` (`uid`, `m4a1`, `ak47`, `awp`) VALUES ('%s',%d,%d,%d) ON DUPLICATE KEY UPDATE `m4a1`=VALUES(`m4a1`), `ak47`=VALUES(`ak47`), `awp`=VALUES(`awp`)", sqlesc(AuthId),m4a1_oles[id],ak47_oles[id],awp_oles[id])
if (!SQL_Execute(query))
server_print("[aranyskin] Hiba tortent a lekeres soran. #2")
return PLUGIN_CONTINUE
}
public betoltes(id)
{
new AuthId[32]
get_user_authid(id, AuthId, 31)
new error[128], errno
new Handle:info = SQL_MakeStdTuple()
new Handle:sql = SQL_Connect(info, errno, error, 127)
new Handle:query = SQL_PrepareQuery(sql, "SELECT * FROM `oles_szam` WHERE `uid` = '%s'", AuthId)
if (!SQL_Execute(query))
server_print("[aranyskin] Hiba tortent a lekeres soran. #1")
else if (!SQL_NumResults(query)) {
m4a1_oles[id] = 0
ak47_oles[id] = 0
awp_oles[id] = 0
} else {
new qcol_m4a1 = SQL_FieldNameToNum(query, "m4a1")
new qcol_ak47 = SQL_FieldNameToNum(query, "ak47")
new qcol_awp = SQL_FieldNameToNum(query, "awp")
m4a1_oles[id]= SQL_ReadResult(query, qcol_m4a1);
ak47_oles[id]= SQL_ReadResult(query, qcol_ak47);
awp_oles[id] = SQL_ReadResult(query, qcol_awp);
SQL_FreeHandle(query)
SQL_FreeHandle(sql)
SQL_FreeHandle(info)
}
return PLUGIN_CONTINUE
}
//https://forums.alliedmods.net/showpost.php?p=1849660&postcount=7 (nagyon) kicsit átírva <!-- s:D --><img src=\"{SMILIES_PATH}/icon_e_biggrin.gif\" alt=\":D\" title=\"nagyon boldog\" /><!-- s:D -->
#define SECURE_NAME_LEN 31 * 2 + 1
sqlesc(const name[])
{
new secureName[SECURE_NAME_LEN];
copy(secureName, charsmax(secureName), name);
replace_all(secureName, charsmax(secureName), "\", "\\");
replace_all(secureName, charsmax(secureName), "`", "\`");
replace_all(secureName, charsmax(secureName), "'", "\'");
return secureName;
}
public client_connect(id)
{
betoltes(id)
}
public client_disconnect(id)
{
mentes(id)
}