Русское сообщество по скриптингу

Помогите с Arrey  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Помогите с Arrey

Сообщение trojanranson » 12 фев 2021, 21:24

Записал индекс энтити в Arrey
Array = 5
Array = 118
Array = 122
Array = 129
Array = 130
Array = 131
Вот если энтити 129 не станет как стереть ее в Array? :-)
amxx просто хобби для себя.
Аватара пользователя
trojanranson
 
Сообщения: 102
Зарегистрирован: 07 мар 2020, 23:15
Откуда: г.Херосн
Благодарил (а): 33 раз.
Поблагодарили: 14 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Пиво с рыбкой

Re: Помогите с Arrey

Сообщение RSO_ » 12 фев 2021, 23:21

Вы должны зарегистрироваться, чтобы видеть ссылки.
точно не уверен но оно тебе не надо (со текстом может пригодится)

можно так: new const gs_Remove[][] = { "*5", "*118", "*122", "*129", "*130","*131" };

ну и там если что вдруг того этого вот
new const MAX_MODEL = sizeof(gs_Remove);

for( new i = 0; i < MAX_MODEL; i++ )
{
if( equal(sModel, gs_Remove[i]) )
{
engfunc(EngFunc_RemoveEntity, ent);
return FMRES_SUPERCEDE;
}
}

Добавлено спустя 9 минут 26 секунд:
надеюсь я по теме написал или не в тему
Последний раз редактировалось RSO_ 13 фев 2021, 07:15, всего редактировалось 1 раз.
слава великой сонтаранской империи !
Аватара пользователя
RSO_
 
Сообщения: 280
Зарегистрирован: 20 окт 2019, 21:40
Откуда: от верблюда
Благодарил (а): 45 раз.
Поблагодарили: 20 раз.
Опыт программирования: Меньше недели
Языки программирования: . . . 100 ISQ

Re: Помогите с Arrey

Сообщение trojanranson » 12 фев 2021, 23:30

Короче сделал мины напольные хочу добавить в меню удаление по предыдущей мине.
Оно работает до момента пока мина не взорвется точнее которая не в очереди Array
Тип 5 мин
Array = 5
Array = 118
Array = 122
Array = 129
Array = 130
Array = 131
И если взорвётся мина 129 то пиши пропало.
Вот хочу узнать можно ли сравнить индекс энтити в Array и с той которая была уничтожена и удалить ее с той очереди да и вообще начинаю путаться в этом всем. Может есть другие варианты?
amxx просто хобби для себя.
Аватара пользователя
trojanranson
 
Сообщения: 102
Зарегистрирован: 07 мар 2020, 23:15
Откуда: г.Херосн
Благодарил (а): 33 раз.
Поблагодарили: 14 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Пиво с рыбкой

Re: Помогите с Arrey

Сообщение RSO_ » 12 фев 2021, 23:40

я это хз. если код секретный. короче в личку или по кусочкам код выкладывай с описанием что надо
может в месте что то сделаем

Добавлено спустя 2 минуты 35 секунд:
из меня скриптер как пуля из говна
слава великой сонтаранской империи !
Аватара пользователя
RSO_
 
Сообщения: 280
Зарегистрирован: 20 окт 2019, 21:40
Откуда: от верблюда
Благодарил (а): 45 раз.
Поблагодарили: 20 раз.
Опыт программирования: Меньше недели
Языки программирования: . . . 100 ISQ

Re: Помогите с Arrey

Сообщение trojanranson » 13 фев 2021, 00:13

С меня такой же скриптер да и не считаю себя им :-)
amxx просто хобби для себя.
Аватара пользователя
trojanranson
 
Сообщения: 102
Зарегистрирован: 07 мар 2020, 23:15
Откуда: г.Херосн
Благодарил (а): 33 раз.
Поблагодарили: 14 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Пиво с рыбкой

Re: Помогите с Arrey

Сообщение fl0wer » 13 фев 2021, 01:19

trojanranson писал(а):Вот если энтити 129 не станет как стереть ее в Array? :-)

Удаляй из ария как не станет.
Аватара пользователя
fl0wer
 
Сообщения: 1687
Зарегистрирован: 27 фев 2011, 21:35
Откуда: Россия, Ижевск
Благодарил (а): 240 раз.
Поблагодарили: 508 раз.
Опыт программирования: Больше трех лет
Языки программирования: C++, Java, PAWN

Re: Помогите с Arrey

Сообщение RSO_ » 13 фев 2021, 07:19

static Array:g_a_data; - это арий
ArrayClear(g_a_data) - это чистый арий
слава великой сонтаранской империи !
Аватара пользователя
RSO_
 
Сообщения: 280
Зарегистрирован: 20 окт 2019, 21:40
Откуда: от верблюда
Благодарил (а): 45 раз.
Поблагодарили: 20 раз.
Опыт программирования: Меньше недели
Языки программирования: . . . 100 ISQ

Re: Помогите с Arrey

Сообщение Fedcomp » 13 фев 2021, 08:30

trojanranson писал(а):Вот хочу узнать можно ли сравнить индекс энтити в Array и с той которая была уничтожена и удалить ее с той очереди да и вообще начинаю путаться в этом всем. Может есть другие варианты?

Массив непрерывен. Значит надо либо пихать какое то специальное значение чтобы понимать что элемент пустой, либо сдвигать весь массив после этого элемента вверх (может быть довольно медленным занятием).
В других языках есть более эффективные для этого дела сущности.
Не помогаю в ЛС - есть форум.
Плагины тоже не пишу, на форуме достаточно хороших скриптеров.


"я ставлю зависимости потому что мне приятно" - subb98 @ 2017
Аватара пользователя
Fedcomp
Администратор
 
Сообщения: 4936
Зарегистрирован: 28 авг 2009, 20:47
Благодарил (а): 813 раз.
Поблагодарили: 1317 раз.
Языки программирования: =>
pawn / php / python / ruby
javascript / rust

Re: Помогите с Arrey

Сообщение trojanranson » 13 фев 2021, 13:08

В общем сделал по другому
Код: Выделить всё

new g_HavelMineCount
[33]
//потом через while в отдельной функции MineCountPlayer(id) 
//записываю энтити  по класнейму и владельца в g_HavelMineCount[id] = ent
//в меню обновляю массив и удаляю энтити
case 3:{
g_lMinePlayerCount[id]--
MineCountPlayer(id)
set_pev(g_HavelMineCount[id], pev_flags, pev(g_HavelMineCount[id], pev_flags) | FL_KILLME);
}
//конечно не по порядку так как 3 вида мин,(если один ток вид ставить то норм) но тоже сойдет 

В общем буду наблюдать что будет дальше :-)

Добавлено спустя 15 минут 43 секунды:
fl0wer писал(а):
trojanranson писал(а):Вот если энтити 129 не станет как стереть ее в Array? :-)

Удаляй из ария как не станет.

Прикольный ответ я спрашиваю как удалить, а ответ удали :-D :-D :-D
amxx просто хобби для себя.
Аватара пользователя
trojanranson
 
Сообщения: 102
Зарегистрирован: 07 мар 2020, 23:15
Откуда: г.Херосн
Благодарил (а): 33 раз.
Поблагодарили: 14 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Пиво с рыбкой

Re: Помогите с Arrey

Сообщение deadkid56 » 23 фев 2021, 05:22

Как вариант: гоним циклом по Array - Массиву до конца. Получаем индекс entity и проверяем существование. Если существует, записываем индекс отдельно. После цикла просто перезаписываем Array и будут у тебя валидные индексы.
Аватара пользователя
deadkid56
 
Сообщения: 42
Зарегистрирован: 09 авг 2018, 10:41
Благодарил (а): 8 раз.
Поблагодарили: 4 раз.
Языки программирования: Я ничего не знаю

След.

Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot], Google [Bot] и гости: 10