Вопросы

DENIS.P.
Старожил

Хочу сделать кмд для удаления созданного обьекта, обьект создается и редлачиться при помощи EditObj, удалить хочу как это делается в сое ибо изменить либо удалить, вроде взял код. но он не работает. 

if(strcmp(cmd, "/delobject", true) == 0)
	{
    	if(PlayerInfo[@p][pMember] == 6 || PlayerInfo[@p][pLeader] == 6 || PlayerInfo[@p][pMember] == 1 || PlayerInfo[@p][pLeader] == 1 || PlayerInfo[@p][pMember] == 3 || PlayerInfo[@p][pLeader] == 3)
		{
  			ShowPlayerDialog(playerid, 4004, DIALOG_STYLE_MSGBOX,"Действие с объектом", \
			"Выберите действие с объектом","","Удалить");
  		}
		else return SCM(@p,-1,"Доступно только сотрудникам полиции.");
}

case 4004:
	    {
			new objectid = GetPVarInt(playerid, "SelectedObject");
			if(response) EditObject(playerid, objectid);
			else DestroyObject(objectid) && CancelEdit(playerid);
	    }

Помогите в ее создании

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


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

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

  • 0

SetPVarInt(playerid, "SelectedObject", CreateObject(...));

или с переменной

new SelectedObject[MAX_PLAYERS]; 

Внимание! SelectedObject является глобальным одномерным массивом (в данном случае), т.е. объявляется в начале моде. 

SelectedObject[playerid] = CreateObject(...); 

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


Ссылка на сообщение
  • 0
DENIS.P.
Старожил

@DEST добавляя в диалог где идет само действия появляются варнинги

029: invalid expression, assumed zero
204: symbol is assigned a value that is never used: "SelectedObject"

 

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


Ссылка на сообщение
  • 0
DENIS.P.
Старожил

@DEST Уже немного переделал, добавлял в  диалог тоесть вот так 

case 4003: // Первая страница (dialogid = 1)
                {
                    switch(listitem)
                    {
                        case 0..8:
                        {
                            new Float:X, Float:Y, Float:Z;
                            GetPlayerPos(playerid, X, Y, Z);
                            new objectid = CreateObject(id_objects[listitem], X, Y, Z, 0.0, 0.0, 0.0, 300.0);
                            EditObject(playerid, objectid);
                            return true;
                        }
                        case 9:
                        {
                            new objectid;
							ShowPlayerDialog(playerid,4003,DIALOG_STYLE_LIST,"{2E9AFE}Object.","{808080}1. Борды красно-белая полоса\n1. Борды красно-белая полоса\n3. Перекрытие всей дороги\n4. Каталки для медиков\n5. Бочка перекрытия дороги\n6. Каменные плиты для перекрытия дороги\n7.Лестница\n8. Каменная плита для перекрытия дороги\n10.Штаб МЧС","Принять","Отмена");
							SetPVarInt(playerid, "SelectedObject", objectid);
                            return true;
                        }
                    }
                    return true;
                }
        }

 

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


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

@DENIS.P. 

  В 2/2/2018 в 08:19, DEST сказал:

 там где создаётся объект

Читать далее...  

 

  В 2/2/2018 в 08:19, DEST сказал:

где создаётся объект

Читать далее...  

 

  В 2/2/2018 в 08:19, DEST сказал:

создаётся

Читать далее...  

В тот код, который вы добавили создания объекта нет (создание объекта это функция CreateObject). 

Значит, в вашем случае необходимо использовать: 

case 0..8:
{
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    new objectid = CreateObject(id_objects[listitem], X, Y, Z, 0.0, 0.0, 0.0, 300.0); // СТРОКА СОЗДАНИЯ ОБЪЕКТА
  	SetPVarInt(playerid, "SelectedObject", objectid); 
    EditObject(playerid, objectid);
    return true;
}

 

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


Ссылка на сообщение
  • 0
DENIS.P.
Старожил

@DEST фух, работает, но есть одно но, я создал один обьект после него еще один, то удалиться только тот который я создал последним, как сделать, что бы этот селект у всех сохранялся и после ввода удалились все обьекты? 

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


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

@DENIS.P. безразмерного массива не существует, поэтому в любом случае какое-то ограничение будет. А так это делается циклом. 

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


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

@DENIS.P. 

// При выдаче объекта:
for(new i; i < sizeof(objects[playerid]); i++) {
  if(objects[i][playerid] != INVALID_OBJECT_ID) continue; 
  objects[i][playerid] = CreateObject(...); 
} 
//При удалении объекта:
for(new i; i < sizeof(objects[playerid]); i++) {
  if(objects[i][playerid] == INVALID_OBJECT_ID) continue; 
  DestroyObject(objects[i][playerid]); 
}
                                      

 

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


Ссылка на сообщение
  • 0
DENIS.P.
Старожил

@DEST 

C:\Users\Денис\Desktop\Luxury RP Мой мод\gamemodes\orpbyden.pwn(7747) : error 001: expected token: ")", but found "["
C:\Users\Денис\Desktop\Luxury RP Мой мод\gamemodes\orpbyden.pwn(7747) : warning 215: expression has no effect
C:\Users\Денис\Desktop\Luxury RP Мой мод\gamemodes\orpbyden.pwn(7747) : error 001: expected token: ";", but found "]"
C:\Users\Денис\Desktop\Luxury RP Мой мод\gamemodes\orpbyden.pwn(7747) : error 029: invalid expression, assumed zero
C:\Users\Денис\Desktop\Luxury RP Мой мод\gamemodes\orpbyden.pwn(7747) : fatal error 107: too many error messages on one line
for(new i; i < sizeof(objectid[playerid]); i++) {

 

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

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


Ссылка на сообщение
  • 0
LilPokemon
Гуру форума
  В 2/5/2018 в 14:01, DENIS.P. сказал:

@DEST 

new objectid = GetPVarInt(playerid, "SelectedObject");

new objectid = CreateObject(id_objects[listitem], X, Y, Z, 0.0, 0.0, 0.0, 300.0);

 

Читать далее...  
new objectid[MAX_PLAYERS];

замени :) 

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

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


Ссылка на сообщение
  • 0
DENIS.P.
Старожил

@Покемон 

C:\Users\Äåíèñ\Desktop\Luxury RP Ìîé ìîä\gamemodes\orpbyden.pwn(7748) : error 080: unknown symbol, or not a constant symbol (symbol "playerid")
C:\Users\Äåíèñ\Desktop\Luxury RP Ìîé ìîä\gamemodes\orpbyden.pwn(7749) : error 001: expected token: ")", but found "["
C:\Users\Äåíèñ\Desktop\Luxury RP Ìîé ìîä\gamemodes\orpbyden.pwn(7749) : error 029: invalid expression, assumed zero
C:\Users\Äåíèñ\Desktop\Luxury RP Ìîé ìîä\gamemodes\orpbyden.pwn(7749) : warning 215: expression has no effect
C:\Users\Äåíèñ\Desktop\Luxury RP Ìîé ìîä\gamemodes\orpbyden.pwn(7749) : error 001: expected token: ";", but found "]"
C:\Users\Äåíèñ\Desktop\Luxury RP Ìîé ìîä\gamemodes\orpbyden.pwn(7749) : fatal error 107: too many error messages on one line

 

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


Ссылка на сообщение
  • 0
LilPokemon
Гуру форума

Вообще сделай так: замени в  for(new i; i < sizeof(objectid[playerid]); i++) { objectid[playerid] замени на objectmax, после добавь дефайн #define MAX_OBJECT 100 // Максимальное количество объектов 100

и создай new objectmax[MAX_OBJECT]; 

Далее for(new i; i < sizeof(objectmax); i++) {

Вот и все ) 

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

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


Ссылка на сообщение
  • 0
MuhammadPawn
Великий Гуру

@Покемон зачем создавать ещё 1 костыль когда в самп уже есть define (MAX_OBJECTS - 1000) 

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

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


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

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

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

    • sinvays
      От sinvays
      Добрый день!
      Решил не отставать от сообщества копирайтеров да и особо мне было нечего делать, вот и подготовил собственную копию RUSSIA, которую планирую дорабатывать со временем если увижу отдачу на видеоролике в ютуб. На данный момент реализованы основные системы и визуальные обновления. Не всё ещё доведено до идеала, но масштабные функции уже работают как нужно. Сливаю мод от того что не вижу смысла его продавать.
      Обзор на YouTube
      Что уже сделано:
      Рабочая шахта (добыча золота, алмазов и угля);
      Система крафта (создание теслы, предметов и т.п.);
      Добавлены новые титулы + система «Мои титулы» (можно надевать и снимать);
      Новые костюмы;
      Обновлён парк у мэрии;
      Обновлён интерьер LSPD;
      Реализовано открытие дверей в здании полиции (частично);
      Обновлены эксклюзивные аксессуары;
      Исправлена покупка эксклюзивных авто;
      Добавлен пикап спавна транспорта организаций (учитывая штучность транспорта);
      Устранена уязвимость (дыра по SKY, через которую можно было крашить сервер);
      По многочисленным просьбам удалён weapon-config и все его связки.
       
      И это далеко не всё!
      Важное:
      Это первая версия мода. В дальнейшем буду дорабатывать и улучшать его по мере возможности если увижу отдачу на видеоролике в ютуб.
      Если у вас будут дополнения к системам или возникнут проблемы — пишите смело: vk.com/gta_lacoste.
      Я не до конца знаком с оригиналом проекта, но главная суть уже реализована, осталось только довести детали.
      Прошу писать мне прилагая скриншоты/видео, чтобы я наглядно видел как работает та или инная система представленная на проекта. Спасибо)
       
      Удачи в открытии копий, хулиганы! 😉
    • sinvays
      От sinvays


      Скачать файл RUSSIA RP 1.0 | 2025
      Добрый день!
      Решил не отставать от сообщества копирайтеров да и особо мне было нечего делать, вот и подготовил собственную копию RUSSIA, которую планирую дорабатывать со временем если увижу отдачу на видеоролике в ютуб. На данный момент реализованы основные системы и визуальные обновления. Не всё ещё доведено до идеала, но масштабные функции уже работают как нужно. Сливаю мод от того что не вижу смысла его продавать.
      Обзор на YouTube
      Что уже сделано:
      Рабочая шахта (добыча золота, алмазов и угля);
      Система крафта (создание теслы, предметов и т.п.);
      Добавлены новые титулы + система «Мои титулы» (можно надевать и снимать);
      Новые костюмы;
      Обновлён парк у мэрии;
      Обновлён интерьер LSPD;
      Реализовано открытие дверей в здании полиции (частично);
      Обновлены эксклюзивные аксессуары;
      Исправлена покупка эксклюзивных авто;
      Добавлен пикап спавна транспорта организаций (учитывая штучность транспорта);
      Устранена уязвимость (дыра по SKY, через которую можно было крашить сервер);
      По многочисленным просьбам удалён weapon-config и все его связки.
       
      И это далеко не всё!
      Важное:
      Это первая версия мода. В дальнейшем буду дорабатывать и улучшать его по мере возможности если увижу отдачу на видеоролике в ютуб.
      Если у вас будут дополнения к системам или возникнут проблемы — пишите смело: vk.com/gta_lacoste.
      Я не до конца знаком с оригиналом проекта, но главная суть уже реализована, осталось только довести детали.
      Прошу писать мне прилагая скриншоты/видео, чтобы я наглядно видел как работает та или инная система представленная на проекта. Спасибо)
       
      Удачи в открытии копий, хулиганы! 😉
      Добавил sinvays Добавлено 18.09.2025 Категория Моды Автор Angel Sinvays (Daddy Lacoste)  
    • Доналдо Фарекелка
      От Доналдо Фарекелка


      Скачать файл Arizona RolePlay || Ser
      Приветствую, этот мод я нашёл на просторах интернета. 
      Скачал мод у автора:  Developer Stravinskiy
      Доработал мод: Donaldo_Farekelka
       
      Предупреждаю! Мод сырой, багов стало меньше, но они есть.
      Мод: Баня, Подвал, В некоторых местах маппинг, система коронавируса, 8 лвл админок
       
      Информация:
      1) Dc_Cmd
      2) Mysql, mode, language - Всё настраивается теперь в pawno ( UPDATE: 1.1.0 )
      3) Административные права в данный момент можно выдать через /amakeadmin(Смотреть уроки) или БД ( UPDATE: 1.2.2 ).
       
      То что я сделал ( Всё что я делаю сейчас, смотрите в изменениях ):

      Как установить мод на хостинг(Чтобы больше не было вопросов в ЛС):
      RUTUBE: https://rutube.ru/video/f74276be05e090652ee46bcbe2b4e27d
      YOUTUBE: https://youtu.be/z07sJUAVQpI
      Добавил Доналдо Фарекелка Добавлено 13.04.2023 Категория Моды Автор shenol (vk.com/donaldo_farekelka)  
    • Maksim_Nemos
      От Maksim_Nemos
      Всех приветствую!
      Решил запустит на локальной сети сервер samp но при входе не открывается окно регистрации а в чат только пишет Connect to "Название Сервера прописанное в моде" и появляется курсор самп мышки и внизу кнопки < > spawn
      Скрин №1 и №2