/* Sublime AMXX Editor v3.2 */
// Arraylı dosya kontrolü
#include <amxmodx>
new const sIniFile[] = "addons/amxmodx/configs/fopenkullanim.ini"
new Array:szNames, Array:szAuthID,Array:szIP;
public plugin_cfg() {
new varFOpen = fopen(sIniFile, "rt");
if(varFOpen) {
new iVeri[256],sName[32],sAuthID[32],sIP[32];
while(!feof(varFOpen)) {
fgets(varFOpen, iVeri, charsmax(iVeri));
parse(iVeri, sName, charsmax(sName), sAuthID, charsmax(sAuthID), sIP, charsmax(sIP));
if(equali(sName,""))
continue;
// ini dosyasındaki satırları tek tek array'a yazdırıyoruz.
ArrayPushString(szNames,sName);
ArrayPushString(szAuthID,sAuthID);
ArrayPushString(szIP,sIP);
}
fclose(varFOpen);
}
}
public plugin_precache() {
// arrayları oluşturuyoruz.
szNames = ArrayCreate(33);
szAuthID = ArrayCreate(33);
szIP = ArrayCreate(33);
}
public plugin_init() {
register_plugin("Yeni Eklenti", "1.0", "PawNod'")
register_clcmd("say /sil","@Silici");
}
@Silici(const iPlayer) {
new szCheckName[32],szCheckAuthID[32],Menu = menu_create(fmt("%s", sIniFile), "@Silici_");
for(new i; i < ArraySize(szNames); i++) {
// Arrayları tek tek bir değere kaydettirip tekrar çektiriyoruz.
ArrayGetString(szNames,i,szCheckName,charsmax(szCheckName));
// Array boş ise yazdırmıyoruz.
if(equali(szCheckName,""))
continue;
// Sonra steam id yi de aynı şekilde bir değer yardımı ile çektiriyoruz
ArrayGetString(szAuthID,i,szCheckAuthID,charsmax(szCheckAuthID));
// menüde gösteriyoruz
menu_additem(Menu,fmt("[%s] [%s]",szCheckName,szCheckAuthID),fmt("%i",i));
}
menu_setprop(Menu ,MPROP_EXITNAME,"\wKapat");menu_display(iPlayer, Menu);
}
@Silici_(const iPlayer,const iMenu, const iItem) {
if(iItem == MENU_EXIT) { menu_destroy(iMenu);return PLUGIN_HANDLED; }
new iData[6], iL_Key;
menu_item_getinfo(iMenu, iItem, _, iData, charsmax(iData));
iL_Key = str_to_num(iData);
// tıkladığımız satır array ın olduğu satır onu yönlendirip sildiriyoruz.
@DeleteFile(iL_Key);
@Silici(iPlayer);
menu_destroy(iMenu);return PLUGIN_HANDLED;
}
@DeleteFile(const iSatir) {
// Olduğu satırı sildiriyoruz ve arrayları da temizliyoruz.
write_file(sIniFile,"",iSatir);
ArrayDeleteItem(szNames, iSatir);
ArrayDeleteItem(szIP, iSatir);
ArrayDeleteItem(szAuthID, iSatir);
}