Вопросы

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

Доброй ночи, у меня есть небольшая проблема. сегодня я  написал систему создание обьектов через диалог через функцию editobject, написать написал. и все работает обьект ставиться виден всем игрокам, но вот беда, а как сделать удаление обьекта? который игрок создал, и хотелось бы не всех обьектов а к тому с которым он рядом, как то делается? прошу помощи. 

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


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

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

  • 0
MuhammadPawn
Великий Гуру

@DENIS.P. создаёшь переменную с 2 массивами 1 массив - игрок 2 массив - объекты 

при создании создаёшь переменную котороя подчитывает создоваемые объекты и запишет их в массив

к примеру 

new i;
test[playerid][i] = CreateObject...
i++;

и всё потом что-бы удалить все используешь цикл 

for(new o; o < i; o++){
    DestoryObject(test[playerid][o]);
}

 

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


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

@DENIS.P. с которыми он рядом это уже дополнительные хлопоты, можно сделать удаление того, который он создал с лимитом создания в 1 объект в таком случае. При создании объекта к функции CreateObject необходимо приравнять переменную, а при удалении, в качестве аргумента функции DestroyObject(objectid); необходимо указать эту самую переменную. 

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


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

@DEST А если все которые создал, что бы вот он создал. мы там рп отыграли и он введя команду все эти созданные удалились.

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


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

@DEST Пытался сделать сделал так, и переменная так, не робит, я вообще не имею представления как сделать.

if(strcmp(cmd, "/delobj", true) == 0)
	{
 		new objectid;
		DestroyObject(objectid);
		return true;
	}

 

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


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

@DENIS.P. внимательно мой пост читайте. В команду, в которой СОЗДАЕТСЯ объект, а НЕ удаляется нужно присваивать переменной значение.
 

objectid = CreateObject(...); 

А в команде удаления использование верное, но только переменную objectid необходимо сделать глобальной, т.е. добавить в начало мода. 

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


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

@DEST а теперь жди как он будет ныть что не удаляются все объекты а токо последний созданный (придётся тебе про массив объяснять ему и циклы) 

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

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


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

@Skiffi основы я знаю! не надо тут, просто не могу понять как это работает, ад и скажу вам все так учатся, вы тоже раньше спрашивали и учились, так, что не нужно тут планку завышать. 

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


Ссылка на сообщение
  • 0
Skiffi
Активный

@DENIS.P. Вы пытаетесь удалить объект с нулевым* ID, использованием только-что* созданной локальной* переменной и утверждаете что знаете основы?


Да, я учился, но за все время что я учился мною было создано 6 тем с вопросами, где половину я решил самостоятельно - пользуясь гуглом и собственным серым веществом*
Планку никто не завышает, я лишь отметил некоторую часть из вашего сообщения, а то-что у вас так с этого пригорело - проблемы вашей психики ^_^

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

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


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

@Skiffi Пригорело? совсем ложная информация, я спокойно отнеся к вашему сообщению, просто ненавижу таких гнилых людей как вы, как не можете понять, что человек просит помощи и новичкам стоит помогать, а не думать, что вот вы научились и вы бог и все давайте писать такие сообщения, по типу : " ты ничего не можешь зачем браться" - хотя могли элементарно помочь, но о вас я уже сделал вывод, спасибо. 

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

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


Ссылка на сообщение
  • 0
Skiffi
Активный

Перечитайте первое сообщение, я не говорил что вы ничего не можете, я сказал зачем браться за такое, если основы не знаете - соответственно нужно взять и подучить основы и тогда все получится. Если брать все готовое с форума, у вас ничего не получится. Я могу написать вам готовый код, но из него вы на вряд ли что-то извлечете.

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

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


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

@DENIS.P. Вот после оскорбления что мы гнилые люди, то чё ты сюда тогда нам гнилым пишешь? раз такой свежий иди решай сам 

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


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

@DENIS.P. вам не будут в одной теме все персонально объяснять. Уроки на форуме есть, ответ на вопрос дан. Вам же нужен функционал повышенной сложности. Если люди найдутся, отпишут вам. Тему оставлю открытой, если надо будет сами закроете. 

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


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

@DEST как сделать команду я уже понял. но я не знаю как можно сделать так, что бы они удалялись. по очередности ту которую создал, а  то я я сделал, что удаляются все. Мне не нужен код, мне нужно объяснение. внятное. 

 

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


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

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

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

    • Владислав Малиновский
      От Владислав Малиновский
      SWEEK RUSSIA — онлайн игра на телефон с открытым миром, в котором Вы можете создать персонажей вместе со своими друзьями и начать весело проводить время. Вы можете продвигаться по сюжету квестовых миссий или же начать игру с зарабатывания денег в транспортной компании. Создавать организации, подниматься по карьерной лестнице. Заполучив влияние над другими игроками - попробуй себя в роли Президента.
       
      Нам нужны ответственные люди на должность главного администратора. Если вы считаете себя адекватным и ответственным, отпишите в vk.com/devmaksim или t.me/raphmarci.
       
      Официальный сайт проекта - sweekrussia.ru
      Официальный форум проекта - forum.sweekrussia.ru
      Официальное сообщество VK - vk.com/sweekrussia.game
      Официальный TG канал - t.me/sweek_dev
    • bogdan295@gmai
      От bogdan295@gmai
      Здраствуйте, я создавал новую организации когда дело дашло до пикапов они не создаются 
      new lssd1; new lssd2;  else if(pickupid == lssd2)// Вход     {         SetPlayerInteriorEx(playerid,0);         SetPPos(playerid,1567.5510,-1657.9956,5.3859);         SetPlayerFacingAngle(playerid, 500);         return true;     } else if(pickupid == lssd1)// Вsход     {         SetPlayerInteriorEx(playerid,0);         SetPPos(playerid,630.0542,-572.0032,16.3359);         SetPlayerFacingAngle(playerid, 500);         return true;     }     lssd2 = CreatePickupAC(1318,1,626.9653,-571.8394,17.9207, 147); // вход лссд     lssd1 = CreatePickupAC(1318,1,1567.4720,-1660.6494,5.3859, 147); // выход лссд Что я сделал не так?