|
можете посотреть как мне сделать чтоб када заходили было IP игроков , а то у меня их IP токо када они выходят с серва вщть sma. файл--- #include <core> #include <console> #include <string> #include <admin> #include <adminlib>
#define MAX_IPADDRESS 32 #define MAX_IPDESCRIPT 30
new STRING_VERSION[MAX_DATA_LENGTH] = "2.50.1";
new UserIP[MAX_PLAYERS][MAX_IPADDRESS]; new User[MAX_NAME_LENGTH]; new Type[MAX_DATA_LENGTH]; new DFile[MAX_DATA_LENGTH] = "desc_ips.txt"; new IPMessages[MAX_IPDESCRIPT][MAX_DATA_LENGTH]; new NumIPDesc = 0; //Holds number of IPs & Descriptions in file
public get_Descriptions() { new IsFile = 0; new LineNum = 0; new IsLine; new sStr[MAX_DATA_LENGTH]; new Errormsg[MAX_DATA_LENGTH]; IsFile = fileexists(DFile);
if (IsFile > 0) { do { IsLine = readfile(DFile, sStr, LineNum, MAX_DATA_LENGTH); if (IsLine) { if (strncmp(sStr, "//", 2) == 0) { //Ignore comment } else { strcpy(IPMessages[NumIPDesc], sStr, MAX_DATA_LENGTH); NumIPDesc++; //IPMessages has been added increment NumIPDescs say(sStr); } LineNum++; //Increment LinNum } if (NumIPDesc == MAX_IPDESCRIPT) { return PLUGIN_CONTINUE; } } while (IsLine); } else { snprintf(Errormsg, MAX_DATA_LENGTH, "can't find file %s", DFile); say(Errormsg); } return PLUGIN_CONTINUE; }
public admin_showip(HLCommand,HLData,HLUserName,UserIndex){
new i; new maxplayers = maxplayercount(); new Name[MAX_NAME_LENGTH]; new UserID; new WONID; new Team; new Data[MAX_DATA_LENGTH]; new STeam =0; new IP[MAX_DATA_LENGTH]; new IPD[MAX_TEXT_LENGTH]; new IsFlag = 0;
convert_string(HLUserName,User,MAX_NAME_LENGTH); convert_string(HLData,Data,MAX_DATA_LENGTH);
STeam = strtonum(Data); // Номер команды.
if (STeam==1) { messageex(User, "*-------- IP List ---- Terrorists Forces ------------*", print_console); } else if (STeam==2) { messageex(User, "*-------- IP List ---- Counter Terrorists Forces ----*", print_console); } else { messageex(User, "*-------- IP List -----------------------------------*", print_console); }
// Find Users
for(i=1; i<=maxplayers; i++) { if (playerinfo(i,Name,MAX_NAME_LENGTH,UserID,WONID,Team) != 0) {
// Formating Output while(strlen(Name)<=18) { strcat(Name," ",MAX_NAME_LENGTH); }//end while loop
strtok(UserIP[i], ":", IP, MAX_IPADDRESS); strcat(Name,IP,MAX_NAME_LENGTH); IsFlag = findip(IP, IPD); if (IsFlag == 1) { strcat(Name," ",MAX_NAME_LENGTH); strcat(Name,IPD,MAX_NAME_LENGTH); }
//Display it if (STeam!=1 && STeam!=2) { messageex(User, Name, print_console); } else if (STeam==Team && WONID!=0) { messageex(User, Name, print_console); }
}// if }//for
messageex(User, "*------------------------------------------------------*", print_console);
return PLUGIN_HANDLED; }
public admin_ipstatus(HLCommand,HLData,HLUserName,UserIndex) { new Data[MAX_DATA_LENGTH]; new TargetName[MAX_NAME_LENGTH]; new iIndex; new Text[MAX_TEXT_LENGTH]; new SessionID;
convert_string(HLData,Data,MAX_DATA_LENGTH);
if (check_user(Data) == 1) { get_username(Data,TargetName,MAX_NAME_LENGTH); get_userindex(TargetName, iIndex); get_userSessionID (TargetName,SessionID); selfmessage("1. - Keyword 2. - ID 3. - UserName 4. - IP"); selfmessage(""); snprintf(Text, MAX_TEXT_LENGTH,"1. - %s 2. - %i 3.- %s 4. - %s", Data,SessionID,TargetName,UserIP[iIndex]); selfmessage(Text); } else { selfmessage("Unrecognized player: "); selfmessage(Data); } return PLUGIN_HANDLED; }
public findip(searchIp[MAX_DATA_LENGTH], searchDesc[MAX_TEXT_LENGTH]) { new desc[MAX_TEXT_LENGTH]; new ipnum[MAX_TEXT_LENGTH];
for (new i = 0; i < NumIPDesc; i++) { strtok(IPMessages[i], ";", ipnum, MAX_DATA_LENGTH); strtok( "", ";",desc, MAX_DATA_LENGTH); if (strncmp(ipnum, searchIp,strlen(ipnum)) == 0) { searchDesc = desc; return 1; } }//for searchDesc = ""; return 0; }
public plugin_connect(HLUserName, HLIP, UserIndex) { if (UserIndex >= 1 && UserIndex <= MAX_PLAYERS) { strinit(UserIP[UserIndex]); convert_string(HLIP, UserIP[UserIndex], MAX_IPADDRESS); convert_string(HLUserName,User,MAX_NAME_LENGTH); snprintf(Type, MAX_DATA_LENGTH, " %s (%s) incearca sa se conecteze", User, UserIP[UserIndex]); say(Type); } return PLUGIN_CONTINUE; }
public plugin_disconnect(HLUserName, UserIndex) { if (UserIndex >= 1 && UserIndex <= MAX_PLAYERS) { strinit(UserIP[UserIndex]); } return PLUGIN_CONTINUE; }
public plugin_init() { plugin_registerinfo("Admin ShowIP Plugin","Show users by IP address.",STRING_VERSION); plugin_registercmd("admin_showip","admin_showip",ACCESS_ALL,"admin_showip. Shows the ip addresses of clients."); plugin_registercmd("admin_ipstatus","admin_ipstatus",ACCESS_ALL,"Test."); get_Descriptions(); return PLUGIN_CONTINUE; }
|

! |
Запрет на ответ в темах: навсегда Аккаунт пользователя заблокирован до: 2.11.29387, 20:03 |
|