Raised This Month: $ Target: $400
 0% 

.ini writing dont works :/


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
Roccoxx
AlliedModders Donor
Join Date: Jan 2012
Location: Argentina
Old 06-01-2013 , 21:17   .ini writing dont works :/
Reply With Quote #1

hi, sorry for my bad english, i have a problem, when I give ban the user, not stored in the. ini

PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <celltrie>

#define PLUGIN "Ban by Name e ip"
#define VERSION "1.0"
#define AUTHOR "Roccoxx + rak(code del .ini)"

new Trie:g_trie
const ADMIN_FLAG ADMIN_BAN // acceso al menu de ban
new g_maxplayers
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
g_trie TrieCreate( )
    
g_maxplayers get_maxplayers()
    
register_clcmd("say /banmm""show_menu_banear_jugador")
}

public 
plugin_cfg() {
    new 
ConfigDir[256]
    
    
get_configsdir(ConfigDircharsmax(ConfigDir))
    
    
format(ConfigDircharsmax(ConfigDir), "%s/amx_banbyroccoxx.ini"ConfigDir
    
    if(!
file_exists(ConfigDir)) create_file(ConfigDir)
    
    new 
Data[37], File fopen(ConfigDir"rt")
    
    while (!
feof(File)) {
        
        
fgets(FileDatacharsmax(Data))
        
        
trim(Data)
        
        if (
Data[0] == ';' || !Data[0]) 
            continue;
        
        
rak_remove_quotes(Data)
        
        
TrieSetCell(g_trie,Data,1)    
    }
    
    
fclose(File)
}

create_file(ConfigDir[]) {
    
    new 
File fopen(ConfigDir"wt")
    
    
fprintf(File"; Lista de pts baneados^n; File location: $moddir/addons/amxmodx/configs/amx_banbyroccoxx.ini^n^n;Enjoy")
    
    
fclose(File)
}

public 
plugin_end( ) 

    
TrieDestroyg_trie 


public 
client_connect(id){
    new 
name[32], ip[40]
    
get_user_name(idnamecharsmax(name))
    
get_user_ip(idipcharsmax(ip))
    
    if(
TrieKeyExists(g_triename) || TrieKeyExists(g_triename)){
        
server_cmd("kick %s"name)
    }
}

public 
show_menu_banear_jugador(id){
    static 
flagsflags get_user_flags(id)
    if(
flags ADMIN_FLAG){
        new 
menu menu_create("Menu banear hacks""banear_jugador")
        new 
pos[3], name[32]
        for(new 
1<= g_maxplayersi++){
            if(
is_user_connected(i)){
                
get_user_name(inamecharsmax(name))
                
num_to_str(iposcharsmax(pos))
                
menu_additem(menunamepos)
            }
        }
    
        
menu_display(idmenu0)
    }
    else{
        
client_print(idprint_chat"No tienes acceso")
    }
    
    return 
PLUGIN_HANDLED
}

public 
banear_jugador(idmenuitem){
    if(
item == MENU_EXIT || !is_user_connected(id)){
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    new 
iData[6];
    new 
iAccess;
    new 
ip[40]
    new 
iCallback;
    new 
iName[64];
    new 
name[33]
    
get_user_name(idnamecharsmax(name))
    
menu_item_getinfo(menuitemiAccessiData5iName63iCallback)
    new 
iTarget str_to_num(iData);
    
get_user_ip(iTargetipcharsmax(ip))
    
TrieSetCell(g_trieiName1)
    
TrieSetCell(g_trieip1)
    
aniadir_ini(iName)
    
aniadir_ini(ip)
    
server_cmd("kick %s"iName)
    
client_print(0print_chat"%s ha sido baneado por el admin %s"iNamename)
    
    
menu_destroy(menu)
    return 
PLUGIN_HANDLED
}

public 
aniadir_ini(const nombre[]){    
    new 
ConfigDir[256]
    
    
get_configsdir(ConfigDircharsmax(ConfigDir))
    
    
format(ConfigDircharsmax(ConfigDir), "%s/amx_banbyroccoxx.ini"ConfigDir
    
    new 
FileLineData[256]
    
    
File fopen(ConfigDir "rt")
    
    while(!
feof(File)) {
        
        
fgets(FileDatacharsmax(Data))
        
        
trim(Data)
        
        
Line++ 
        
        if (
Data[0] == ';' || !Data[0])
            continue;
            
        
write_file(ConfigDirnombreLine 1
        
        break;
    }
    
    
fclose(File)
}

stock rak_remove_quotes(Args[]) {
    
    static 
n
    
    
if(!Args[0])
        return
    else if(
Args[0] == 34) {
        
        for(
1;/* nothing */n++) {
            
            if(!
Args[n] || Args[n] == 34 && !Args[n+1]) {
                
                
Args[n] = 0
                
                
break;
                
            }
            
            
Args[n-1] = Args[n]
            
        }
    }
    else {
        
        for(
1;/* nothing */n++) {
            
            if(!
Args[n] || Args[n] == 34 && !Args[n+1]) {
                
                
Args[n] = 0
                
                
break;
                
            }
        }    
    }

__________________
Tutorials here (Spanish)

Like as another Pijudo said: "Tired and retired"
Roccoxx is offline
Send a message via MSN to Roccoxx
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 16:27.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode