Вопросы

Здравствуйте,я создаю свой проект и не могу написать команду с нуля,может у кого нибудь есть команда?Чтобы одевать мешок на голову если да отпишите пожалуйста.Использую pawncmd.Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение

3 ответа на этот вопрос

  • 0

@BlogMan 

Цитата

Держи


Ко всем new добавляем:

PHP код:
new PlayerBlinded[MAX_PLAYERS];
new Text:blindtd[5];  
Сейчас надо сделать так что бы когда игрок заходит на сервер на его голове не был надет мешок.
Идем в public OnPlayerConnect и добавляем туда следующие:
PHP код:
PlayerBlinded[playerid] = 0;  
Теперь идем в public OnGameModeInit и добавляем туда:
PHP код:
blindtd[0] = TextDrawCreate(0,0," white");
    TextDrawFont(blindtd[0],1);
    TextDrawLetterSize(blindtd[0],1000,1000);
    TextDrawBoxColor(blindtd[0],0x000000AA);
    TextDrawUseBox(blindtd[0],1);

    blindtd[1] = TextDrawCreate(0,0," white");
    TextDrawFont(blindtd[1],1);
    TextDrawLetterSize(blindtd[1],1000,1000);
    TextDrawBoxColor(blindtd[1],0x000000AA);
    TextDrawUseBox(blindtd[1],1);

    blindtd[2] = TextDrawCreate(0,0," white");
    TextDrawFont(blindtd[2],1);
    TextDrawLetterSize(blindtd[2],1000,1000);
    TextDrawBoxColor(blindtd[2],0x000000AA);
    TextDrawUseBox(blindtd[2],1);

    blindtd[3] = TextDrawCreate(0,0," white");
    TextDrawFont(blindtd[3],1);
    TextDrawLetterSize(blindtd[3],1000,1000);
    TextDrawBoxColor(blindtd[3],0x000000AA);
    TextDrawUseBox(blindtd[3],1);

    blindtd[4] = TextDrawCreate(0,0," white");
    TextDrawFont(blindtd[4],1);
    TextDrawLetterSize(blindtd[4],1000,1000);
    TextDrawBoxColor(blindtd[4],0x000000AA);
    TextDrawUseBox(blindtd[4],1);  
Теперь приступим к созданию самой команды.Для этого ищем public OnPlayerCommandText и добавляем в него команду:
PHP код:
if(strcmp(cmd, "/blind", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new member=PlayerInfo[playerid][pMember];
            new leader=PlayerInfo[playerid][pLeader];
            if(member ==5 || member == 6 || member == 14 //Отвечает за то какие фракции могут использовать данную команду
            {
                if(PlayerInfo[playerid][pRank] < 3)//означает что член фракции ниже 3 ранга не сможет использовать данную команду
                {
                    SendClientMessage(playerid, COLOR_GREY, " Вы не можете использовать эту команду ваш ранг ниже 3!");
                    return 1;
                }
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp)) {
                    SendClientMessage(playerid, COLOR_CMD, "[INFO] {FFFFFF} /blind [Playerid/PartOfName]");
                    return 1;
                }
                giveplayerid = ReturnUser(tmp);
                if(IsPlayerConnected(giveplayerid))//проверка в сети ли игрок
                {
                    if(giveplayerid != INVALID_PLAYER_ID)
                    {
                        if(PlayerTied[giveplayerid] <= 0)//проверяет связан ли игрок
                        {
                            SendClientMessage(playerid, COLOR_GREY, " Èãðîê íå ñâÿçàí!");
                            return 1;
                        }
                        if (ProxDetectorS(8.0, playerid, giveplayerid))
                        {
                            new car = GetPlayerVehicleID(playerid);
                            if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Вы не можете одеть мешок на себя!"); return 1; }
                            if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2 && IsPlayerInVehicle(giveplayerid, car))//проверка на то в машине ли игрок
                            {
                                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                format(string, sizeof(string), "* %s надел вам мешок на голову", sendername);
                                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                                format(string, sizeof(string), "* Вы надели мешок на голову %s.", giveplayer);
                                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                format(string, sizeof(string), "* %s надевает на голову %s мешок", sendername ,giveplayer);
                                ProxDetector(15.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,0,0);
                                GameTextForPlayer(giveplayerid, "~r~Blinded", 2500, 3);
                                TextDrawShowForPlayer(giveplayerid, blindtd[0]);
                                TextDrawShowForPlayer(giveplayerid, blindtd[1]);
                                TextDrawShowForPlayer(giveplayerid, blindtd[2]);
                                TextDrawShowForPlayer(giveplayerid, blindtd[3]);
                                TextDrawShowForPlayer(giveplayerid, blindtd[4]);
                                PlayerBlinded[giveplayerid] = 1;//1 значит мешок надет,а 0 значит нет
                            }
                            else
                            {
                                SendClientMessage(playerid, COLOR_GREY, "Игрок не в вашем автомобиле,или вы не на Водительском месте!");
                                return 1;
                            }
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   Игрок не около вас!");
                            return 1;
                        }
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "Игрок не в сети!");
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "Вы не член семьи!");
            }
        }
        return 1;  
Итак мы сделали команду что бы надеть мешок.Теперь надо сделать команду что бы его снять.Ниже команды /blind добавляем следующие:
PHP код:
if(strcmp(cmd, "/unblind", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new member=PlayerInfo[playerid][pMember];
            new leader=PlayerInfo[playerid][pLeader];
            if(member ==5 || member == 6 || member == 14 || leader ==5 || leader == 6 || leader == 14)//проверка на фракцию
            {
                if(PlayerInfo[playerid][pRank] < 3)//проверка на ранг
                {
                    SendClientMessage(playerid, COLOR_GREY, "Вы не можете использовать эту команду,ваш ранг ниже 3!");
                    return 1;
                }
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp)) {
                    SendClientMessage(playerid, COLOR_CMD, "[INFO] {FFFFFF} /unblind [Playerid/PartOfName]");
                    return 1;
                }
                giveplayerid = ReturnUser(tmp);
                if(IsPlayerConnected(giveplayerid))//проверка в сети ли игрок
                {
                    if(giveplayerid != INVALID_PLAYER_ID)
                    {
                        if (ProxDetectorS(8.0, playerid, giveplayerid))
                        {
                            if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Вы не можете снять мешок с себя!"); return 1; }
                            if(PlayerBlinded[giveplayerid])//проверка надет ли мешок на голову
                            {
                                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                format(string, sizeof(string), "* %s снял с вас мешок", sendername);
                                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                                format(string, sizeof(string), "* Вы сняли мешок с %s.", giveplayer);
                                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                format(string, sizeof(string), "* %s снял мешок с %s ", sendername ,giveplayer);
                                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,0,0);
                                GameTextForPlayer(giveplayerid, "~g~Unblinded", 2500, 3);
                                TextDrawHideForPlayer(giveplayerid, blindtd[0]);
                                TextDrawHideForPlayer(giveplayerid, blindtd[1]);
                                TextDrawHideForPlayer(giveplayerid, blindtd[2]);
                                TextDrawHideForPlayer(giveplayerid, blindtd[3]);
                                TextDrawHideForPlayer(giveplayerid, blindtd[4]);
                                PlayerBlinded[giveplayerid] = 0;//0 значит мешок снят
                            }
                            else
                            {
                                SendClientMessage(playerid, COLOR_GREY, "На нем нет мешка!");
                                return 1;
                            }
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, "Игрок не около вас!");
                            return 1;
                        }
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "Игрок не в сети!");
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "Вы не член семьи!");
            }
        }
        return 1;
    }  

 

 

@BlogMan И просто стандартный движок, переделай на pawncmd. Изи

Поделиться сообщением


Ссылка на сообщение
  • 0

Спасибо,большое всё сделал и переделал движок.

 

А если для сампа брать движок менять не нужно?

 

Заметка от Cawfee , создано

Объединил сообщения.

Поделиться сообщением


Ссылка на сообщение
  • 0

@BlogMan, если речь идет о командном процессоре (dc_cmd, zcmd, pawncmd), то нет, не зависит командный процессор от того, на что вы ориентированы (San Andreas или Criminal Russia).

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • KAIF
      От KAIF


      Скачать файл GTA RolePlay-МОД,СБОРКА
      !!!!!ВСЕГО ОДНА КОПИЯ!!!! 
      Единственный мод GTA RP.
       
      Фракции:
      Правительство
      ГИБДД
      Полиция Южного
      ФСБ
      ЦГБ-А
      Автошкола
      Китайская мафия
      Русская Мафия
      Итальянская Мафия
      Американская Мафия
      Чеченская Мафия
      ВВС
      МЧС
      ОПГ Тяп-Ляп
      ОПГ Хади-Такташ
      СМИ Южного
      ФСИН
      В комплекте идёт СБОРКА И МОД.
      Единственный мод GTA RP.
      Добавил KAIF Добавлено 01.01.2024 Категория Моды Автор Aleksandr  
    • KAIF
      От KAIF
      !!!!!ВСЕГО ОДНА КОПИЯ!!!! 
      Единственный мод GTA RP.
       
      Фракции:
      Правительство
      ГИБДД
      Полиция Южного
      ФСБ
      ЦГБ-А
      Автошкола
      Китайская мафия
      Русская Мафия
      Итальянская Мафия
      Американская Мафия
      Чеченская Мафия
      ВВС
      МЧС
      ОПГ Тяп-Ляп
      ОПГ Хади-Такташ
      СМИ Южного
      ФСИН
      В комплекте идёт СБОРКА И МОД.
      Единственный мод GTA RP.
    • Узбек
      От Узбек
      Всем добрый вечер ребят! 
      Я начинающий, сегодня я вам сливаю команду 2(шт) на технические работы
      Ловите 
       
    • nazpol9
      От nazpol9
      Привет всем.

      У меня имеется мод для самп сервера и VPS с Ubuntu, на котором я пытаюсь его запустить.

      В чем суть проблемы: при запуске samp03svr, сервер запускается, но на версии 0.3.DL R-1. Когда я пытаюсь запустить этот же мод локально на Windows, сервер работает на версии 0.3.7 и я могу зайти на него без клиента 0.3.DL.

      Для решения этой проблемы я уже пробовал заменять инклуды и исполнительные файлы теми, что есть в архивах на официальном сайте сампа, перекомпилировал мод, и ничего не изменилось.
       
      #include <a_samp> #include <a_mysql> #include <foreach> #include <Pawn.RakNet> #include <streamer> #include <sscanf2> #include <float2> #include <crashdetect> #include <fmt> #include <a_http> #include <Pawn.CMD> #include <Pawn.Regex> #include <requests> #include <callbacks> #include <MD5> #include <mxdate> #include <TOTP> #include <gvar> #include <md-sort> #include <nex-ac> #include <weapon-config> #include <discord-connector> #include <3DTryg> #include <textdraw-streamer>  
      plugins crashdetect.so streamer.so textdraw-streamer.so sscanf.so pawnraknet.so pawncmd.so mysql.so requests.so profiler.so pawnregex.so TOTP.so gvar.so discord-connector.so

      Если у кого-то будут какие-либо догадки, прошу ими поделиться, если понадобится больше информации - я постараюсь её предоставить.