PDA

Просмотр полной версии : [Вопрос] Вы указали свой ид!



Айболит
31.08.2014, 14:02
Хочу сделать, чтобы принимать себя нельзя было, делаю вот так.



if(!strcmp(cmd, "/invite", true))
{
switch(Player[playerid][pRank])
{
case 1 , 2 , 3 , 6 , 7 , 8:
{
SendClientMessage(playerid, -1, "{FF1E00}(x){FFFFFF} {F0F0F0}Функция не доступна вам");
}
case 0: { SendClientMessage(playerid, -1, "{FF1E00}(x){FFFFFF} {F0F0F0}Вы не состоите не в одной организации"); }
}
if(Player[playerid][pOrganization] == 1 && Player[playerid][pRank] >= 10) // Проверяем, является ли игрок лидером
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF, "/invite [id].");
giveplayerid = ReturnUser(tmp);
new Float:xpos,Float:ypos,Float:zpos;
GetPlayerPos(playerid,xpos,ypos,zpos);
if(IsPlayerConnected(giveplayerid) ==
if(IsPlayerConnected(giveplayerid) && IsPlayerInRangeOfPoint(giveplayerid, 5.0, xpos, ypos, zpos))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(giveplayerid == playerid) return SendClientMessage(playerid, -1 ,"[Ошибка] Вы указали свой ID");
if(IsPlayerConnected(giveplayerid) && Player[giveplayerid][pOrganization] >= 1) return SendClientMessage(playerid,-1,"Игрок уже где-то состоит");
new playername[MAX_PLAYER_NAME], giveplayername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
format(string, sizeof(string), "Вы приняли игрока %s[%d] в организацию %s.", giveplayername, giveplayerid, OrganizationName[Player[playerid][pOrganization]]);
SendClientMessage(playerid, 0xFFFFFFFF, string);
SetPVarInt(playerid, "setskin", giveplayerid); // Запоминаем ID giveplayerid для playerid, чтобы выдать одежду
if(Player[playerid][pOrganization] == 1) ShowPlayerDialog(playerid, 33, DIALOG_STYLE_LIST, "Выбор одежды", "ID 274 [Медик]\nID 275 [Медик]\nID 276 [Медик]\nID 165 [Начальник охраны]\nID 164 [Охранник]\nID 148 [Женский[Медик]]\nID 70 [Белый халат]\nID 228 [Директор]", "Выбрать", ""); // Показываем лидеру диалог с выбором одежды
SendClientMessage(playerid, 0xFFFFFFFF, "Выберите одежду для игрока.");
format(string, sizeof(string), "Лидер %s[%d] принял Вас в организацию %s.", playername, playerid, OrganizationName[Player[playerid][pOrganization]]);
SendClientMessage(giveplayerid, 0xFFFFFFFF, string);
SendClientMessage(giveplayerid, 0xFFFFFFFF, "Ждите. Сейчас лидер выберет Вам одежду.");
Player[giveplayerid][pOrganization] = Player[playerid][pOrganization]; // Выдаём игрок организацию, в которой состоит лидер
Player[giveplayerid][pRank] = 1; // Выдаём 1 ранг
SavePlayer(giveplayerid);
if(Player[playerid][pOrganization] == 1) SetPlayerColor(giveplayerid, 0xFF6E00FF); // Выдаём цвет игроку
}
}
else SendClientMessage(playerid, 0xAFAFAFAA, "Игрок не найден. Или не рядом с вами");
}

Но не работает, вернее теперь некого нельзя принять, странно.

DeimoS
31.08.2014, 14:32
if(!strcmp(cmd, "/invite", true))
{
switch(Player[playerid][pRank])
{
case 1 , 2 , 3 , 6 , 7 , 8: return SendClientMessage(playerid, -1, "{FF1E00}(x){FFFFFF} {F0F0F0}Функция не доступна вам");
case 0: return SendClientMessage(playerid, -1, "{FF1E00}(x){FFFFFF} {F0F0F0}Вы не состоите не в одной организации");
}
if(Player[playerid][pOrganization] == 1 && Player[playerid][pRank] >= 10) // Проверяем, является ли игрок лидером
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF, "/invite [id].");
giveplayerid = ReturnUser(tmp);
new Float:xpos,Float:ypos,Float:zpos;
GetPlayerPos(playerid,xpos,ypos,zpos);
if(!IsPlayerConnected(giveplayerid) || !IsPlayerInRangeOfPoint(giveplayerid, 5.0, xpos, ypos, zpos)) return SendClientMessage(playerid, 0xAFAFAFAA, "Игрок не найден. Или не рядом с вами");
if(giveplayerid == playerid) return SendClientMessage(playerid, -1 ,"[Ошибка] Вы указали свой ID");
if(IsPlayerConnected(giveplayerid) && Player[giveplayerid][pOrganization] >= 1) return SendClientMessage(playerid,-1,"Игрок уже где-то состоит");
new playername[MAX_PLAYER_NAME], giveplayername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
format(string, sizeof(string), "Вы приняли игрока %s[%d] в организацию %s.", giveplayername, giveplayerid, OrganizationName[Player[playerid][pOrganization]]);
SendClientMessage(playerid, 0xFFFFFFFF, string);
SetPVarInt(playerid, "setskin", giveplayerid); // Запоминаем ID giveplayerid для playerid, чтобы выдать одежду
if(Player[playerid][pOrganization] == 1) ShowPlayerDialog(playerid, 33, DIALOG_STYLE_LIST, "Выбор одежды", "ID 274[Медик]\nID 275[Медик]\nID 276[Медик]\nID 165 [Начальник охраны]\nID 164[Охранник]\nID 148[Женский[Медик]]\nID 70[Белый халат]\nID 228[Директор]", "Выбрать", ""); // Показываем лидеру диалог с выбором одежды
SendClientMessage(playerid, 0xFFFFFFFF, "Выберите одежду для игрока.");
format(string, sizeof(string), "Лидер %s[%d] принял Вас в организацию %s.", playername, playerid, OrganizationName[Player[playerid][pOrganization]]);
SendClientMessage(giveplayerid, 0xFFFFFFFF, string);
SendClientMessage(giveplayerid, 0xFFFFFFFF, "Ждите. Сейчас лидер выберет Вам одежду.");
Player[giveplayerid][pOrganization] = Player[playerid][pOrganization]; // Выдаём игрок организацию, в которой состоит лидер
Player[giveplayerid][pRank] = 1; // Выдаём 1 ранг
SavePlayer(giveplayerid);
if(Player[playerid][pOrganization] == 1) SetPlayerColor(giveplayerid, 0xFF6E00FF); // Выдаём цвет игроку
}
return 1;
}

Айболит
31.08.2014, 16:08
if(!strcmp(cmd, "/invite", true))
{
switch(Player[playerid][pRank])
{
case 1 , 2 , 3 , 6 , 7 , 8: return SendClientMessage(playerid, -1, "{FF1E00}(x){FFFFFF} {F0F0F0}Функция не доступна вам");
case 0: return SendClientMessage(playerid, -1, "{FF1E00}(x){FFFFFF} {F0F0F0}Вы не состоите не в одной организации");
}
if(Player[playerid][pOrganization] == 1 && Player[playerid][pRank] >= 10) // Проверяем, является ли игрок лидером
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF, "/invite [id].");
giveplayerid = ReturnUser(tmp);
new Float:xpos,Float:ypos,Float:zpos;
GetPlayerPos(playerid,xpos,ypos,zpos);
if(!IsPlayerConnected(giveplayerid) || !IsPlayerInRangeOfPoint(giveplayerid, 5.0, xpos, ypos, zpos)) return SendClientMessage(playerid, 0xAFAFAFAA, "Игрок не найден. Или не рядом с вами");
if(giveplayerid == playerid) return SendClientMessage(playerid, -1 ,"[Ошибка] Вы указали свой ID");
if(IsPlayerConnected(giveplayerid) && Player[giveplayerid][pOrganization] >= 1) return SendClientMessage(playerid,-1,"Игрок уже где-то состоит");
new playername[MAX_PLAYER_NAME], giveplayername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
format(string, sizeof(string), "Вы приняли игрока %s[%d] в организацию %s.", giveplayername, giveplayerid, OrganizationName[Player[playerid][pOrganization]]);
SendClientMessage(playerid, 0xFFFFFFFF, string);
SetPVarInt(playerid, "setskin", giveplayerid); // Запоминаем ID giveplayerid для playerid, чтобы выдать одежду
if(Player[playerid][pOrganization] == 1) ShowPlayerDialog(playerid, 33, DIALOG_STYLE_LIST, "Выбор одежды", "ID 274[Медик]\nID 275[Медик]\nID 276[Медик]\nID 165 [Начальник охраны]\nID 164[Охранник]\nID 148[Женский[Медик]]\nID 70[Белый халат]\nID 228[Директор]", "Выбрать", ""); // Показываем лидеру диалог с выбором одежды
SendClientMessage(playerid, 0xFFFFFFFF, "Выберите одежду для игрока.");
format(string, sizeof(string), "Лидер %s[%d] принял Вас в организацию %s.", playername, playerid, OrganizationName[Player[playerid][pOrganization]]);
SendClientMessage(giveplayerid, 0xFFFFFFFF, string);
SendClientMessage(giveplayerid, 0xFFFFFFFF, "Ждите. Сейчас лидер выберет Вам одежду.");
Player[giveplayerid][pOrganization] = Player[playerid][pOrganization]; // Выдаём игрок организацию, в которой состоит лидер
Player[giveplayerid][pRank] = 1; // Выдаём 1 ранг
SavePlayer(giveplayerid);
if(Player[playerid][pOrganization] == 1) SetPlayerColor(giveplayerid, 0xFF6E00FF); // Выдаём цвет игроку
}
return 1;
}

благодарю