Kod: Tümünü seç
#pragma semicolon 1
#include <amxmodx>
#include <reapi_reunion>
#define ADMIN_ADDSTEAM ADMIN_BAN
new const iChatTag[] = "^4forum.csd :";
new const szSteamList[] = "addons/amxmodx/configs/steampluslar.ini";
native csd_checkuserac(id);
public plugin_init(){
register_plugin("Steam+ Checker", "0.1", "` BesTCore;");
register_clcmd("amx_addsteam", "clcmd_addsteam");
}
public clcmd_addsteam(const id){
if(~get_user_flags(id) & ADMIN_ADDSTEAM){
client_print_color(id, id, "%s ^3Bu komutu kullanmak icin yetkin yok.", iChatTag);
return PLUGIN_HANDLED;
}
new szArg[32];
read_argv(1, szArg, charsmax(szArg));
if(szArg[0] == EOS){
return PLUGIN_HANDLED;
}
new pPlayer, iFile, iFiles, pPlayerSteam[MAX_AUTHID_LENGTH];
pPlayer = find_player("bl", szArg);
iFile = fopen(szSteamList, "a+");
iFiles = fopen(szSteamList, "r");
get_user_authid(pPlayer, pPlayerSteam, charsmax(pPlayerSteam));
if(!pPlayer){
client_print_color(id, id, "%s ^3Oyuncu bulunamadi.", iChatTag);
return PLUGIN_HANDLED;
}
if(iFiles){
new szBuffer[MAX_FMT_LENGTH], iSteamid[MAX_AUTHID_LENGTH];
while(fgets(iFiles, szBuffer, charsmax(szBuffer))){
trim(szBuffer);
if(szBuffer[0] == EOS || szBuffer[0] == ';'){
continue;
}
parse(szBuffer, iSteamid, charsmax(iSteamid));
if(equal(pPlayerSteam, iSteamid)){
client_print_color(id, id, "%s ^3Eklemeye calistiginiz oyuncunun steamidsi zaten kayitli.", iChatTag);
return PLUGIN_HANDLED;
}
}
fclose(iFiles);
}
if(iFile){
fprintf(iFile, "%s // Oyuncu Adi: %n^n", pPlayerSteam, pPlayer);
client_print_color(0, 0, "^1%n^3 adli admin^1 %n^3 adli oyuncuyu zorunlu^4 Steam+^3 kontrolune ekledi.", id, pPlayer);
fclose(iFile);
}
return PLUGIN_HANDLED;
}
public client_putinserver(id){
if(is_user_steam(id)){
set_task(2.0, "UnSteamPlusKick", id);
}
}
public UnSteamPlusKick(const id){
new iFile = fopen(szSteamList, "r");
if(iFile){
new szBuffer[MAX_FMT_LENGTH], szSteamid[2][MAX_AUTHID_LENGTH];
get_user_authid(id, szSteamid[0], charsmax(szSteamid));
while(fgets(iFile, szBuffer, charsmax(szBuffer))){
trim(szBuffer);
if(szBuffer[0] == EOS || szBuffer[0] == ';'){
continue;
}
parse(szBuffer, szSteamid[1], charsmax(szSteamid));
if(equal(szSteamid[0], szSteamid[1]) && !csd_checkuserac(id)){
server_cmd("kick #%d ^"Steam+ kurmadigin icin sunucudan atildin.", get_user_userid(id));
client_print_color(0, 0, "^1%n ^3adli oyuncu ^4Steam+^3 kurmadigi icin sunucudan atildi.", id);
break;
}
}
fclose(iFile);
}
}