|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Итак: Недостатки: 2. Нуммерация твоего масива будет от 633+. Т.к. начальные гвары уже заняты. С таким подходом сразу запутаешся. А так ты написал не массив, а быстрое происвоение\чтение гвары. Возможности: 1. Ну для начала неплохо бы обнулить переменные, а так работать не будет. 2. У тебя сортировка идёт с первого элемента (т.е. с первой гвары). Представляю какая каша начнётся, если такое применить. 3. Забыл обнулить 'y' после вложенного цикла. 4. А зачем вообще нужна сортировка? 5. Метод пузырька крайне не эффективен. Лучше уж использовать методы двухпутевого слияния, Шелла, квадратичной выборки, быстрой сортировки и т.д., любой на вкус и простоту исполнения. >>Этот код работоспособен(наверное) только для целочеслительных значений так как я не уверен что двиг сможет сравнить две строки. Как уже много раз говорилось: в ssl нет различий между типами переменной. Ты можешь написать как: temp:='aaa'; так и temp:=231;
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 21:03 - 23 Ноября, 2005
|
|
Anchorite
Пользователь
Откуда: Не здесь Регистрация: Янв. 2003
Всего: 283 сообщения
|
Для того, чтобы реализовать полноценные массивы требуется доработать компилятор. Однако массивы будет невозможно импортировать и экспортировать, т.к. обращение к переменным такого класса происходит по имени а не индексу. На настоящий момент массивы можно реализовать с помощью ассембларных вставок в компиляторе от Нойда.
|
Отправлено: 22:40 - 23 Ноября, 2005
|
|
Alan Killenger
Пользователь
Откуда: Россия, Ижевск Регистрация: Июль 2004
Всего: 404 сообщения
|
Цитата: Нуммерация твоего масива будет от 633+. Т.к. начальные гвары уже заняты. С таким подходом сразу запутаешся. А так ты написал не массив, а быстрое происвоение\чтение гвары.
Он же написал set_local_var. Использование GVAR тут не рационально, об этом видимо и речи не идет. А нумерацию все-таки прийдется начинать не с 0 и не с 1 (двиг меняет значение одной LVAR).
Цитата: Метод пузырька крайне не эффективен. Лучше уж использовать методы двухпутевого слияния, Шелла, квадратичной выборки, быстрой сортировки и т.д., любой на вкус и простоту исполнения.
Могу начать всех грузить своими познаниями в численных методах... а нафига? Следует понимать, что автор идеи всего лишь предлагает пример. Лично я это использовать буду наврядли. Уж больно некрасиво смотриться (подождем новый компилятор Анчорита ). Да, кстати, автор забыл упомянуть, что данный способ позволяет нам создавать неограниченное (хехе, почти) количество многомерных массивов. Это можно записать как гуд.
----- hit me, nail me, make me god
|
Отправлено: 1:14 - 24 Ноября, 2005 | ИСПРАВЛЕНО: Alan Killenger - 2:20 - 24 Ноября, 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
>>Он же написал set_local_var Не заметил, прошу прощения. >>Могу начать всех грузить своими познаниями в численных методах... а нафига? А я никого и не грузил. Я просто высказал своё мнение - тот пример не эффективен. Извините, если это выглядело как-то по другому
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 11:44 - 24 Ноября, 2005
|
|
Fozzy
Пользователь
Откуда: Украина,Киев Регистрация: Апр. 2004
Всего: 81 сообщение
|
2Anchorite: Оч. хорошо, но есть одна проблема... Из Асемблера я знаю только принципы его работы, так что было бы неплохо если кто-нить сделает эту фичу. 2Ray: Я же не говорил что это эффективный способ этот пример я навел просто что бы показать для чего могут послужить массивы. 2Alan Killenger: Спасибо за понимание =) З.Ы. И еще... Мож кто-нить знает как двиг будет сравнивать переменные если в них записаны строки? По длинне или по индексам символов(А == 32(вроде)).
----- Последний патрон в поржавевшем стволе - Остаток надежды на то что бы выжить. И две банки джета в моем рюкзаке - Реальность, которой уже не увижу. (С)Fozzy
|
Отправлено: 18:06 - 24 Ноября, 2005
|
|
Alan Killenger
Пользователь
Откуда: Россия, Ижевск Регистрация: Июль 2004
Всего: 404 сообщения
|
Угадал.
----- hit me, nail me, make me god
|
Отправлено: 5:10 - 25 Ноября, 2005
|
|
Alan Killenger
Пользователь
Откуда: Россия, Ижевск Регистрация: Июль 2004
Всего: 404 сообщения
|
Цитата: procedure use_p_proc begin destroy_object(self_obj); end
Почему у меня маппер вылетает с ошибкой?
----- hit me, nail me, make me god
|
Отправлено: 17:53 - 2 Янв., 2006
|
|
Mynah
Модератор
Откуда: Пермь Регистрация: Окт. 2004
Всего: 469 сообщений
|
Alan Killenger, Попробуй поставить script_overrides или, если не поможет, то не уничтожай по use, а вешай короткий таймер, по которому предмет уничтожится.
----- Scio me nihil scire
|
Отправлено: 19:04 - 2 Янв., 2006 | ИСПРАВЛЕНО: Mynah - 21:05 - 2 Янв., 2006
|
|
Alan Killenger
Пользователь
Откуда: Россия, Ижевск Регистрация: Июль 2004
Всего: 404 сообщения
|
1. Как удалить объект из инвентаря игрока, если инвентарь игрока открыт? Можно ли скриптами закрыть инвентарь игрока? 2. Как лучше отловить в скрипте партийца смену прошников? Ну и напоследок. Я поставил в скрипт игрока на обработчик юсе_обж_п_проц скрипт_оверрайдес (семшно звучит), так серьезных последствий не вижу, но если кто наступа на эту граблю может заранее сказать что мне надо реализовать кроме "Это ничего не делает.".
----- hit me, nail me, make me god
|
Отправлено: 23:04 - 4 Янв., 2006 | ИСПРАВЛЕНО: Alan Killenger - 0:05 - 5 Янв., 2006
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
1. Никак. Нельзя. 2. Сам процесс - никак. Прошники меняет движок. Можешь воспрользоваться этой функцией int obj_pid(ObjectPtr obj) - возвращает идентификатор прототипа (pid) объекта Аргументы: obj - указатель на объект Возвращаемое значение: идентификатор прототипа объекта Однако, она сработает постфактум. А тебе надо до или в процессе. Совет: а тебе очень надо, чтобы партийцы книжки читали? Мне, например, не надо... Оверрайд лучше не пиши где попало. Можешь и напороться...
|
Отправлено: 23:09 - 4 Янв., 2006
|
|
|
|