Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <a_mysql>
- /*
- >> Description:
- >> Filterscript: kAdmin System [MySQL]
- >> Author: kaZax
- >> Version: 0.1
- >> DataBase: MySQL BlueG Plugin R8
- >> Commands:
- - /goto [id]
- - /get [id]
- - /chat
- - /admins
- - /setadmin [id] [lvl]
- - /kick [id] [reason]
- - /ban [id] [reason]
- - /mute [id] [reason]
- - /unmute [id]
- - /freeze [id] [reason]
- - /unfreeze [id]
- */
- #define white 0xFFFFFFFF
- #define green 0x00FF00FF
- #define red 0xFF0000FF
- #define skyblue 0x00BFFFFF
- #define D_REGISTER 0
- #define D_LOGIN 1
- #define D_ADMINS 2
- #define D_INFO 3
- #define SQL_DEBUG 1
- #define SQL_HOST "localhost"
- #define SQL_DB "basename"
- #define SQL_USER "user"
- #define SQL_PASS "pass"
- #define SQL_TABLE "CREATE TABLE IF NOT EXISTS `users` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(24) NOT NULL,`pass` varchar(48) NOT NULL,`admin` int(11) NOT NULL,`heal` float NOT NULL, `armour` float NOT NULL,`kills` int(11) NOT NULL,`deaths` int(11) NOT NULL,`money` int(11) NOT NULL,`mute` int(1) NOT NULL,`ban` int(1) NOT NULL,`freeze` int(1) NOT NULL,`regdate` varchar(24) NOT NULL, `lastip` varchar(24) NOT NULL, `skinid` int(3) NOT NULL, PRIMARY KEY (`id`))"
- enum STRUCT
- {
- id,
- pass[48],
- admin,
- Float:heal,
- Float:armour,
- kills,
- deaths,
- money,
- mute,
- ban,
- freeze,
- regdate[24],
- skinid,
- bool:logged
- };
- new data[MAX_PLAYERS][STRUCT];
- new handle;
- new bool:chaton = true;
- forward OnPlayerConnectResponse(playerid);
- forward CreateAccount(playerid);
- forward SendQuery();
- forward AccountsCount();
- public OnFilterScriptInit()
- {
- new count = GetTickCount();
- print(">> kA: Updates check on the OpenSourceCode.ru");
- print(">> kA: kAdmin System Loading ...");
- mysql_debug(SQL_DEBUG);
- handle = mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
- mysql_function_query(handle,SQL_TABLE, false, "SendQuery", "");
- mysql_function_query(handle,"SELECT * FROM `users`", true, "AccountsCount","");
- mysql_function_query(handle,"SET NAMES 'cp1251'", false, "SendQuery","");
- mysql_function_query(handle,"SET CHARACTER SET 'cp1251'", false, "SendQuery","");
- printf(">> kA: kAdmin System loaded in %d ms.", GetTickCount() - count);
- return 1;
- }
- public OnFilterScriptExit()
- {
- mysql_close(handle);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- ClearPlayerVariables(playerid);
- new query[128];
- format(query,sizeof(query),"SELECT * FROM `users` WHERE name = '%s'",gn(playerid));
- mysql_function_query(handle,query, true, "OnPlayerConnectResponse","d", playerid);
- SetPVarInt(playerid, "ChangeSkin", 1);
- TogglePlayerSpectating(playerid, 1);
- return 1;
- }
- public OnPlayerDisconnect(playerid,reason)
- {
- SavePlayerVariables(playerid);
- ClearPlayerVariables(playerid);
- return 1;
- }
- public OnPlayerConnectResponse(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- new rows, fields;
- cache_get_data(rows, fields, handle);
- if(rows)
- {
- data[playerid][id] = cache_get_row_int(0,0,handle);
- cache_get_row(0, 2, data[playerid][pass], handle, 48);
- data[playerid][admin] = cache_get_row_int(0,3,handle);
- data[playerid][heal] = cache_get_row_float(0, 4, handle);
- data[playerid][armour] = cache_get_row_float(0, 5, handle);
- data[playerid][kills] = cache_get_row_int(0, 6,handle);
- data[playerid][deaths] = cache_get_row_int(0, 7,handle);
- data[playerid][money] = cache_get_row_int(0, 8,handle);
- data[playerid][mute] = cache_get_row_int(0, 9,handle);
- data[playerid][ban] = cache_get_row_int(0, 10,handle);
- data[playerid][freeze] = cache_get_row_int(0, 11,handle);
- cache_get_row(0, 12, data[playerid][regdate], handle, 24);
- data[playerid][skinid] = cache_get_row_int(0, 14,handle);
- ShowLoginDialog(playerid);
- }
- else ShowRegisterDialog(playerid);
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == D_REGISTER)
- {
- if(!response)
- {
- SendClientMessage(playerid,red,"Для игры на сервере нужна регистрация");
- ShowRegisterDialog(playerid);
- return 0;
- }
- if(strlen(inputtext) < 4)
- {
- SendClientMessage(playerid,white,"Пароль не меньше 4 символов!");
- ShowRegisterDialog(playerid);
- return 0;
- }
- format(data[playerid][pass],48,"%s",inputtext);
- data[playerid][heal] = 100.0;
- data[playerid][armour] = 100.0;
- data[playerid][logged] = true;
- new query[384],Year, Month, Day;
- getdate(Year, Month, Day);
- format(data[playerid][regdate],24,"%02d/%02d/%d", Day, Month, Year);
- format(query,sizeof(query),"INSERT INTO `users`(name,admin,heal,armour,kills,deaths,money,mute,ban,freeze,pass,regdate,lastip,skinid) VALUES (\'%s\',\'%d\',\'%f\',\'%f\',\'%d\',\'%d\',\'%d\',\'%d\',\'%d\',\'%d\',\'%s\',\'%s\',\'%s\',\'%d\')",
- gn(playerid),data[playerid][admin],data[playerid][heal],data[playerid][armour],data[playerid][kills],data[playerid][deaths],data[playerid][money],data[playerid][mute],data[playerid][ban],data[playerid][freeze],data[playerid][pass],data[playerid][regdate],ip(playerid),data[playerid][skinid]);
- mysql_function_query(handle,query, false, "CreateAccount","d", playerid);
- format(query,sizeof(query),">> Успешная регистрация! Имя: %s || Пароль: %s",gn(playerid),data[playerid][pass]);
- SendClientMessage(playerid,green,query);
- Login(playerid);
- return 1;
- }
- if(dialogid == D_LOGIN)
- {
- if(!response)return KickEx(playerid,"Не ввел пароль.");
- if(strcmp(data[playerid][pass], inputtext, true))return ShowLoginDialog(playerid,true), 0;
- Login(playerid);
- }
- if(data[playerid][logged] == false)return 0;
- return 0;
- }
- public CreateAccount(playerid)
- {
- data[playerid][id] = mysql_insert_id();
- return 1;
- }
- public SendQuery()
- {
- return 1;
- }
- public AccountsCount()
- {
- new rows, fields;
- cache_get_data(rows, fields, handle);
- printf(">> kA: Аккаунтов всего: %d", rows);
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- if(data[playerid][logged] == false)return 0;
- if(data[playerid][mute])return SendClientMessage(playerid,red,">> Вы не можете писать в чат!"),0;
- if(chaton == false && data[playerid][admin] == 0)return SendClientMessage(playerid,red,">> Чат отключен администратором!"),0;
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(data[playerid][logged] == false)return 0;
- new p[2][128], cmd[128], idx;
- cmd = strtok(cmdtext, idx);
- if(!strcmp(cmd, "/goto", true))
- {
- if(data[playerid][admin] < 2)return SendClientMessage(playerid,red,">> Команда для администраторов выше 2 уровня!");
- p[0] = strtok(cmdtext,idx);
- if(!strlen(p[0]))return SendClientMessage(playerid,red,">> /goto [id]");
- if(!IsPlayerConnected(strval(p[0])))return SendClientMessage(playerid,red,">> Игрок не подключен!");
- new Float:pos[3],str[256];
- GetPlayerPos(strval(p[0]),pos[0],pos[1],pos[2]);
- if(IsPlayerInAnyVehicle(playerid))
- {
- SetVehiclePos(GetPlayerVehicleID(playerid),pos[0],pos[1],pos[2]);
- LinkVehicleToInterior(GetPlayerVehicleID(playerid), GetPlayerInterior(strval(p[0])));
- SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetPlayerVirtualWorld(strval(p[0])));
- }
- else
- {
- SetPlayerPos(playerid,pos[0],pos[1],pos[2]);
- SetPlayerInterior(playerid,GetPlayerInterior(strval(p[0])));
- SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(strval(p[0])));
- }
- format(str,sizeof str,"Вы телепортировались к %s[id: %d]",gn(strval(p[0])),strval(p[0]));
- SendClientMessage(playerid,white,str);
- format(str,sizeof str,"К вам телепортировался администратор %s[id: %d]",gn(playerid),playerid);
- SendClientMessage(strval(p[0]),white,str);
- return 1;
- }
- if(!strcmp(cmd, "/get", true))
- {
- if(data[playerid][admin] < 2)return SendClientMessage(playerid,red,">> Команда для администраторов выше 2 уровня!");
- p[0] = strtok(cmdtext,idx);
- if(!strlen(p[0]))return SendClientMessage(playerid,red,">> /get [id]");
- if(!IsPlayerConnected(strval(p[0])))return SendClientMessage(playerid,red,">> Игрок не подключен!");
- if(data[strval(p[0])][admin] > data[playerid][admin])return SendClientMessage(playerid,red,">> Вы не можете телепортировать администратора вышего вас уровнем!");
- new Float:pos[3],str[256];
- GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
- if(IsPlayerInAnyVehicle(strval(p[0])))
- {
- SetVehiclePos(GetPlayerVehicleID(strval(p[0])),pos[0],pos[1],pos[2]);
- LinkVehicleToInterior(GetPlayerVehicleID(strval(p[0])), GetPlayerInterior(playerid));
- SetVehicleVirtualWorld(GetPlayerVehicleID(strval(p[0])), GetPlayerVirtualWorld(playerid));
- }
- else
- {
- SetPlayerPos(strval(p[0]),pos[0],pos[1],pos[2]);
- SetPlayerInterior(strval(p[0]),GetPlayerInterior(playerid));
- SetPlayerVirtualWorld(strval(p[0]),GetPlayerVirtualWorld(playerid));
- }
- format(str,sizeof str,"Администратор %s[id: %d] телепортировал вас к себе.",gn(playerid),playerid);
- SendClientMessage(strval(p[0]),white,str);
- format(str,sizeof str,"Вы телепортировали игрока %s[id: %d] к себе.",gn(strval(p[0])),strval(p[0]));
- SendClientMessage(playerid,white,str);
- return 1;
- }
- if(!strcmp(cmdtext, "/chat", true))
- {
- if(data[playerid][admin] < 4)return SendClientMessage(playerid,red,">> Команда для администраторов выше 3 уровня!");
- new str[256];
- if(chaton)
- {
- chaton = false;
- format(str,sizeof str,"{FFFF00}Администратор %s[id: %d] отключил чат. Писать в чат могут только администраторы!",gn(playerid),playerid);
- SendClientMessage(playerid,white,">> Для включение чата повторно введите команду /chat");
- }
- else
- {
- chaton = true;
- format(str,sizeof str,"Администратор %s[id: %d] включил чат.",gn(playerid),playerid);
- }
- SendClientMessageToAll(green,str);
- return 1;
- }
- if(!strcmp(cmdtext, "/mystats", true))
- {
- new info[1024],muted[12],freezed[12];
- if(data[playerid][mute])format(muted,sizeof muted,"Да");
- else format(muted,sizeof muted,"Нет");
- if(data[playerid][freeze])format(freezed,sizeof freezed,"Да");
- else format(freezed,sizeof freezed,"Нет");
- format(info,sizeof info,">> IP: \t\t\t%s\n\
- >> Имя: \t\t%s\n\
- >> Игрок №: \t\t%d\n\
- >> Деньги: \t\t%d\n\
- >> Смертей: \t\t%d\n\
- >> Заткнут: \t\t%s\n\
- >> Убийства: \t\t%d\n\
- >> ID Скина: \t\t%d\n\
- >> Заморожен: \t%s\n\
- >> Админ Лвл: \t%d\n\
- >> Рег. Дата: \t\t%s",ip(playerid),gn(playerid),data[playerid][id],GetPlayerMoney(playerid),data[playerid][deaths],muted,data[playerid][kills],GetPlayerSkin(playerid),freezed,data[playerid][admin],data[playerid][regdate]);
- ShowPlayerDialog(playerid,D_INFO,DIALOG_STYLE_MSGBOX,"Информация",info,"okay","");
- return 1;
- }
- if(!strcmp(cmd, "/unfreeze", true))
- {
- if(data[playerid][admin] < 4)return SendClientMessage(playerid,red,">> Команда для администраторов выше 3 уровня!");
- p[0] = strtok(cmdtext,idx);
- if(!strlen(p[0]))return SendClientMessage(playerid,red,">> /unfreeze [id]");
- if(!IsPlayerConnected(strval(p[0])))return SendClientMessage(playerid,red,">> Игрок не подключен!");
- if(!data[strval(p[0])][freeze])return SendClientMessage(playerid,red,">> Игрок не заморожен!");
- new str[384];
- format(str,sizeof(str),">> Администратор %s[id: %d] разморозил игрока %s[id: %d].",gn(playerid),playerid,gn(strval(p[0])),strval(p[0]));
- SendClientMessageToAll(red,str);
- print(str);
- data[playerid][freeze] = 0;
- TogglePlayerControllable(playerid,1);
- return 1;
- }
- if(!strcmp(cmd, "/freeze", true))
- {
- if(data[playerid][admin] < 4)return SendClientMessage(playerid,red,">> Команда для администраторов выше 3 уровня!");
- p[0] = strtok(cmdtext,idx);
- if(!strlen(p[0]))return SendClientMessage(playerid,red,">> /freeze [id] [причина]");
- if(!IsPlayerConnected(strval(p[0])))return SendClientMessage(playerid,red,">> Игрок не подключен!");
- p[1] = strtok(cmdtext, idx);
- if(!strlen(p[1]))return SendClientMessage(playerid,red,">> /freeze [id] [причина]");
- new str[384];
- format(str,sizeof(str),">> Администратор %s[id: %d] заморозил игрока %s[id: %d]. Причина: %s",gn(playerid),playerid,gn(strval(p[0])),strval(p[0]),p[1]);
- SendClientMessageToAll(red,str);
- print(str);
- data[playerid][freeze] = 1;
- TogglePlayerControllable(playerid,0);
- return 1;
- }
- if(!strcmp(cmd, "/unmute", true))
- {
- if(data[playerid][admin] < 4)return SendClientMessage(playerid,red,">> Команда для администраторов выше 3 уровня!");
- p[0] = strtok(cmdtext,idx);
- if(!strlen(p[0]))return SendClientMessage(playerid,red,">> /unmute [id]");
- if(!IsPlayerConnected(strval(p[0])))return SendClientMessage(playerid,red,">> Игрок не подключен!");
- if(!data[strval(p[0])][mute])return SendClientMessage(playerid,red,">> Игрок не заткнут!");
- new str[384];
- format(str,sizeof(str),">> Администратор %s[id: %d] снял бан чата у игрока %s[id: %d].",gn(playerid),playerid,gn(strval(p[0])),strval(p[0]));
- SendClientMessageToAll(red,str);
- print(str);
- data[playerid][mute] = 0;
- return 1;
- }
- if(!strcmp(cmd, "/mute", true))
- {
- if(data[playerid][admin] < 4)return SendClientMessage(playerid,red,">> Команда для администраторов выше 3 уровня!");
- p[0] = strtok(cmdtext,idx);
- if(!strlen(p[0]))return SendClientMessage(playerid,red,">> /mute [id] [причина]");
- if(!IsPlayerConnected(strval(p[0])))return SendClientMessage(playerid,red,">> Игрок не подключен!");
- p[1] = strtok(cmdtext, idx);
- if(!strlen(p[1]))return SendClientMessage(playerid,red,">> /mute [id] [причина]");
- new str[384];
- format(str,sizeof(str),">> Администратор %s[id: %d] заткнул игрока %s[id: %d]. Причина: %s",gn(playerid),playerid,gn(strval(p[0])),strval(p[0]),p[1]);
- SendClientMessageToAll(red,str);
- print(str);
- data[playerid][mute] = 1;
- return 1;
- }
- if(!strcmp(cmd, "/ban", true))
- {
- if(data[playerid][admin] < 4)return SendClientMessage(playerid,red,">> Команда для администраторов выше 4 уровня!");
- p[0] = strtok(cmdtext,idx);
- if(!strlen(p[0]))return SendClientMessage(playerid,red,">> /ban [id] [причина]");
- if(!IsPlayerConnected(strval(p[0])))return SendClientMessage(playerid,red,">> Игрок не подключен!");
- p[1] = strtok(cmdtext, idx);
- if(!strlen(p[1]))return SendClientMessage(playerid,red,">> /ban [id] [причина]");
- new str[384];
- format(str,sizeof(str),">> Администратор %s[id: %d] забанил игрока %s[id: %d]. Причина: %s",gn(playerid),playerid,gn(strval(p[0])),strval(p[0]),p[1]);
- SendClientMessageToAll(red,str);
- print(str);
- BanEx(playerid,str);
- return 1;
- }
- if(!strcmp(cmd, "/kick", true))
- {
- if(data[playerid][admin] < 4)return SendClientMessage(playerid,red,">> Команда для администраторов выше 4 уровня!");
- p[0] = strtok(cmdtext,idx);
- if(!strlen(p[0]))return SendClientMessage(playerid,red,">> /kick [id] [причина]");
- if(!IsPlayerConnected(strval(p[0])))return SendClientMessage(playerid,red,">> Игрок не подключен!");
- p[1] = strtok(cmdtext, idx);
- if(!strlen(p[1]))return SendClientMessage(playerid,red,">> /kick [id] [причина]");
- new str[384];
- format(str,sizeof(str),">> Администратор %s[id: %d] кикнул игрока %s[id: %d]. Причина: %s",gn(playerid),playerid,gn(strval(p[0])),strval(p[0]),p[1]);
- SendClientMessageToAll(red,str);
- print(str);
- Kick(playerid);
- return 1;
- }
- if(!strcmp(cmd, "/setadmin", true))
- {
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,red,">> Вы не Rcon администратор!");
- p[0] = strtok(cmdtext, idx);
- if(!strlen(p[0]))return SendClientMessage(playerid,red,">> /setadmin [id] [lvl]");
- if(!IsPlayerConnected(strval(p[0])))return SendClientMessage(playerid,red,">> Игрок не подключен!");
- p[1] = strtok(cmdtext, idx);
- if(!strlen(p[1]))return SendClientMessage(playerid,red,">> /setadmin [id] [lvl]");
- if(strval(p[1]) > 5 || strval(p[1]) < 0)return SendClientMessage(playerid,red,">> Уровень от 0 до 5");
- data[strval(p[0])][admin] = strval(p[1]);
- new str[256];
- format(str,sizeof(str),">> Игрок %s[id: %d] получил права администратора уровнем %d",gn(strval(p[0])),strval(p[0]),strval(p[1]));
- SendClientMessageToAll(skyblue,str);
- return 1;
- }
- if(!strcmp(cmdtext, "/admins", true))
- {
- new admins[1024],str[100];
- for(new i;i<MAX_PLAYERS;i++)
- {
- if(IsPlayerConnected(i) && data[i][admin])
- {
- format(str,sizeof(str),"{ffffff}ID: {00ff00}%d{ffffff} | {00ff00}%s{ffffff} | LVL: {00ff00}%d\n",i,gn(i),data[i][admin]);
- strcat(admins,str);
- }
- }
- if(!strlen(admins))format(admins,sizeof(admins),"{ff0000}.: Все админы OFFLINE :.");
- ShowPlayerDialog(playerid, D_ADMINS, DIALOG_STYLE_MSGBOX, "ADMINS ONLINE", admins, "oKay", "");
- return 1;
- }
- return 0;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- data[playerid][deaths]++;
- return 1;
- }
- public OnPlayerRequestClass(playerid,classid)
- {
- if(GetPVarInt(playerid, "ChangeSkin"))
- {
- SetPlayerSkin(playerid,data[playerid][skinid]);
- DeletePVar(playerid,"ChangeSkin");
- }
- return 1;
- }
- SavePlayerVariables(playerid)
- {
- if(data[playerid][logged])
- {
- GetPlayerArmour(playerid, data[playerid][armour]);
- GetPlayerHealth(playerid, data[playerid][heal]);
- new query[384];
- format(query,sizeof(query),"UPDATE `users` SET pass='%s',admin='%d',heal='%.1f',armour='%.1f',kills='%d',deaths='%d',money='%d',mute='%d',ban='%d',freeze='%d',lastip='%s',skinid='%d' WHERE id='%d'",
- data[playerid][pass],data[playerid][admin],data[playerid][heal],data[playerid][armour],GetPlayerScore(playerid),data[playerid][deaths],GetPlayerMoney(playerid),data[playerid][mute],data[playerid][ban],data[playerid][freeze],ip(playerid),GetPlayerSkin(playerid),data[playerid][id]);
- mysql_function_query(handle,query, false, "SendQuery","");
- }
- }
- Login(playerid)
- {
- TogglePlayerSpectating(playerid, 0);
- if(data[playerid][ban])
- {
- SendClientMessage(playerid,red,">> Этот аккаунт забанен на сервере");
- BanEx(playerid,"Account is banned");
- return 0;
- }
- if(data[playerid][freeze])TogglePlayerControllable(playerid,0);
- SetPlayerHealth(playerid,data[playerid][heal]);
- SetPlayerArmour(playerid,data[playerid][armour]);
- SetPlayerScore(playerid, data[playerid][kills]);
- ResetPlayerMoney(playerid);
- GivePlayerMoney(playerid, data[playerid][money]);
- data[playerid][logged] = true;
- SendClientMessage(playerid,green,">> Успешно вошли в свой аккаунт! Узнать статистику можно по команде: /mystats");
- return 1;
- }
- ShowRegisterDialog(playerid)
- {
- new msgbox[256];
- format(msgbox,sizeof(msgbox),"{00BFFF}Добро пожаловать на сервер!\n\
- {00BFFF}Ваш аккаунт не зарегистрирован.\n\
- {00FF00}>>{00BFFF}Ping: {ffffff}%d\n\
- {00FF00}>>{00BFFF}Nick: {ffffff}%s\n\
- {00FF00}>>{00BFFF}IP: {ffffff}\t%s\n\
- {00BFFF}Введите ваш пароль:",GetPlayerPing(playerid),gn(playerid),ip(playerid));
- ShowPlayerDialog(playerid,D_REGISTER,DIALOG_STYLE_INPUT,"Регистрация аккаунта",msgbox,"Ввести","Отмена");
- }
- ShowLoginDialog(playerid,bool:warning = false)
- {
- new msgbox[256];
- if(warning)
- {
- format(msgbox,sizeof(msgbox),"{00BFFF}Добро пожаловать на сервер!\n\
- {00BFFF}Ваш аккаунт зарегистрирован.\n\
- {00FF00}>>{00BFFF}Ping: {ffffff}%d\n\
- {00FF00}>>{00BFFF}Nick: {ffffff}%s\n\
- {00FF00}>>{00BFFF}IP: {ffffff}\t%s\n\
- {00BFFF}Введите ваш пароль:\n\
- {ff0000}Неверный пароль!",GetPlayerPing(playerid),gn(playerid),ip(playerid));
- }
- else
- {
- format(msgbox,sizeof(msgbox),"{00BFFF}Добро пожаловать на сервер!\n\
- {00BFFF}Ваш аккаунт зарегистрирован.\n\
- {00FF00}>>{00BFFF}Ping: {ffffff}%d\n\
- {00FF00}>>{00BFFF}Nick: {ffffff}%s\n\
- {00FF00}>>{00BFFF}IP: {ffffff}\t%s\n\
- {00BFFF}Введите ваш пароль:",GetPlayerPing(playerid),gn(playerid),ip(playerid));
- }
- ShowPlayerDialog(playerid,D_LOGIN, DIALOG_STYLE_INPUT, "Вход в аккаунт", msgbox, "Войти", "Выход");
- return 0;
- }
- ClearPlayerVariables(playerid)
- {
- format(data[playerid][pass],48,"");
- data[playerid][admin] = 0;
- data[playerid][heal] = 0.0;
- data[playerid][armour] = 0.0;
- data[playerid][kills] = 0;
- data[playerid][deaths] = 0;
- data[playerid][money] = 0;
- data[playerid][mute] = 0;
- data[playerid][ban] = 0;
- data[playerid][freeze] = 0;
- format(data[playerid][regdate],24,"");
- data[playerid][logged] = false;
- }
- KickEx(playerid,reason[])
- {
- new msg[256];
- format(msg,sizeof(msg),"{FF0000}Игрок {FF69B4}%s[id: %d]{FF0000} был кикнут. Причина: {FF69B4}%s",gn(playerid),reason);
- SendClientMessageToAll(0,msg);
- Kick(playerid);
- return 1;
- }
- gn(playerid)
- {
- new var[24];
- GetPlayerName(playerid,var,24);
- return var;
- }
- ip(playerid)
- {
- new plrIP[24];
- GetPlayerIp(playerid, plrIP, sizeof(plrIP));
- return plrIP;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement