#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <colorchat>
#include <csstats>
#include <fakemeta>
#include <cstrike>
#include <fun>
#include <sqlx>
#include <dhudmessage>
#include <hamsandwich>
#define PLUGIN "Kés rendszer"
#define VERSION "2.3.7"
#define AUTHOR "~BoNe" //Ne Ărd átt köszi.
//Kellék Részleg*
#pragma tabsize 0
new oles[33]
new knife_model[33]
new name[33][32]
//============Chat Prefix Részleg*================//
new const chatPrefix[] = "^4[-[Cocaine]-]";
new const menuPrefix[] = "[-[Cocaine]-]-|Painball-|";
//SQL Részleg*
new const SQL_INFO[][] = {
"..........", // Kiszolgáló
"........", // Felhasználó
".........", // JelszĂł
"........." // AdatBázis
}
new Handle:g_SqlTuple;
//FegyverNév Részleg*
new const FegyverNev[][] =
{
"Kés 1",
"Kés 2 ",
"Kés 3",
"Kés 4",
"Kés 5",
"FPS KÉS 6"
};
//Fegyverek Skin Részleg*
new const m_Knife[][] =
{
"models/cocaine_pb/v_kes1.mdl",
"models/cocaine_pb/v_kes2.mdl",
"models/cocaine_pb/v_kes3.mdl",
"models/cocaine_pb/v_kes4.mdl",
"models/cocaine_pb/v_kes5.mdl",
"models/cocaine_pb/v_fps_kes6.mdl"
};
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_impulse(201,"fomenu"); //FÄąâ€menĂĽ ElÄąâ€hivás
set_task(90.0, "hirdess", 2000, _, _, "b"); //Hirdetés
register_event("CurWeapon", "fegyverid", "be", "1=1"); //Fegyver Váltás
register_event("DeathMsg", "Halal", "a"); //Halál
}
public Halal(){
new killer = read_data(1)
new victim = read_data(2)
if(killer == victim)
return PLUGIN_HANDLED
oles[killer]++
return PLUGIN_HANDLED
}
public plugin_precache()
{
// Skinek Lekérése Részleg *
for(new i;i < sizeof(m_Knife); i++)
{
precache_model(m_Knife[i]);
}
}
public fegyverid(id)
{
new weapon = get_user_weapon(id)
for(new i;i < sizeof(m_Knife); i++)
if(knife_model[id] == 1 && weapon == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/cocaine_pb/v_kes1.mdl")
}
if(knife_model[id] == 2 && weapon == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/cocaine_pb/v_kes2.mdl")
}
if(knife_model[id] == 3 && weapon == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/cocaine_pb/v_kes3.mdl")
}
if(knife_model[id] == 4 && weapon == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/cocaine_pb/v_kes4.mdl")
}
if(knife_model[id] == 5 && weapon == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/cocaine_pb/v_kes5.mdl")
}
if(knife_model[id] == 6 && weapon == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/cocaine_pb/v_fps_kes6.mdl")
}
}
public hirdess(id)
{
ColorChat(0, GREEN, "^3%s^1Szerveren ^3BoNe* ^2Ăltal KĂ©szitet ^3MĂłd Futt!", chatPrefix);
}
public InfoHud(id)
{
set_hudmessage(random(255), random(255), random(255), 0.01, 0.15, 0, 6.0, 1.1, 0.0, -1)
show_hudmessage(id, "^nÖléseid: [%i]", oles[id])
}
public fomenu(id)
{
new String[121];
format(String, charsmax(String), " %s^n\dÖléseid: [%d]", menuPrefix[id], oles[id]);
new menu = menu_create(String, "fomenu_h");
menu_additem(menu, "\y[\rKés Skin\y]", "1", 0);
menu_additem(menu, "\y[\rVip Vásárlás\y]", "2", 0);
menu_additem(menu, "\y[\rSzerver Információ\y]", "3", 0);
menu_additem(menu, "\y[\rTop 15\y]", "4", 0);
menu_display(id, menu, 0)
}
public fomenu_h(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return;
}
new data[9], szName[64], Nev[32];
get_user_name(id, Nev, 31);
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 1: knifeskin(id);
case 3: show_motd(id, "addons/amxmodx/configs/serverinfo.txt", "TGF");
case 4: client_cmd(id,"say /top15");
}
}
public knifeskin(id)
{
new String[96]
format(String, charsmax(String), "\w%s \dÖlések: [%d]", menuPrefix, oles[id])
new menu = menu_create(String, "knifeskin_h" )
formatex(String, charsmax(String), oles[id] >= 200 ? ("\y Kés 1 \r[Megszerezve]"):("\d Kés 1 \r[200 Ölés]"), oles[id], 200);
menu_additem(menu, String, "1");
formatex(String, charsmax(String), oles[id] >= 250 ? ("\y Kés 2 \r[Megszerezve]"):("\d Kés 2 \r[250 Ölés]"), oles[id], 250);
menu_additem(menu, String, "2");
formatex(String, charsmax(String), oles[id] >= 300 ? ("\y Kés 3 \r[Megszerezve]"):("\d Kés 3 \r[300 Ölés]"), oles[id], 300);
menu_additem(menu, String, "3");
formatex(String, charsmax(String), oles[id] >= 350 ? ("\y Kés 4 \r[Megszerezve]"):("\d Kés 4 \r[350 Ölés]"), oles[id], 350);
menu_additem(menu, String, "4");
formatex(String, charsmax(String), oles[id] >= 400 ? ("\y Kés 5 \r[Megszerezve]"):("\d Kés 5 \r[400 Ölés]"), oles[id], 400);
menu_additem(menu, String, "5");
formatex(String, charsmax(String), oles[id] >= 0 ? ("\y FPS Kés 6 \y[\wIngyenes használat\y]"):("\d FPS Kés 6 \r[0 Ölés]"), oles[id], 0);
menu_additem(menu, String, "6");
menu_display(id, menu, 0);
}
public knifeskin_h(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return;
}
new data[9], szName[64], Nev[32];
get_user_name(id, Nev, 31);
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 1:{
if(oles[id] >= 200)
{
knife_model[id] = 1
ColorChat(0, GREEN, "[-[Cocaine]-] ^x01 Sikeres válásztás!", chatPrefix);
}
else
{
ColorChat(id, GREEN, "[-[Cocaine]-] ^x01 Hiányzik még %d ölés!", 200-oles[id]);
}
}
case 2:{
if(oles[id] >= 250)
{
knife_model[id] = 2
ColorChat(0, GREEN, "[-[Cocaine]-] ^x01 Sikeres válásztás!", chatPrefix);
}
else
{
ColorChat(id, GREEN, "[-[Cocaine]-] ^x01 Hiányzik még %d ölés!", 250-oles[id]);
}
}
case 3:{
if(oles[id] >= 300)
{
knife_model[id] = 3
ColorChat(0, GREEN, "[-[Cocaine]-] ^x01 Sikeres válásztás!", chatPrefix);
}
else
{
ColorChat(id, GREEN, "[-[Cocaine]-] ^x01 Hiányzik még %d ölés!", 300-oles[id]);
}
}
case 4:{
if(oles[id] >= 350)
{
knife_model[id] = 4
ColorChat(0, GREEN, "[-[Cocaine]-] ^x01 Sikeres válásztás!", chatPrefix);
}
else
{
ColorChat(id, GREEN, "[-[Cocaine]-] ^x01 Hiányzik még %d ölés!", 350-oles[id]);
}
}
case 5:{
if(oles[id] >= 400)
{
knife_model[id] = 5
ColorChat(0, GREEN, "[-[Cocaine]-] ^x01 Sikeres válásztás!", chatPrefix);
}
else
{
ColorChat(id, GREEN, "[-[Cocaine]-] ^x01 Hiányzik még %d ölés!", 400-oles[id]);
}
}
case 6:{
if(oles[id] >= 0)
{
knife_model[id] = 6
ColorChat(0, GREEN, "[-[Cocaine]-] ^x01 Sikeresen kiválasztottad az ^4FPS^x01-kést!", chatPrefix);
}
else
{
ColorChat(id, GREEN, "[-[Cocaine]-] ^x01 Hiányzik még %d ölés!", 0-oles[id]);
}
}
}
}
public plugin_cfg() {
new Query[512];
g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
formatex(Query, charsmax(Query), "CREATE TABLE IF NOT EXISTS `BoNeMod` (`username` varchar(32) NOT NULL,`oles` int(11) NOT NULL,`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
}
public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
if(FailState == TQUERY_CONNECT_FAILED)
set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
else if(FailState == TQUERY_QUERY_FAILED)
set_fail_state("Query Error");
if(Errcode)
log_amx("Hibat dobtam: %s",Error);
}
public client_putinserver(id) {
if(!is_user_bot(id)) {
get_user_name(id, name[id], charsmax(name))
load(id)
}
}
public load(id) {
new Query[512], Data[1]
Data[0] = id
formatex(Query, charsmax(Query), "SELECT * FROM `BoNeMod` WHERE username = ^"%s^";", name[id])
SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1)
}
public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
log_amx("%s", Error)
return
}
else {
new id = Data[0];
if(SQL_NumRows(Query) > 0) {
oles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "oles"))
}
else {
save(id)
}
}
}
public save(id) {
new text[512];
formatex(text, charsmax(text), "INSERT INTO `BoNeMod` (`username`, `oles`) VALUES (^"%s^", ^"0^");", name[id])
SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
}
public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
log_amx("%s", Error)
return
}
}
public update(id) {
new text[512];
formatex(text, charsmax(text), "UPDATE `BoNeMod` SET oles = ^"%i^" WHERE username = ^"%s^";", oles[id], name[id])
SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
}
public client_disconnect(id) {
if(!is_user_bot(id)) {
update(id)
}
oles[id] = 0
copy(name[id], charsmax(name[]), "")
}
public plugin_end() {
SQL_FreeHandle(g_SqlTuple)
}