9 posts in this topic

покажу вам мануал по созданию команды /zapiska, с помощью который вы можете создать записку на автомобиль. Например - "Срочно продам авто.Тел: 1-23-45-67-89" и у вас на заднем окне машины будет написано объявление

ко всем new

new Text3D:Numbertext[MAX_VEHICLES]; 

ко всем цветам

#define COLOR_ZAO 0x4592DEAA  

в enum ainfo

aTextCar

Спойлер

 //------ [ /zapiska ] --- записка на авто --------//
    if (strcmp(cmd, "/zapiska", true) == 0)
    {
        new text_car[256];
        if(IsPlayerConnected(playerid))
        {
        if(PlayerInfo[playerid][pTextCar]==1)
            {
                 SendClientMessage(playerid, COLOR_LIGHTRED, "На авто уже есть записка!");
                  return 1;
               }
            new cari = GetPlayerVehicleID(playerid);
            {
                new length = strlen(cmdtext);
                while ((idx < length) && (cmdtext[idx] <= ' '))
                {
                    idx++;
                }
                new offset = idx;
                new result[64];
                while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
                {
                    result[idx - offset] = cmdtext[idx];
                    idx++;
                }
                result[idx - offset] = EOS;
                if(!strlen(result))
                {
                    SendClientMessage(playerid, COLOR_ZAO, "Пропишите: /zapiska [text]");
                    return 1;
                }
                PlayerInfo[playerid][pTextCar]=1;
                SendClientMessage(playerid,COLOR_ZAO, "Вы оставили записку на авто!");
                format(text_car,sizeof(text_car),"Сообщение: %s\n Отправитель: %s", result,sendername);
                Numbertext[cari] = Create3DTextLabel(text_car,COLOR_ZAO,0.0,0.0,0.0,15.0,0);
                Attach3DTextLabelToVehicle(Numbertext[cari],cari,0.0,0.0,1.0);
                OnPlayerUpdate(playerid);
            }
        }
        return 1;
    }

 

Спойлер

   //------ Удалить записку
    if(strcmp(cmd, "/delzapiska", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new cari = GetPlayerVehicleID(playerid);
            PlayerInfo[playerid][pTextCar]=0;
            SendClientMessage(playerid,COLOR_ZAO, "Вы убрали записку с авто!");
            Delete3DTextLabel(Numbertext[cari]);
        }
           return 1;
    }   

 

 

Share this post


Link to post
Share on other sites

Прости пожалуйста, что открывает эту скобку?..

            new cari = GetPlayerVehicleID(playerid);
            {

В данном случае это вообще не нужно

        if(IsPlayerConnected(playerid))
        {

Много лишнего кода

 

Share this post


Link to post
Share on other sites

Я тут немного переписал.
Все что нужно для работы "записки" две команды, не более.
Само создание записки:

Спойлер

if(strcmp(cmd, "/zapiska", true) == 0) {
    new
        string[144],
        carID = GetPlayerVehicleID(playerid),
        Text3D:textID,
        playerName[MAX_PLAYER_NAME];
        
    if(GetPVarInt(playerid,"CarText") > 0)
        return SendClientMessage(playerid,-1,!"На авто уже есть записка!");
     
     tmp = strtok(cmdtext, idx);
     
    if(!strlen(result))
        return SendClientMessage(playerid,-1,!"Пропишите: /zapiska [text]");
        
    GetPlayerName(playerid, playerName, sizeof(playerName));
    
      format(string,sizeof(string),!"Сообщение: %s\n Отправитель: %s",tmp,playerName);
      textID = Create3DTextLabel(string,-1,0.0,0.0,0.0,15.0,0);
      Attach3DTextLabelToVehicle(textID,carID,0.0,0.0,1.0);
      
      SetPVarInt(playerid,"CarText",textID);
      
    return SendClientMessage(playerid,-1,!"Вы оставили записку на авто!");
}

 

И ее удаление:

Спойлер

if(strcmp(cmd, "/delzapiska", true) == 0) {
    Delete3DTextLabel(GetPVarInt(playerid,"CarText"));
    DeletePVar(playerid,"CarText");
    
    return SendClientMessage(playerid,-1,!"Вы убрали записку с авто!");
}

 


Уважаемый автор, перед копированием команды на форум смотрите на дату ее создания (26 ноябрь 2011), приводите ее в порядок.

Edited by Skiffi

Share this post


Link to post
Share on other sites

@Skiffi ты прости меня тоже пожалуйста...а зачем ты ее переписал??никтож не просил.....

Share this post


Link to post
Share on other sites

@RASTAMAN , Скучно. И как по моему мнению, древний код не должен выкладываться на форумы, а если выкладывается то в усовершенствованном виде.

Share this post


Link to post
Share on other sites

Ребята сделайте эту систему с камандой для ZCCMD

 

Share this post


Link to post
Share on other sites
CMD:zapiska(playerid, params[])
    new
        string[144],
        carID = GetPlayerVehicleID(playerid),
        Text3D:textID,
        playerName[MAX_PLAYER_NAME];
        
    if(GetPVarInt(playerid,"CarText") > 0)
        return SendClientMessage(playerid,-1,!"На авто уже есть записка!");
     
	if(sscanf(params, "s[32]", params[0])) 
      	return SendClientMessage(playerid, -1, !"Используйте: /zapiska [text]");
        
    GetPlayerName(playerid, playerName, sizeof(playerName));
    
      format(string,sizeof(string),!"Сообщение: %s\n Отправитель: %s",params[0],playerName);
      textID = Create3DTextLabel(string,-1,0.0,0.0,0.0,15.0,0);
      Attach3DTextLabelToVehicle(textID,carID,0.0,0.0,1.0);
      
      SetPVarInt(playerid,"CarText",textID);
      
    return SendClientMessage(playerid,-1,!"Вы оставили записку на авто!");
}

И вторая команда соответственно: 
 

CMD:delzapiska(playerid) {
    Delete3DTextLabel(GetPVarInt(playerid,"CarText"));
    DeletePVar(playerid,"CarText");
    
    return SendClientMessage(playerid,-1,!"Вы убрали записку с авто!");
}

 

Share this post


Link to post
Share on other sites

Закрыто от оффтопа. Если у пользователей возникнут вопросы и / или ошибки по поводу данной темы, создавайте новую в разделе "Вопросы по скриптингу". 

Share this post


Link to post
Share on other sites
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

    • king98
      By king98


      Просмотр файла Мод Arizona Rp | Ultra + плагин на машины
      Продам мод Arizona Rp | Ultra + плагин на люкс машины
      Мод оптимизирован под 100+ онлайна
      Добавил king98 Добавлено 15.05.2021 Категория Моды Автор NoName  
    • king98
      By king98
      Продам мод Arizona Rp | Ultra + плагин на люкс машины
      Мод оптимизирован под 100+ онлайна
    • JONS
      By JONS
      МОД С НУЛЯ КРМП(Слив)
      Просмотр файла Что было добавлены в мод:
      1.Регистрация авторизация на MySQL
      2.Админ команды
      2.Фракций
      3.Свой маппинг
      4.Команды игроков
      5.Смайлики
       
      Что нет в моде:
      нет интерьеров(можно взять из сайта и поставить)
      пипкапов
      ранги фракций
      меню персонажа
      логотипа
       
      Добавил JONS Добавлено 14.05.2021 Категория Моды Автор Сергей Наумов  
    • JONS
      By JONS
      Что было добавлены в мод:
      1.Регистрация авторизация на MySQL
      2.Админ команды
      2.Фракций
      3.Свой маппинг
      4.Команды игроков
      5.Смайлики
       
      Что нет в моде:
      нет интерьеров(можно взять из сайта и поставить)
      пипкапов
      ранги фракций
      меню персонажа
      логотипа
       
    • php34
      By php34
      Ищу скрипт который меняет IP при подключении к серверу той же Родины на мой, тем самым я захожу на свой сервер через сборку Родины.
      Такой скрипт я видел на разных копиях Радмир РП но не могу найти на Родину.
      При редактировании скрипта вылезают всякие символы.
      Может у кого есть нормальный скрипт?