rendered paste body if(strcmp(cmd, "/makeadmin", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(!PlayerAt(20,playerid,1500.0000,-887.0979,32.5584))
{
GetPlayerName(playerid, findtarget, sizeof(findtarget));
if(IsAdmin(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, lightred, "Makeadmin usage || /makeadmin [playerid/PartOfName]");
return 1;
}
new adminP;
adminP = ReturnUser(tmp);
if(IsPlayerConnected(adminP))
{
if(adminP != INVALID_PLAYER_ID)
{
new givenP;
givenP = ReturnUser(tmp);
new stringx[60];
GetPlayerName(givenP, sender, sizeof(sender));
format(stringx, sizeof(stringx), "You gave %s admin rights", sender);
SendClientMessage(playerid, lightblue2, stringx);
new string2[60];
GetPlayerName(playerid, findtarget, sizeof(findtarget));
format(string2, sizeof(string2), "%s has given you admin rights", findtarget);
SendClientMessage(playerid, lightblue2, string2);
if(!fexist("names.ini"))
{
fcreate("names.ini");
new File: files = fopen("names.ini", io_append);
new adminstring[256];
GetPlayerName(adminP, findtarget, sizeof(findtarget));
format(adminstring, sizeof(adminstring), "%s", findtarget);
fwrite(files, adminstring);
fclose(files);
}
else
{
// fcreate("names.ini");
// }+++++++
new File: files = fopen("names.ini", io_append);
new adminstring[256];
GetPlayerName(adminP, findtarget, sizeof(findtarget));
format(adminstring, sizeof(adminstring), "\r\n%s", findtarget);
fwrite(files, adminstring);
fclose(files);
}
if(!fexist("ip.ini"))
{
fcreate("ip.ini");
new File: files1 = fopen("ip.ini", io_append);
new adminstring2[256];
GetPlayerIp(adminP, sender, 7);
format(adminstring2, sizeof(adminstring2), "%s", sender);
fwrite(files1, adminstring2);
fclose(files1);
}
else
{
new File: files1 = fopen("ip.ini", io_append);
new adminstring2[256];
GetPlayerIp(adminP, sender, 7);
format(adminstring2, sizeof(adminstring2), "\r\n%s", sender);
fwrite(files1, adminstring2);
fclose(files1);
}
}
}
}
else
{
SendClientMessage(playerid, lightred, "You dont have access to that command");
}
}
else
{
SendClientMessage(playerid, lightred, "Incorrect playerid/name");
}
}
return 1;
}
// above is how i make people admins, so thats is the writing part.
//below reading part
public IsAdmin(playerid)
{
new string[256];
new string2[256];
new name[MAX_PLAYER_NAME];
new ip[8];
GetPlayerName(playerid, name, sizeof(name));
GetPlayerIp(playerid, ip, sizeof(ip));
new File:filename = fopen("names.ini", io_read);
new File:filename2 = fopen("ip.ini", io_read);
if(filename)
{
new MyVal[256];
while(fread(filename, string))
{
if(strcmp(string, name, true, 24)==0)
{
MyVal[255]=GetVal(2, string);
if(filename2)
{
new MyVal2[256];
while(fread(filename2, string2))
{
if(strcmp(string2, ip, true, 7)==0)
{
MyVal2[255]=GetVal(2, string2);
return 1;
}
}
}
}
}
}
else{
SendClientMessage(playerid, lightred, "You are not authorized to use that admin command");
}
fclose(filename);
return 0;
}
//ah and you need that nipplet.
GetVal(numb, str[]) {
new tmp[256], idx;
for(new i=0; i<numb; i++) {
tmp=strtok(str, idx);
}
return strval(tmp);
}
//good luck, dont mind the spacing.. im lazy.