public OnPlayerConnect(playerid) { if(IsPlayerNPC(playerid)) return 1; weat[playerid] = 0; transfered[playerid] = false; firstspawn[playerid] = false; team[playerid] = TEAM_NONE; expshown[playerid]=false; cantalk[playerid]=false; expent[playerid]=0; weapgvntimer[playerid]=0; weapgvn[playerid]=0; exitammu[playerid]=0; ammodecr[playerid]=0; armordecr[playerid]=0; exitedweapd[playerid]=0; armor[playerid]=0; ammohack[playerid]=0; radioused[playerid] = 0; pradio[playerid] = 0; ResetPlayerWeaponsEx(playerid); ammotimer[playerid] = SetTimerEx("AmmoAnticheat", 4000, 1, "i", playerid); armortimer[playerid] = SetTimerEx("ArmorAnticheat", 3000, 1, "i", playerid); weaptimer[playerid] = SetTimerEx("WeaponAnticheat", 2000, 1, "i", playerid); new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, sizeof(playername)); new tmp[256]; new idx; tmp = dini_Get(FILE_SETTINGS, "blacklist"); if (strval(tmp) == 1) { tmp = dini_Get(FILE_BLACKLIST, playername); if (strval(strtok(tmp, idx, ',')) == 1) KickMsg(playerid, "Blacklist", strtok(tmp, idx, ',')); idx = 0; } GameTextForPlayer(playerid,"~g~~h~Las Venturas Freeroam ~r~1.71", 5000, 5); SendClientMessage(playerid, lime1, " Добро пожаловать на сервер DooM55.ru!"); SendClientMessage(playerid, yellow3, "* Наберите /rules для получения подробных правил сервера"); SendClientMessage(playerid, yellow5, "* Наберите /changes, чтобы узнать о последних изменениях в моде"); SendClientMessage(playerid, COLOR_CORAL, "* Наберите /help для получения справки по командам"); activeplayers++; if (dini_Int(FILE_TOTALSTAT, "mostplayers") < activeplayers) { dini_IntSet(FILE_TOTALSTAT, "mostplayers", activeplayers); new hourstr[3]; new minstr[3]; new secstr[3]; new date[32]; new year,month,day; new hour,minute,second; getdate(year,month,day); gettime(hour,minute,second); if(hour> 9) format(hourstr, 3,"%d",hour); if(hour< 10) format(hourstr, 3,"0%d",hour); if(minute> 9) format(minstr, 3,"%d",minute); if(minute< 10) format(minstr, 3,"0%d",minute); if(second> 9) format(secstr, 3,"%d",second); if(second< 10) format(secstr, 3,"0%d",second); format(date,32,"[%d.%d.%d] [%s:%s:%s]",day,month,year,hourstr,minstr,secstr); format(tmp, sizeof(tmp),"------ Установлен новый рекорд посещаемости сервера - %d!!! %s",activeplayers,date); format(date,32,"%d.%d.%d [%s:%s:%s]",day,month,year,hourstr,minstr,secstr); dini_Set(FILE_TOTALSTAT, "mostplayersdate", date); SendClientMessageToAll(COLOR_ADMIN,tmp); } /*// Assume str is your string new temb[128]; format(temb,sizeof(temb),"%d atata",playerid); new Alloc:mem = malloc(strlen(temb) + 1); if (mem) { msets(mem, 0, temb); SetTimerEx("SendClientMessageEx", 4000, 0, "iii", playerid, yellow3, _:mem); }*/ //else {} //"* Наберите /rules для получения подробных правил сервера" //SetTimerEx("SendClientMessageEx", 4000, 0, "i,i,a,a", playerid, yellow3, "* Наберите /rules для получения подробных правил сервера",strlen( "* Наберите /rules для получения подробных правил сервера")+1); //SetTimerEx("SendClientMessageEx", 8000, 0,"d d s",playerid, yellow5,"* Наберите /changes, чтобы узнать о последних изменениях в моде "); //SetTimerEx("SendClientMessageEx", 10000, 0,"d d s",playerid, yellow6,"* Наберите /help для получения справки по командам "); new acc[256]; format(acc,sizeof(acc),"accounts/%s",udb_encode(playername)); if (dini_Exists(acc)) { //SendClientMessage(playerid, grey6, "* Внимание! На нашем сервере зарегистрирован аккаунт с таким именем."); tmp = dini_Get(acc, "protection"); if (strval(tmp) == 1) { //SendClientMessage(playerid, grey3, "* Если вы его владелец, пожалуйста, идентифицируйтесь с помощью /login."); ShowPlayerDialog(playerid, DIALOG_LOGIN, 1, "Авторизация", "Внимание! На нашем сервере зарегистрирован аккаунт с таким именем.\nЕсли вы его владелец, пожалуйста, идентифицируйтесь, введя пароль в поле ниже.","ОК","Выход"); } } else { //SendClientMessage(playerid, grey4, "* ."); ShowPlayerDialog(playerid, DIALOG_REGISTER, 1, "Регистрация", "Для игры на сервере gta.doom55.ru вы должны быть зарегистрированы.\nВпишите пароль, который вы будете вводить при следующих подключениях к серверу в поле ниже.","ОК","Выход"); //SendClientMessage(playerid, grey4, "* Вы должны зарегистрироваться используя команду /register <пароль>"); } SetPlayerVirtualWorld(playerid,0); SetPlayerMoney(playerid,0); Cash[playerid] = 0; givingmoney[playerid] = false; IsPlayerInDM[playerid] = false; //crouch[playerid][0] = 0; IsPlayerInStadium[playerid] = false; skydive[playerid] = false; frags[playerid] = 0; tip[playerid] = 1; EnteredStart[playerid] = 0; balled[playerid] = false; tubed[playerid] = false; SetPlayerColor(playerid,playerColors[playerid]); SendDeathMessage(INVALID_PLAYER_ID, playerid, 200); // добавляем иконки SetPlayerMapIcon(playerid,7,1937.5291,2307.1484,10.3962, 52, 0); // S SetPlayerMapIcon(playerid,8,2247.6777,2396.6099,10.3892, 52, 0); SetPlayerMapIcon(playerid,9,2452.6545,2064.4014,10.4122, 52, 0); SetPlayerMapIcon(playerid,10,2546.8115,1972.4519,10.3843, 52, 0); SetPlayerMapIcon(playerid,11,2884.5833,2453.6714,10.6397, 52, 0); SetPlayerMapIcon(playerid,12, 1584.0096,-1627.8856,13.3828, 30, 0); // иконка полиц. участка 1 SetPlayerMapIcon(playerid,13, -1679.962524,705.532287,30.601562, 30, 0); // иконка полиц. участка 2 SetPlayerMapIcon(playerid,14, 2278.501708,2443.962890,46.976562, 30, 0); // иконка полиц. участка 3 SetPlayerMapIcon(playerid,15, 2643.8848,-2033.5562,13.6463, 27, 0); // иконка тюнинга лоурайдеров SetPlayerMapIcon(playerid,16,1041.4735,-1023.7297,32.2366, 27, 0); // иконка тюнинга в ЛС SetPlayerMapIcon(playerid,17,-1935.4298,236.9624,34.3125, 27, 0); // иконка тюнинга в СФ SetPlayerMapIcon(playerid,18,-2712.1887,217.5576,4.2243, 27, 0); // иконка тюнинга стритрейсеров SetPlayerMapIcon(playerid,19,2386.5039,1041.3555,9.9392, 27, 0); // иконка тюнинга в ЛВ SetPlayerMapIcon(playerid,20,1181.7405,-1325.6947,13.7127, 22, 0); // госпиталь SetPlayerMapIcon(playerid,22,2190.1230,1983.6838,10.8203, 52, 0); // 24\7 в ЛВ SetPlayerMapIcon(playerid,21,1830.8325,-1837.8564,13.7072, 52, 0); // 24\7 в ЛС SetPlayerMapIcon(playerid,23,1352.3279,-1755.6383,13.3533, 52, 0); // 24\7 в ЛC SetPlayerMapIcon(playerid,24,1314.2893,-904.3557,39.0695, 52, 0); // 24\7 в ЛC SetPlayerMapIcon(playerid,25,998.3287,-919.9227,42.1797, 52, 0); // 24\7 в ЛC SetPlayerMapIcon(playerid,26,2101.4363,-1807.9736,13.1188, 29, 0); // неотмеченная пицца в ЛC SetPlayerMapIcon(playerid,27,1098.0309,1449.0337,12.0872, 33, 0); // стадион SetPlayerMapIcon(playerid,28,2483.6104,1527.6683,11.1314, 18, 0); // гранаты SetPlayerMapIcon(playerid,29,944.9236,2071.4380,10.3930, 55, 0); //export // tmp = dini_Get(FILE_SETTINGS, "userclock"); // if (strval(tmp) == 1) TogglePlayerClock(playerid,1); //захерачиваем часики if ((RaceLoaded == true) && (RaceInGame == false)) { SetPlayerRaceCheckpoint(playerid, RaceCheckpoints[0][cpType], RaceCheckpoints[0][cpX], RaceCheckpoints[0][cpY], RaceCheckpoints[0][cpZ], RaceCheckpoints[1][cpX], RaceCheckpoints[1][cpY], RaceCheckpoints[1][cpZ], RaceCheckpoints[0][cpSize]); SetPlayerMapIcon(playerid,30,RaceCheckpoints[0][cpX],RaceCheckpoints[0][cpY],RaceCheckpoints[0][cpZ], 53, 0); } game_moder[playerid] = 0; race_moder[playerid] = 0; playerCheckpoint[playerid] = 999; for(new i;i 0 gACS_SpawnKill_Kills_PlayerId[playerid] = 0; #endif VotedPlayerId[playerid] = 0; if(Votetype == VOTE_KICK) { if( VotePlayerId == playerid) VoteReset(); } TextDrawShowForPlayer(playerid, ad); return 1; } public OnPlayerDisconnect(playerid, reason) { KillTimer(ammotimer[playerid]); KillTimer(armortimer[playerid]); KillTimer(weaptimer[playerid]); MidoStreamDisconnect(playerid); activeplayers--; SendDeathMessage(INVALID_PLAYER_ID, playerid, 201); givingmoney[playerid] = false; new playername[MAX_PLAYER_NAME]; new Float:x, Float:y, Float:z; if(IsPlayerInDM[playerid]) { DisablePlayerWorldBounds(playerid); PlayersInDM -=1; switch(team[playerid]) { case TEAM_RED: reds-=1; case TEAM_BLUE: blues-=1; } if(gametype == DM) TextDrawDestroy(score[playerid]); } if(IsPlayerInStadium[playerid]) { PlayersIn8Track -=1; SetVehicleToRespawn(playercarid[playerid]); LinkVehicleToInterior(playercarid[playerid],0); } if (RaceInGame == true && IsRacer[playerid] == true) { RaceRemovePlayer(playerid); if (raceplayers() == 0) RaceStop(4); //если последний игрок свалил, нада заканчивать гонку } GetPlayerName(playerid, playername, sizeof(playername)); new acc[256]; format(acc,sizeof(acc),"accounts/%s",udb_encode(playername)); if (dini_Exists(acc) && logged[playerid]) { // dini_IntSet(acc, "money", GetPlayerCash(playerid)); dini_IntSet(acc, "bank", bank[playerid]); dini_IntSet(acc, "bounty", bounty[playerid]); if (GetPlayerState(playerid) != PLAYER_STATE_NONE && GetPlayerState(playerid) != PLAYER_STATE_WASTED && GetPlayerInterior(playerid) == 0 && !balled[playerid] && !tubed[playerid] && !IsPlayerInDM[playerid]) { GetPlayerPos(playerid, x,y,z); dini_FloatSet(acc, "x", x); dini_FloatSet(acc, "y", y); dini_FloatSet(acc, "z", z); } new k; k=GetPlayerSkin(playerid); if(dini_Int(acc,"skinsave") && k) dini_IntSet(acc, "skin",k); k = dini_Int(acc, "killsinarow"); if(k < killsinarow[playerid]) dini_IntSet(acc, "killsinarow", killsinarow[playerid]); k = dini_Int(acc, "kills"); dini_IntSet(acc, "kills", k+1); k = dini_Int(acc, "deaths"); dini_IntSet(acc, "deaths", k+1); } if (muted[playerid] > 0) { KillTimer(muteTimer[playerid]); dini_IntSet(acc, "muted", muted[playerid]); muted[playerid] = 0; } if (jailed[playerid] > 0) { KillTimer(jailTimer[playerid]); dini_IntSet(acc, "jailed", jailed[playerid]); jailed[playerid] = 0; } logged[playerid] = god[playerid] = false; bank[playerid] = bounty[playerid] = payment[playerid] = jailed[playerid] = muted[playerid] = killsinarow[playerid] = 0; query[playerid] = (-1); if((VotePlayerId == playerid) || (VotePlayerIdBy == playerid)) if(Votetype == VOTE_KICK || Votetype == VOTE_KILL) VoteStop(VotePlayerIdBy, "Игрок вышел"); }