11.09.2011, 18:24
Я хз. На ошибки не смотрите я знаю их тут много и знаю где. Просто надо разобраться как сделать)
Код:
#include <a_samp> #define MAX_SERVER 30 #define MAX_PLAYERS_SERVER 12 #define DM 0 #define STUNT 1 #define DRIFT 2 #define CLANWAR 3 enum sinfo { sName[32], MPlayers, OPlayers }; new Server[MAX_SERVER][sinfo]; new PlayerServer[MAX_PLAYERS]; main(){} public OnGameModeInit() { new str[32]; SetGameModeText("TEST"); for(new i=0;i<MAX_SERVER;i++) { format(str,32,"Тестовый сервер!№%d",i); Server[i][sName] = str; Server[i][MPlayers] = 16; } return 1; } public OnGameModeExit() { return 1; } stock GetOnlineServer() { new a; for(new i=0;i<MAX_SERVER;i++) { if(strlen(Server[i][sName])>0)continue; a++; } return a; } public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } public OnPlayerConnect(playerid) { new string[256],string2[512]; for(new i=0;i<MAX_SERVER;i++) { format(string, sizeof(string), "[%d] %s [%d/%d]\n",i,Server[i][sName],Server[i][OPlayers],Server[i][MPlayers]); strins(string2, string, strlen(string2), strlen(string)); } ShowPlayerDialog(playerid,0,DIALOG_STYLE_LIST,"Сервера", string2,"Присоединится","Создать"); return 1; } public OnPlayerDisconnect(playerid, reason) { return 1; } public OnPlayerSpawn(playerid) { return 1; } public OnPlayerDeath(playerid, killerid, reason) { return 1; } public OnVehicleSpawn(vehicleid) { return 1; } public OnVehicleDeath(vehicleid, killerid) { return 1; } public OnPlayerText(playerid, text[]) { return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { return 0; } public OnPlayerUpdate(playerid) { return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 0) { if(response) { PlayerServer[playerid] = listitem; Server[listitem][OPlayers]++; new string[256]; format(string, sizeof(string), "Вы присоединились к серверу %s [%d/%d]",Server[listitem][sName],Server[listitem][OPlayers],Server[listitem][MPlayers]); SendClientMessage(playerid,0x30B0F6AA, string); } else { } } return 1; }