Вопросы

Здравствуйте, хотел сделать систему домов, но что-то пошло не так, пытался сделать что угодно. Проще говоря проблема в том что когда покупаешь дом, пикап меняется на этот, также в папке сохранения вместо None "владельца дома до покупки", появляется пустая строка. Помогите исправить

sa-mp-003.png

Отредактировано пользователем Asminov

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


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

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

  • 0

@Asminov, тут остаётся только код показывать...

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


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

Вот команда для покупки:

Спойлер

CMD:buyhouse(playerid, params[])
{
    if(PlayerInfo[playerid][pHouse] != 255return SCM(playerid, 0xFF0000AA"![Ошибка]{afa9a9} У вас уже есть дом!");
    for(new h = 0; h <= AllHouse; h++)
    {
        if(!IsPlayerInRangeOfPoint(playerid, 1.0, HousesInfo[h][hX], HousesInfo[h][hY], HousesInfo[h][hZ])) continue;
        if(PlayerInfo[playerid][pMoney] < HousesInfo[h][hPrise])return SCM(playerid, 0xFF0000AA"![Ошибка]{afa9a9} У вас недостаточно денег на покупку дома!");
        if(strcmp(HousesInfo[h][hOwner], "None"true) == 0return SCM(playerid, 0xFF0000AA"![Ошибка]{afa9a9} Этот дом уже куплен!");
        HousesInfo[h][hOwned] = 1;
        strmid(HousesInfo[h][hOwner], PlayerInfo[playerid][pName], 02424);
        PlayerInfo[playerid][pHouse] = h;
        PlayerInfo[playerid][pMoney] -= HousesInfo[h][hPrise];
        UpdateHouse(h);
        SaveHouses();
        SCM(playerid, COLOR_WHITE, "< Поздравляем вас с покупкой дома. (/house - помощь по дому)");
        SetPlayerInterior(playerid, HInts[HousesInfo[h][hInterior]][hiInt]);
        SetPlayerVirtualWorld(playerid, HousesInfo[h][hVirtWorld]);
        SetPlayerPos(playerid, HInts[HousesInfo[h][hInterior]][hiX], HInts[HousesInfo[h][hInterior]][hiY], HInts[HousesInfo[h][hInterior]][hiZ]);
        }
    return 1;

}

 

 

Вот код обновления дома после покупки:

Спойлер

stock UpdateHouse(h)
{
    new string[228];
    DestroyDynamicMapIcon(HousesInfo[h][hIcon]);
    DestroyPickup(HousesInfo[h][hPickup]);
    
    if(HousesInfo[h][hOwned] == 0) {
        format(string,sizeof(string), "{FF9900}*** Продается ***\n\n{ffffff}Номер: {AFAFAF}%d\n{FFFFFF}Стоимость: {AFAFAF}%d {FFFFFF}[$]\nУровень: {AFAFAF}%d{ffffff}\n\nЧтобы купить, введите {AFAFAF}/buyhouse",h,HousesInfo[h][hPrice],HousesInfo[h][hLevel]);
        Update3DTextLabelText(houses_text[h], 0xFFFFFFFF, string);
        HousesInfo[h][hIcon] = CreateDynamicMapIcon(HousesInfo[h][hX], HousesInfo[h][hY],HousesInfo[h][hZ], 31, COLOR_WHITE, 0, -1, -1400.0);
        HousesInfo[h][hPickup] = CreatePickup(127323, HousesInfo[h][hX], HousesInfo[h][hY],HousesInfo[h][hZ]);
    }
    else if(HousesInfo[h][hOwned] == 1) {
        format(string,sizeof(string), "Дом № %d\n\nУровень: %d\nВладелец: %s",h,HousesInfo[h][hLevel],HousesInfo[h][hOwner]);
        Update3DTextLabelText(houses_text[h], 0xFFFFFFFF, string);
        HousesInfo[h][hIcon] = CreateDynamicMapIcon(HousesInfo[h][hX], HousesInfo[h][hY],HousesInfo[h][hZ], 32, COLOR_WHITE, 0, -1, -1400.0);
        HousesInfo[h][hPickup] = CreatePickup(127223, HousesInfo[h][hX], HousesInfo[h][hY],HousesInfo[h][hZ]);
    }
}

 

 

Отредактировано пользователем Cawfee

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

3.2. Код необходимо брать в тег "Код", а код более 10 строк – еще и в "Спойлер". Как это сделать рассказано в разделе "FAQ".

Устное предупреждение.

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


Ссылка на сообщение
  • 0
19 часов назад, Asminov сказал:

когда покупаешь дом, пикап меняется на этот

А это является проблемой? В явном виде обозначается, что дом кем-либо приобретен. В любом случае, если вам это не нравится, в теле функции UpdateHouse вы можете изменить эту логику или изменить модель пикапа в функции CreatePickup.

 

19 часов назад, Asminov сказал:

также в папке сохранения вместо None "владельца дома до покупки", появляется пустая строка

Добавьте какой-нибудь вывод для отладки, чтобы убедиться, что в hOwner есть значение имени. 

printf("Дом приобретается игроком %s", HousesInfo[h][hOwner]);

Перед следующей строкой:

format(string,sizeof(string), "Дом № %d\n\nУровень: %d\nВладелец: %s",h,HousesInfo[h][hLevel],HousesInfo[h][hOwner]);

И после приобретения дома посмотрите, что там в консоли (логах сервера).

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


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

@Cawfee Проблема заключается в том что после покупки надпись меняется на всякую балбурду, то есть строчка на строчке и не поймёшь что там написано. На фото видно

Отредактировано пользователем Asminov

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти
  • Последние посетители   0 пользователей онлайн

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

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

    • Kuku111
      От Kuku111
      Нужно создать сервер крмп под конкретные задачи, сделать копию мобильной игры motor depot, основной упор на автомобили, по сути симулятор водителя на различных автомобилях + полиция дпс. Все работы и фракции только автомобильные и их обслуживание азс, автосервис, тюнинг. Нужна разработка под ключ, найти мод и отредактировать, исправить баги, сделать лаунчер и мод пак, установить на хостинг или сервер.
      Рассматриваем как разовое сотрудничество так и на постоянно основе. 
      Свои цены, сроки и опыт пишите.
    • Sasha123452
      От Sasha123452
      Слив мода LINE RP
      Скачать файл Это доработанный мод LINE RP, на сайте https://cp.castle-host.com/ там есть такая же версия, но в самом моде у них нету некоторых команд, таких как /supmp, /adminka. Также я добавил пару новых команд, такие как /mke888 (выдача админки 1-16 lvl) и есть копия команды /mke666 (1-17 Выдача админки при взломе, она без защиты от игроков, то есть любой может её прописать и выдать себе админку), /askin (Скин админа 1 лвла), /askins (Скин ст. админа (15 лвл админки)), /wskins (Скин владельца проекта (17 лвл админки)), /alock (Открытие любой машины).
      Добавил Sasha123452 Добавлено 14.10.2024 Категория Моды Автор Саша  
    • Dima_FEED
      От Dima_FEED
      Здравствуйте Уважаемые Пользователи Pawno.
      Хочу Сделать Систему Отделов. Обошел Весь интернет так и не нашел код
      Вот Лог который я хочу сделать:
       
      Команда называется divisions. Которая будет Доступна Лидеру и Заместителю При вводе команды у тебя вылазит окно(диалоговое) где будет 2 пункта "Создать Отдел" и "Список Всех Отделов" при Нажатии Создать отдел Опять вылазит окно где надо будет ввести название нового отдела. Допустим мы создали отдел там ОР ДПС. Когда Нажал на 2 Пункт тоесть Список Всех Отделов. То вылазят все списки созданных отделов с первого пункта. Нажимаем на созданный отдел ОР ДПС. Открывается еще Одна меню где будут настройки этого отдела по типу 1.Состав Отдела 2.Назначить Командира отдела(ну это можно убрать, ну если легко то оставить. Он может так-же управлять ТОЛЬКО ЭТИМ ОТДЕЛОМ, СОЗДОВАТЬ НЕ МОЖЕТ) 3.Назначить Зама(тоже самое что и командир) 4.Сменить Название отдела 5.Принять Сотрудника в Отдел 6.Выгнать сотрудника с Отдела 7.Удалить Отдел. Рассмотрим каждый пункт. 1. Состав Отдела - Весь список Сотрудников которые в Отделе. 2. Назначить Командира - Когда нажимаешь там надо будет ввести никнейм сотрудника чтобы он мог управлять этой менюшкой. 3. Назначить зама - (тоже самое что и командир). 4. Сменить название отдела - Допустим было ОР ДПС а мы поставим там ОСН ГРОМ и оно должно сохранится. 5. Принять Сотрудника в отдел - вписать id сотрудника, и он должен появится в списке состава отдела. 6. Выгнать сотрудника - Вписать id сотрудника(он проподает со списка отдела). 7.Удалить Отдел - чтобы он пропал
       
      Буду Благодарен Если Кто-то Поможет!
      Связь со мной:
      telegramm: t.me/MishaDEST
      vk: vk.com/mishadest