я дабавил это!!! #include <a_samp> #include <dudb> #define zelen 0x00FF00FF// Ярко зеленый #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 new PLAYERLIST_authed[MAX_PLAYERS]; new MyKills[MAX_PLAYERS];//Переменная для убийств new MyDeaths[MAX_PLAYERS];//Переменная для смертей new IsPlayerInJail[MAX_PLAYERS]; new gangkillcount[MAX_PLAYERS]; new teamkillcount[MAX_PLAYERS]; new taketurfbackcount[MAX_PLAYERS]; forward SystemMsg(playerid,msg[]);//Зафорвардили функцию SystemMsg В OnPlayerConnect: Code //----------Нулевая статистика---------- MyDeaths[playerid] = 0; MyKills[playerid] = 0; IsPlayerInJail[playerid] = 0; taketurfbackcount[playerid] = 0; gangkillcount[playerid] = 0; teamkillcount[playerid] = 0; //----------Нулевая статистика---------- //-----------><------------- new PlayerName[30], str[256]; GetPlayerName(playerid, PlayerName, 30); format(str, sizeof(str), "%s.dudb.sav", PlayerName); if (!udb_Exists(PlayerName2(playerid))) { SendClientMessage(playerid, zelen, "***СИСТЕМА: Используйте /register [пароль] для создания аккаунта или /help***"); return 1; }else{ PLAYERLIST_authed[playerid]=false; SendClientMessage(playerid, zelen, "***СИСТЕМА:Этот ник зарегестрирован! Чтобы войти в аккаунт введите /login [пароль]***"); } return 1; } //-----------><------------- stock PlayerName2(playerid) { new name[255]; GetPlayerName(playerid, name, 255); return name; } //-----------><------------- dcmd_register(playerid,params[]) { if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"Такой аккаунт уже существует"); if (udb_Exists(PlayerName2(playerid))) return SystemMsg(playerid,"Аккаунт создан, введите '/login <пароль>'."); if (strlen(params)==0) return SystemMsg(playerid,"***СИСТЕМА: Используйте '/register пароль'***"); if (udb_Create(PlayerName2(playerid),params)) return SystemMsg(playerid,"Аккаунт создан. Войдите '/login пароль'."); return true; } dcmd_login(playerid,params[]) { if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"Вы уже вошли в аккаунт"); if (!udb_Exists(PlayerName2(playerid))) return SystemMsg(playerid,"Аккаунта не существует, введите '/register пароль'."); if (strlen(params)==0) return SystemMsg(playerid,"***СИСТЕМА: Используйте '/login пароль'***"); if (udb_CheckLogin(PlayerName2(playerid),params)) { GivePlayerMoney(playerid,dUserINT(PlayerName2(playerid)).("money")-GetPlayerMoney(playerid)); SetPlayerScore(playerid,dUserINT(PlayerName2(playerid)).("kills")-GetPlayerScore(playerid)); MyDeaths[playerid] = (dUserINT(PlayerName2(playerid)).("deaths")); MyKills[playerid] = (dUserINT(PlayerName2(playerid)).("kills")); PLAYERLIST_authed[playerid]=true; return SystemMsg(playerid,"Вы вошли в cвою учетную запись.Выберите скин и нажмите кнопку >>Shift<<"); } return SystemMsg(playerid,"Неверный пароль."); } //------------------------Stat------------------------------------------------------ ShowScore(playerid) { new giveplayerid; new skin = GetPlayerSkin(giveplayerid); new ping = GetPlayerPing(giveplayerid); new tmpTotal[128]; new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, sizeof(playername)); format(tmpTotal, sizeof(tmpTotal), "*** %s: >>Фраги: [%d]<< | >>Смерти: [%d]<< | >>Рейтинг: [%0.2f]<< | >>Деньги: [$%d]<< ",playername,MyKills[playerid],MyDeaths[playerid], (Float:MyKills[playerid]/Float:MyDeaths[playerid]),GetPlayerMoney(playerid)); SendClientMessage(playerid,zelen, tmpTotal); format(tmpTotal, sizeof(tmpTotal), ">>Скин [%d]<< | >>Пинг [%d]<< ", skin, ping); SendClientMessage(playerid,zelen, tmpTotal); return 1; } B OnPlayerDisconnect: Code public OnPlayerDisconnect(playerid, reason) { if (PLAYERLIST_authed[playerid]) { dUserSetINT(PlayerName2(playerid)).("money",GetPlayerMoney(playerid));//Сохранение статы в файл с именем игрока в строку money // Сохранение статистики dUserSetINT(PlayerName2(playerid)).("kills",MyKills[playerid]);//См.выше ^ dUserSetINT(PlayerName2(playerid)).("deaths",MyDeaths[playerid]);//См.выше ^ } PLAYERLIST_authed[playerid]=false; return false; } B OnPlayerCommandText: Code new tmp[256]; new cmd[256]; new string[256];//Длина строки new giveplayerid; //------------------------- dcmd(login,5,cmdtext);//войти dcmd(register,8,cmdtext);//зарегиться //------------------------- if(strcmp(cmd, "/stat", true) == 0) { new skin = GetPlayerSkin(giveplayerid);//Получить скин игрока new ping = GetPlayerPing(giveplayerid);//Получить пинг игрока if(!strlen(tmp)) { ShowScore(playerid);//Просмотр статистики (см.выше) return 1; } if(IsPlayerConnected(playerid))//Проверка на то подключен игрок или нет { new playername[MAX_PLAYER_NAME];//Переменная для имени игрока GetPlayerName(playerid, playername, sizeof(playername)); format(string, sizeof(string), "***Твоя статистика: >>Фраги: [%d]<< | >>Смерти: [%d]<< | >>Рейтинг: [%0.2f]<< | >>Деньги: [$%d]<< ***",playername,MyKills[playerid],MyDeaths[playerid],Float:MyKills[playerid]/Float:MyDeaths[playerid],GetPlayerMoney(playerid)); SendClientMessage(playerid, zelen, string); format(string, sizeof(string), ">>Скин [%d]<< | >>Пинг [%d]<< ", skin, ping); SendClientMessage(playerid,zelen, string); return 1; } В конец скрипта: Code public SystemMsg(playerid,msg[]) { if ((IsPlayerConnected(playerid))&&(strlen(msg)>0)) { SendClientMessage(playerid,zelen,msg); } return 1; } и у меня выходит: (519) : error 017: undefined symbol "playerid" (520) : error 017: undefined symbol "string" (520) : error 017: undefined symbol "string" (520) : error 029: invalid expression, assumed zero (520) : fatal error 107: too many error messages on one line
НАШ САЙТ ДОСТУПЕН ПО НОВОМУ ДОМЕНУ SAMP-CITY.RU Мои работы [FS]Лицензия на авто!-100%-завершено [FS]BAR LS+LV (V 1.0)-100%-завершено [FS]Beach party-100%-завершено
|