Question

Мне надо чтобы у всех фракций и работ была единая команда вызова а не разные типа (/gopolice, /gomedic, /gotaxi и т.п)
Как вот эту команду сделать чтобы она была для всех фракций и работ?
 

CMD:tall(playerid, params[])
{
    if(!IsACop(playerid)) return SendClientMessage(playerid, COLOR_GREY, YouCanNot);
	else if(sscanf(params, "u", params[0])) return SendClientMessage(playerid, VAGOS_COLOR, "{ffcf00}Введите: /tall [id игрока]");
	else if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline);
	else if(PlayerLogged[params[0]] == false) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotAuthorized);
	else if(!PoliceON[params[0]]) return SendClientMessage(playerid, COLOR_GREY, "Этот игрок не вызывал полицию либо его вызов уже приняли");
	foreach(new i: Player)
	{
		if(PlayerLogged[i] == false) continue;
		if(IsACop(i)) SendMes(i, COLOR_YELLOW, "%s %s принял вызов %s", Fraction_Rang[PI[playerid][pMember]][PI[playerid][pRank]], GetName(playerid), GetName(params[0]));
	}
	SendMes(params[0], COLOR_GREEN, "%s %s принял ваш вызов, ждите", Fraction_Rang[PI[playerid][pMember]][PI[playerid][pRank]], GetName(playerid));
	SendMes(playerid, COLOR_GREEN, "Игрок %s отмечен на карте", GetName(params[0]));
	new Float:X, Float:Y, Float:Z;
	GetPlayerPos(params[0], X, Y, Z);
	DisablePlayerRaceCheckpoint(playerid);
	SetPlayerRaceCheckpoint(playerid, 1, X, Y, Z, 0.0, 0.0, 0.0, 5);
	UseGPS[playerid] = true;
	PoliceON[params[0]] = false;
	SetPVarInt(params[0], "CallPolice", gettime()+600);
	return 1;
}

 Тут ещё в new есть.

Спойлер

new bool:PoliceON[MAX_PLAYERS];
new bool:MedicON[MAX_PLAYERS];
new bool:TaxiON[MAX_PLAYERS];
new bool:MechanicON[MAX_PLAYERS];


 

Спойлер

    }
    case D_SERVICE+1:
        {
            if(!response)
            {
                if(PI[playerid][pJail] > 0) return SendClientMessage(playerid, COLOR_GREY, "Ó âàñ èçúÿëè òåëåôîí!");
                return ShowPlayerDialog(playerid, D_HEAL+3, 2, "{FF7700}Ñåðâèñû", "1. Âûçâàòü ìåõàíèêà\n2. Âûçâàòü òàêñè\n3. Âûçâàòü ñêîðóþ ïîìîøü\n4. Âûçâàòü ïîëèöèþ", "Ïðèíÿòü", "Íàçàä");
            }
            if(GetPlayerInterior(playerid) != 0) return SendClientMessage(playerid, COLOR_GREY, "[Äèñïåò÷åð] Íå óäàëîñü îïðåäåëèòü Âàøå ìåñòîïîëîæåíèå. Âûéäèòå èç ïîìåùåíèÿ.");
            if(GetPlayerVirtualWorld(playerid) != 0) return SendClientMessage(playerid, COLOR_GREY, "[Äèñïåò÷åð] Íå óäàëîñü îïðåäåëèòü Âàøå ìåñòîïîëîæåíèå. Âûéäèòå èç ïîìåùåíèÿ.");
            if(GetPVarInt(playerid, "CallMech") > gettime()) return SendClientMessage(playerid, COLOR_GREY, "Âû íåäàâíî âûçûâàëè ìåõàíèêà!");
            if(strlen(inputtext) < 6 || strlen(inputtext) > 20) return SendClientMessage(playerid, COLOR_GREY, "Â ñîîáùåíèè äîëæíî áûòü îò 6 äî 20 ñèìâîëîâ!");
            new full = 0;
            foreach(new i: Player)
            {
                if(PlayerLogged == false) continue;
                if(PI[pJob] == JOB_MECHANIC && i != playerid) full++;
            }
            if(!full) SendClientMessage(playerid, COLOR_GREY, "Â äàííûé ìîìåíò íåò ìåõàíèêîâ íà äåæóðñòâå!");
            else SendClientMessage(playerid, COLOR_LIGHTBLUE, "Âàø çàïðîñ ïîñëàí ìåõàíèêàì. Æäèòå îòâåòà");
            MechanicON[playerid] = true;
            new trr[3];
            if(IsPlayerToSquare(playerid,-891.3302,-2950.0190,2915.9917,560.3257)) trr = "LS";
            else if(IsPlayerToSquare(playerid,-2929.6589,-2889.1660,-1326.9077,1493.1770)) trr = "SF";
            else trr = "LV";
            foreach(new i: Player)
            {
                if(PlayerLogged == false) continue;
                if(PI[pJob] == JOB_MECHANIC)
                {
                    SendMes(i, COLOR_WHITE, "%s[%i] {FFFF00}ñ ãîðîäà {FFFFFF}%s{FFFF00}, âûçûâàåò ìåõàíèêà, ìåñòîïîëîæåíèå: {FFFFFF}%s", GetName(playerid), playerid, trr, inputtext);
                    SendClientMessage(i, COLOR_YELLOW, "×òîáû ïðèíÿòü âûçîâ ââåäèòå {FFFFFF}/gomechanic");
                }
            }
        }
    case D_SERVICE+2:
        {
            if(!response)
            {
                if(PI[playerid][pJail] > 0) return SendClientMessage(playerid, COLOR_GREY, "Ó âàñ èçúÿëè òåëåôîí!");
                return ShowPlayerDialog(playerid, D_HEAL+3, 2, "{FF7700}Ñåðâèñû", "1. Âûçâàòü ìåõàíèêà\n2. Âûçâàòü òàêñè\n3. Âûçâàòü ñêîðóþ ïîìîøü\n4. Âûçâàòü ïîëèöèþ", "Ïðèíÿòü", "Íàçàä");
            }
            if(GetPlayerInterior(playerid) != 0) return SendClientMessage(playerid, COLOR_GREY, "[Äèñïåò÷åð] Íå óäàëîñü îïðåäåëèòü Âàøå ìåñòîïîëîæåíèå. Âûéäèòå èç ïîìåùåíèÿ.");
            if(GetPlayerVirtualWorld(playerid) != 0) return SendClientMessage(playerid, COLOR_GREY, "[Äèñïåò÷åð] Íå óäàëîñü îïðåäåëèòü Âàøå ìåñòîïîëîæåíèå. Âûéäèòå èç ïîìåùåíèÿ.");
            if(GetPVarInt(playerid, "CallTaxi") > gettime()) return SendClientMessage(playerid, COLOR_GREY, "Âû íåäàâíî âûçûâàëè òàêñèñòà!");
            if(strlen(inputtext) < 6 || strlen(inputtext) > 20) return SendClientMessage(playerid, COLOR_GREY, "Â ñîîáùåíèè äîëæíî áûòü îò 6 äî 20 ñèìâîëîâ!");
            new full = 0;
            foreach(new i: Player)
            {
                if(PlayerLogged == false) continue;
                if(PI[pJob] == JOB_TAXI && i != playerid) full++;
            }
            if(!full) SendClientMessage(playerid, COLOR_GREY, "Â äàííûé ìîìåíò íåò òàêñèñòîâ íà äåæóðñòâå!");
            else SendClientMessage(playerid, COLOR_LIGHTBLUE, "Âàø çàïðîñ ïîñëàí òàêñèñòàì. Æäèòå îòâåòà");
            TaxiON[playerid] = true;
            new trr[3];
            if(IsPlayerToSquare(playerid,-891.3302,-2950.0190,2915.9917,560.3257)) trr = "LS";
            else if(IsPlayerToSquare(playerid,-2929.6589,-2889.1660,-1326.9077,1493.1770)) trr = "SF";
            else trr = "LV";
            foreach(new i: Player)
            {
                if(PlayerLogged == false) continue;
                if(PI[pJob] == JOB_TAXI)
                {
                    SendMes(i, COLOR_WHITE, "%s[%i] {FFFF00}ñ ãîðîäà {FFFFFF}%s{FFFF00}, âûçûâàåò òàêñè, ìåñòîïîëîæåíèå: {FFFFFF}%s", GetName(playerid), playerid, trr, inputtext);
                    SendClientMessage(i, COLOR_YELLOW, "×òîáû ïðèíÿòü âûçîâ ââåäèòå {FFFFFF}/gotaxi");
                }
            }
        }
    case D_SERVICE+3:
        {
            if(!response)
            {
                if(PI[playerid][pJail] > 0) return SendClientMessage(playerid, COLOR_GREY, "Ó âàñ èçúÿëè òåëåôîí!");
                return ShowPlayerDialog(playerid, D_HEAL+3, 2, "{FF7700}Ñåðâèñû", "1. Âûçâàòü ìåõàíèêà\n2. Âûçâàòü òàêñè\n3. Âûçâàòü ñêîðóþ ïîìîøü\n4. Âûçâàòü ïîëèöèþ", "Ïðèíÿòü", "Íàçàä");
            }
            if(GetPlayerInterior(playerid) != 0) return SendClientMessage(playerid, COLOR_GREY, "[Äèñïåò÷åð] Íå óäàëîñü îïðåäåëèòü Âàøå ìåñòîïîëîæåíèå. Âûéäèòå èç ïîìåùåíèÿ.");
            if(GetPlayerVirtualWorld(playerid) != 0) return SendClientMessage(playerid, COLOR_GREY, "[Äèñïåò÷åð] Íå óäàëîñü îïðåäåëèòü Âàøå ìåñòîïîëîæåíèå. Âûéäèòå èç ïîìåùåíèÿ.");
            if(GetPVarInt(playerid, "CallMedic") > gettime()) return SendClientMessage(playerid, COLOR_GREY, "Âû íåäàâíî âûçûâàëè ñêîðóþ ïîìîùü!");
            if(strlen(inputtext) < 6 || strlen(inputtext) > 20) return SendClientMessage(playerid, COLOR_GREY, "Â ñîîáùåíèè äîëæíî áûòü îò 6 äî 20 ñèìâîëîâ!");
            new full = 0;
            foreach(new i: Player)
            {
                if(PlayerLogged == false) continue;
                if(IsAMedic(i) && i != playerid) full++;
            }
            if(!full) SendClientMessage(playerid, COLOR_GREY, "Â äàííûé ìîìåíò íåò ìåäèêîâ íà äåæóðñòâå!");
            else SendClientMessage(playerid, COLOR_LIGHTBLUE, "Âàø çàïðîñ íà ìåäèöèíñêóþ ïîìîùü ïîñëàí. Æäèòå îòâåòà");
            MedicON[playerid] = true;
            new trr[3];
            if(IsPlayerToSquare(playerid,-891.3302,-2950.0190,2915.9917,560.3257)) trr = "Þæíûé";
            else if(IsPlayerToSquare(playerid,-2929.6589,-2889.1660,-1326.9077,1493.1770)) trr = "SF";
            else trr = "LV";
            foreach(new i: Player)
            {
                if(PlayerLogged == false) continue;
                if(IsAMedic(i))
                {
                    SendMes(i, COLOR_WHITE, "%s[%i] {FFFF00}ñ ãîðîäà {FFFFFF}%s{FFFF00}, âûçûâàåò ñêîðóþ ïîìîùü, ìåñòîïîëîæåíèå: {FFFFFF}%s", GetName(playerid), playerid, trr, inputtext);
                    SendClientMessage(i, COLOR_YELLOW, "×òîáû ïðèíÿòü âûçîâ ââåäèòå {FFFFFF}/calling");
                }
            }
        }
    case D_SERVICE+4:
        {
            if(!response)
            {
                if(PI[playerid][pJail] > 0) return SendClientMessage(playerid, COLOR_GREY, "Ó âàñ èçúÿëè òåëåôîí!");
                return ShowPlayerDialog(playerid, D_HEAL+3, 2, "{FF7700}Ñåðâèñû", "1. Âûçâàòü ìåõàíèêà\n2. Âûçâàòü òàêñè\n3. Âûçâàòü ñêîðóþ ïîìîøü\n4. Âûçâàòü ïîëèöèþ", "Ïðèíÿòü", "Íàçàä");
            }
            if(GetPlayerInterior(playerid) != 0) return SendClientMessage(playerid, COLOR_GREY, "[Äèñïåò÷åð] Íå óäàëîñü îïðåäåëèòü Âàøå ìåñòîïîëîæåíèå. Âûéäèòå èç ïîìåùåíèÿ.");
            if(GetPlayerVirtualWorld(playerid) != 0) return SendClientMessage(playerid, COLOR_GREY, "[Äèñïåò÷åð] Íå óäàëîñü îïðåäåëèòü Âàøå ìåñòîïîëîæåíèå. Âûéäèòå èç ïîìåùåíèÿ.");
            if(GetPVarInt(playerid, "CallPolice") > gettime()) return SendClientMessage(playerid, COLOR_GREY, "Âû íåäàâíî âûçûâàëè ïîëèöèþ!");
            if(strlen(inputtext) < 6 || strlen(inputtext) > 20) return SendClientMessage(playerid, COLOR_GREY, "Â ñîîáùåíèè äîëæíî áûòü îò 6 äî 20 ñèìâîëîâ!");
            new full = 0;
            foreach(new i: Player)
            {
                if(PlayerLogged == false) continue;
                if(IsACop(i) && i != playerid) full++;
            }
            if(!full) SendClientMessage(playerid, COLOR_GREY, "Â äàííûé ìîìåíò íåò ïîëèöåéñêèõ íà äåæóðñòâå!");
            else SendClientMessage(playerid, COLOR_LIGHTBLUE, "Âàø çàïðîñ áûë îòïðàâëåí ïîëèöèè. Æäèòå îòâåòà");
            PoliceON[playerid] = true;
            new trr[3];
            if(IsPlayerToSquare(playerid,-891.3302,-2950.0190,2915.9917,560.3257)) trr = "LS";
            else if(IsPlayerToSquare(playerid,-2929.6589,-2889.1660,-1326.9077,1493.1770)) trr = "SF";
            else trr = "LV";
            foreach(new i: Player)
            {
                if(PlayerLogged == false) continue;
                if(IsACop(i))
                {
                    SendMes(i, COLOR_WHITE, "%s[%i] {FFFF00}ñ ãîðîäà {FFFFFF}%s{FFFF00}, âûçûâàåò ïîëèöèþ, ìåñòîïîëîæåíèå: {FFFFFF}%s", GetName(playerid), playerid, trr, inputtext);
                    SendClientMessage(i, COLOR_YELLOW, "×òîáû ïðèíÿòü âûçîâ ââåäèòå {FFFFFF}/gopolice");
                }
             }
        }

 

Edited by Leo_Carter

Share this post


Link to post

2 answers to this question

  • 0

Вам нужно команда вызова, а Вы скидываете команду принятия, либо определитесь что Вам надо, либо скидывайте нужную команду, которую нужно переделать

Share this post


Link to post
  • 0

Все команды, которыми принимаются вызова помести под тег кода и спойлера, скинь сюда.

Но, имхо, тебе стоит обратиться в стол заказов.
При копировании участка кода из текстового редактора всегда переключайся на русскую раскладку, дабы избежать кривое копирование кириллицы.

 

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Antoxa39
      By Antoxa39
      Дратути) Я хочу поделится с новичками одной штучкой,с помощью которой можно сделать спидометр.
       
      Объявляем глобальные переменные.
      new Text:speedtest; В public OnPlayerConnect добавляем следующее.
      speedtest = TextDrawCreate(506.599884, 394.742156, "500 KM/H");// создаем текстдрав при подключении игрока (он не будет отображатся) В конце мода создаем новую функцию.
      forward getsp(playerid); public getsp(playerid) {     new Float:cord[3];     GetVehicleVelocity(GetPlayerVehicleID(playerid),cord[0], cord[1], cord[2]);     new Float:veloc = floatsqroot(floatpower(floatabs(cord[0]), 2.0) + floatpower(floatabs(cord[1]), 2.0) + floatpower(floatabs(cord[2]), 2.0)) * 181.3;     new str[25];     format(str,sizeof(str),"KM/H %d",floatround(veloc));     TextDrawSetString(speedtest,str);     return 1; } Переходим в OnPlayerStateChange и добавляем следующее.
      if(newstate == PLAYER_STATE_DRIVER) {     TextDrawShowForPlayer(playerid,speedtest);     SetTimerEx("getsp", 1, true, "%f", playerid); } if(newstate == PLAYER_STATE_ONFOOT) {     TextDrawHideForPlayer(playerid,speedtest); } ВСЁ!) Мы создали спидометр. Удачи вам в скриптинге!)
    • R0m4ik
      By R0m4ik
      Всем привет, возникла маленькая проблема я хочу сделать команду /fakecmd(написать команду от другого игрока)
      У меня уже есть исходник данный команды осталось знать.
      На что надо заменить это?
      zcmd_OnPlayerCommandText(targetid, params);