UlkiorraJeezy | Дата: Суббота, 14.07.2012, 08:13 | Сообщение # 1 |
 Лейтенант
Группа: Администраторы
Сообщений: 71
Статус: Offline
| Суть в том,что когда вас приглашают /invite (ваш ид) у вас появляется диалоговое окно с выбором, принять приглашение или нет. Начнем.
1. Ко всем new добавим: Code new pInvite[MAX_PLAYERS]; 2. В public OnPlayerConnect(playerid) добавим: Code pInvite[playerid] = 999; 3. Заменяем свою команду /invite на эту: Code if(strcmp(cmd, "/invite", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "ИСПОЛЬЗОВАНИЕ: /invite [id_игрока/ЧастьИмени]"); return 1; } new para1; new ftext[20]; para1 = ReturnUser(tmp); if (PlayerInfo[playerid][pLeader] >= 1) { if(IsPlayerConnected(para1)) { if(para1 != INVALID_PLAYER_ID) { if (PlayerInfo[para1][pMember] == 0) { if(PlayerInfo[playerid][pLeader] == 1) { ftext = "Police Force"; } else if(PlayerInfo[playerid][pLeader] == 2) { ftext = "FBI"; } else if(PlayerInfo[playerid][pLeader] == 3) { ftext = "Armia"; } else if(PlayerInfo[playerid][pLeader] == 4) { ftext = "Ambulance"; } else if(PlayerInfo[playerid][pLeader] == 5) { ftext = "La Cosa Nostra"; } else if(PlayerInfo[playerid][pLeader] == 6) { ftext = "Yakuza"; } else if(PlayerInfo[playerid][pLeader] == 7) { ftext = "Meria"; } else if(PlayerInfo[playerid][pLeader] == 8) { ftext = "Hitman Agency"; } else if(PlayerInfo[playerid][pLeader] == 9) { ftext = "CNN Studio"; } else if(PlayerInfo[playerid][pLeader] == 10) { ftext = "Taxi Cab Company"; } else if(PlayerInfo[playerid][pLeader] == 11) { ftext = "School Instructors"; } GetPlayerName(para1, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "[Администрация]: Вы были приглашены в %s, Лидером %s", ftext, sendername); SendClientMessage(para1, COLOR_WHITE, string); SendClientMessage(para1, COLOR_WHITE, "[Администрация]: Введите /accept team чтобы принять приглашение"); SendClientMessage(para1, COLOR_WHITE, "[Администрация]: Введите /cancel team чтобы отвергнуть приглашение"); format(string, sizeof(string), "[Администрация]: Вы пригласили игрока %s в %s.", giveplayer,ftext); SendClientMessage(playerid, COLOR_WHITE, string); pInvite[para1] = playerid; } else { SendClientMessage(playerid, COLOR_GREY, "Этот игрок состоит во фракции!"); return 1; } } } } else { SendClientMessage(playerid, COLOR_GRAD1, " Вы не лидер !"); } } return 1; } 4. в команду /accept добавить Code else if(strcmp(x_job,"team",true) == 0) { if(pInvite[playerid] < 999) { if(IsPlayerConnected(pInvite[playerid])) { if (gTeam[playerid]==TEAM_GREEN && PlayerInfo[playerid][pMember] == 0 && PlayerInfo[playerid][pFMember] == 255) { if(PlayerInfo[pInvite[playerid]][pLeader] == 1) { PlayerInfo[playerid][pTeam] = 2; gTeam[playerid] = 2; ChosenSkin[playerid] = 280; SetPlayerSkin(playerid, 280); } else if(PlayerInfo[pInvite[playerid]][pLeader] == 2) { PlayerInfo[playerid][pTeam] = 2; gTeam[playerid] = 2; ChosenSkin[playerid] = 286; SetPlayerSkin(playerid, 286); } else if(PlayerInfo[pInvite[playerid]][pLeader] == 3) { PlayerInfo[playerid][pTeam] = 2; gTeam[playerid] = 2; ChosenSkin[playerid] = 287; SetPlayerSkin(playerid, 287); } else if(PlayerInfo[pInvite[playerid]][pLeader] == 4) { PlayerInfo[playerid][pTeam] = 1; gTeam[playerid] = 1; ChosenSkin[playerid] = 70; SetPlayerSkin(playerid, 70); } else if(PlayerInfo[pInvite[playerid]][pLeader] == 5) { PlayerInfo[playerid][pTeam] = 5; gTeam[playerid] = 5; ChosenSkin[playerid] = 98; SetPlayerSkin(playerid, 98); } else if(PlayerInfo[pInvite[playerid]][pLeader] == 6) { PlayerInfo[playerid][pTeam] = 5; gTeam[playerid] = 5; ChosenSkin[playerid] = 120; SetPlayerSkin(playerid, 258); } else if(PlayerInfo[pInvite[playerid]][pLeader] == 7) { PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; ChosenSkin[playerid] = 127; SetPlayerSkin(playerid, 127); } else if(PlayerInfo[pInvite[playerid]][pLeader] == 8) { PlayerInfo[playerid][pTeam] = 10; gTeam[playerid] = 12; ChosenSkin[playerid] = 127; SetPlayerSkin(playerid, 127); } else if(PlayerInfo[pInvite[playerid]][pLeader] == 9) { PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; ChosenSkin[playerid] = 148; SetPlayerSkin(playerid, 148); } else if(PlayerInfo[pInvite[playerid]][pLeader] == 10) { PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; ChosenSkin[playerid] = 255; SetPlayerSkin(playerid, 255); } else if(PlayerInfo[pInvite[playerid]][pLeader] == 11) { PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; ChosenSkin[playerid] = 59; SetPlayerSkin(playerid, 59); } PlayerInfo[playerid][pMember] = PlayerInfo[pInvite[playerid]][pLeader]; PlayerInfo[playerid][pRank] = 1; SetPlayerInterior(playerid,0); new rand = random(sizeof(gInviteSpawns)); SetPlayerPos(playerid, gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]); // Warp the player SetPlayerFacingAngle(playerid, gInviteSpawns[rand][3]); SetPlayerCameraPos(playerid,gInviteSpawns[rand][0] + 3, gInviteSpawns[rand][1], gInviteSpawns[rand][2]); SetPlayerCameraLookAt(playerid,gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]); TogglePlayerControllable(playerid, 0); SelectChar[playerid] = 255; SelectCharID[playerid] = PlayerInfo[playerid][pMember]; SelectCharPlace[playerid] = 1; PlayerInfo[playerid][pModel] = ChosenSkin[playerid]; PlayerInfo[playerid][pChar] = ChosenSkin[playerid]; new str[64]; GetPlayerName(pInvite[playerid], sendername, sizeof(sendername)); format(str,sizeof(str),"[Администрация]: %s принял ваше приглашение!",sendername); SendClientMessage(pInvite[playerid], COLOR_WHITE, str); SendClientMessage(playerid, COLOR_LIGHTRED, "* Используйте next для выбора скина."); SendClientMessage(playerid, COLOR_LIGHTRED, "* Если вы нашли скин, который хотите использовать введите done."); pInvite[playerid] = 999; return 1; } else { SendClientMessage(playerid, COLOR_GREY, "Вы состоите во фракции"); return 1; } } return 1; } else { SendClientMessage(playerid, COLOR_GREY, "Никто вам не приглашал вступить в Фракцию/Банду/Мафию"); return 1; } } 5. в команду /cancel добавить: Code else if(strcmp(x_job,"team",true) == 0) { pInvite[playerid] = 999; new str[64]; GetPlayerName(pInvite[playerid], sendername, sizeof(sendername)); format(str,sizeof(str),"[Администрация]: %s не принял ваше приглашение!",sendername); SendClientMessage(pInvite[playerid], COLOR_WHITE, str); }
Вопросы в тему.
|
|
| |