Senior Member
Join Date: Mar 2017
Location: India
|
05-06-2018
, 03:15
Re: [HELP] Replace a line from .ini
|
#26
|
Okay, so my problem is it replaces all the lines in the file.
Example :
Code:
[REQUEST] 1(STEAM_ID_LAN) : 1111111111
[REQUEST] 2(STEAM_ID_LAN) : 2222222222
[REQUEST] 3(STEAM_ID_LAN) : +913333333333
After replacing by nick "2":
Code:
[REQUEST] 2(STEAM_ID_LAN) : 1231231231
[REQUEST] 2(STEAM_ID_LAN) : 1231231231
[REQUEST] 2(STEAM_ID_LAN) : 1231231231
[REQUEST] 2(STEAM_ID_LAN) : 1231231231
Full Code
PHP Code:
#include <amxmodx>
#define PLUGIN "Whatsapp_Group_Request" #define VERSION "2.1" #define AUTHOR "CrAzY MaN"
#define ADMIN_FLAG ADMIN_BAN
new const xPrefix[] = "!g[Whatsapp Group]!n"
new const gBlockTexts[][] = { "`", "~", "!", "@", "#", "$", "%", "^^", "&", "*", "(", ")", "-", "_", "=", "[", "]", "{", "}", "\", "|", ";", ":", " ", "'", "^"", ",", ".", "<", ">", "/", "?" }
new iRequestsFile[64], FileName[64], g_iSayText, g_szName[32], g_szAuthID[32], Number[64];
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_cvar(PLUGIN, VERSION, FCVAR_SERVER|FCVAR_SPONLY); register_clcmd("say /whatsapp", "MainMenu"); register_clcmd("say whatsapp", "MainMenu"); register_dictionary("whatsapp_group_request.txt") register_concmd("Type_Your_Whatsapp_Number", "Request_To_Add"); //REQUESTING TO ADD register_concmd("Type_Your_New_Number", "Update_Number"); //REQUESTING TO ADD register_concmd("amx_viewrequests", "View_Requests"); //VIEW REQUESTS TO ADMIN g_iSayText = get_user_msgid("SayText") FileName = "whatsapp_group_request.ini"; //YOU CAN SEE REQUESTS IN THIS FILE formatex(iRequestsFile, charsmax(iRequestsFile), "addons/amxmodx/configs/whatsapp_group_request.ini"); }
public MainMenu(id) { new menu = menu_create("\wWant to \rjoin \wour \yWhatsapp Group\y?", "main_menu_handler");
menu_additem(menu, "Yes", "", 0); // case 0 menu_additem(menu, "Update My Number", "", 0); // case 1 menu_additem(menu, "No", "", 0); // case 2
menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER); // REMOVES EXIT BUTTON FROM MENU menu_display(id, menu, 0);
return PLUGIN_HANDLED; }
public main_menu_handler(id, menu, item) { switch(item) { //YES case 0 : { client_cmd(id, "messagemode Type_Your_Whatsapp_Number"); ColorChat(id, "%L",LANG_PLAYER, "ENTER_NUM"); menu_destroy(menu); } // UPDATE MY NUMBER case 1 : { client_cmd(id, "messagemode Type_Your_New_Number"); ColorChat(id, "%L",LANG_PLAYER, "ENTER_NUM"); menu_destroy(menu); } //NO case 2 : { ColorChat(id, "%L",LANG_PLAYER, "DENIED"); menu_destroy(menu); } } menu_destroy(menu); MainMenu(id); return PLUGIN_HANDLED; } public Request_To_Add(id) { new szData[128], iFIle, bool:requested = false; get_user_name(id, g_szName, charsmax(g_szName)); get_user_authid(id, g_szAuthID, charsmax(g_szAuthID)); if(file_exists(iRequestsFile)) { iFIle = fopen(iRequestsFile, "rt"); while(!feof(iFIle)) { fgets(iFIle, szData, charsmax(szData)); if(!szData[0] || szData[0] == ';' || szData[0] == ' ' || ( szData[0] == '/' && szData[1] == '/' )) continue; if(containi(szData, g_szName) == -1) continue; else requested = true; break; } fclose(iFIle); if(requested) { ColorChat(id, "%L",LANG_PLAYER, "ALREADY_REQUESTED1"); ColorChat(id, "%L",LANG_PLAYER, "ALREADY_REQUESTED2"); return PLUGIN_HANDLED; } } read_argv(1, Number, 63); //CHECKS IF NUMBER IS CORRECT OR NOT for(new i = 0; i < sizeof(gBlockTexts); i++) { if(containi(Number, gBlockTexts[i]) != -1) { ColorChat(id, "%L",LANG_PLAYER, "WRONG_NUM") return PLUGIN_HANDLED; } } for(new i; i <= strlen(Number); i++) { if((isalpha(Number[i])) || (strlen(Number) < 10) || (strlen(Number) > 14) || ((Number[0] == '+') && (strlen(Number) < 12)) || ((Number[0] != '+') && (strlen(Number) >10))) { ColorChat(id, "%L",LANG_PLAYER, "WRONG_NUM") return PLUGIN_HANDLED; } } iFIle = fopen(iRequestsFile, "at"); //FORMAT IN THE FILE formatex(szData, charsmax(szData), "^n[REQUEST] %s(%s) : %s", g_szName, g_szAuthID, Number) fputs(iFIle, szData); fclose(iFIle); ColorChat(id, "%L",LANG_PLAYER, "NUM_ADDED_MSG_PLAYER"); ColorChat(0, "%L", LANG_PLAYER, "NUM_ADDED_MSG_ALL1", g_szName); ColorChat(0, "%L",LANG_PLAYER, "NUM_ADDED_MSG_ALL2"); return PLUGIN_CONTINUE; }
public Update_Number(id) { get_user_name(id, g_szName, charsmax(g_szName)); new newNumber[64] read_argv(1, newNumber, 63); //CHECKS IF NUMBER IS CORRECT OR NOT for(new i = 0; i < sizeof(gBlockTexts); i++) { if(containi(newNumber, gBlockTexts[i]) != -1) { ColorChat(id, "%L",LANG_PLAYER, "WRONG_NUM") return PLUGIN_HANDLED; } } for(new i; i <= strlen(newNumber); i++) { if((isalpha(newNumber[i])) || (strlen(newNumber) < 10) || (strlen(newNumber) > 14) || ((newNumber[0] == '+') && (strlen(newNumber) < 12)) || ((newNumber[0] != '+') && (strlen(newNumber) >10))) { ColorChat(id, "%L",LANG_PLAYER, "WRONG_NUM") return PLUGIN_HANDLED; } } new FilePointer = fopen(iRequestsFile, "rt") if(FilePointer) { new TempFilePath[256]; formatex(TempFilePath, charsmax(TempFilePath), "addons/amxmodx/configs/tempfile.ini") new InputFilePointer = fopen(TempFilePath, "wt") if(InputFilePointer) { new FileData[128] while(!feof(FilePointer)) { fgets(FilePointer, FileData, charsmax(FileData)) trim(FileData) if(contain(FileData, g_szName)) { fprintf(InputFilePointer, "^n[REQUEST] %s(%s) : %s", g_szName, g_szAuthID, newNumber) continue; } else { fprintf(InputFilePointer, "^n%s", FileData) } break; } fclose(InputFilePointer) fclose(FilePointer) delete_file(iRequestsFile) rename_file("addons/amxmodx/configs/tempfile.ini", "addons/amxmodx/configs/whatsapp_group_request.ini", 1) ColorChat(0, "%L", LANG_PLAYER, "NUM_ADDED_MSG_ALL1", g_szName); ColorChat(0, "%L",LANG_PLAYER, "NUM_ADDED_MSG_ALL2");
return PLUGIN_CONTINUE; } } return PLUGIN_HANDLED; } public View_Requests(id) { if(!(get_user_flags(id) & ADMIN_FLAG)) { client_print(id, print_console, "%L", LANG_PLAYER, "MSGC_ACCESS_DENIED"); return PLUGIN_HANDLED; } if(!file_exists(iRequestsFile)) { client_print(id, print_console, "%L", LANG_PLAYER, "MSGC_FILE_NOT_EXIST"); return PLUGIN_HANDLED; } new szData[128], f; client_print(id, print_console, "%L", LANG_PLAYER, "MSGC_AMX_VIEWREQUESTS"); f = fopen(iRequestsFile, "rt"); while(!feof(f)) { fgets(f, szData, charsmax(szData)) trim(szData); client_print(id, print_console, szData) } fclose(f); return PLUGIN_HANDLED; }
stock ColorChat(const id, const szInput[], any:...) { new iPlayers[32], iCount = 1 static szMessage[191] vformat(szMessage, charsmax(szMessage), szInput, 3) format(szMessage[0], charsmax(szMessage), "%s %s",xPrefix, szMessage) replace_all(szMessage, charsmax(szMessage), "!g", "^4") replace_all(szMessage, charsmax(szMessage), "!n", "^1") replace_all(szMessage, charsmax(szMessage), "!t", "^3") if(id) iPlayers[0] = id else get_players(iPlayers, iCount, "ch") for(new i, iPlayer; i < iCount; i++) { iPlayer = iPlayers[i] if(is_user_connected(iPlayer)) { message_begin(MSG_ONE_UNRELIABLE, g_iSayText, _, iPlayer) write_byte(iPlayer) write_string(szMessage) message_end() } } }
The problem is in this part but i couldn't find out!
PHP Code:
public Update_Number(id) { get_user_name(id, g_szName, charsmax(g_szName)); new newNumber[64] read_argv(1, newNumber, 63); //CHECKS IF NUMBER IS CORRECT OR NOT for(new i = 0; i < sizeof(gBlockTexts); i++) { if(containi(newNumber, gBlockTexts[i]) != -1) { ColorChat(id, "%L",LANG_PLAYER, "WRONG_NUM") return PLUGIN_HANDLED; } } for(new i; i <= strlen(newNumber); i++) { if((isalpha(newNumber[i])) || (strlen(newNumber) < 10) || (strlen(newNumber) > 14) || ((newNumber[0] == '+') && (strlen(newNumber) < 12)) || ((newNumber[0] != '+') && (strlen(newNumber) >10))) { ColorChat(id, "%L",LANG_PLAYER, "WRONG_NUM") return PLUGIN_HANDLED; } } new FilePointer = fopen(iRequestsFile, "rt") if(FilePointer) { new TempFilePath[256]; formatex(TempFilePath, charsmax(TempFilePath), "addons/amxmodx/configs/tempfile.ini") new InputFilePointer = fopen(TempFilePath, "wt") if(InputFilePointer) { new FileData[128] while(!feof(FilePointer)) { fgets(FilePointer, FileData, charsmax(FileData)) trim(FileData) if(contain(FileData, g_szName)) { fprintf(InputFilePointer, "^n[REQUEST] %s(%s) : %s", g_szName, g_szAuthID, newNumber) continue; } else { fprintf(InputFilePointer, "^n%s", FileData) } break; } fclose(InputFilePointer) fclose(FilePointer) delete_file(iRequestsFile) rename_file("addons/amxmodx/configs/tempfile.ini", "addons/amxmodx/configs/whatsapp_group_request.ini", 1) ColorChat(0, "%L", LANG_PLAYER, "NUM_ADDED_MSG_ALL1", g_szName); ColorChat(0, "%L",LANG_PLAYER, "NUM_ADDED_MSG_ALL2");
return PLUGIN_CONTINUE; } } return PLUGIN_HANDLED; }
__________________
Last edited by CrAzY MaN; 05-06-2018 at 03:17.
|
|