Stalk15
Спасибо за то, что оценил.
Не буду набивать цену, но реально эта прога лучше ищет ошибки.
Так что юзайте, не пожалеете.
(Вот блин, тавтология получается. Но это не у меня - это у водки :-))
Gun12
Огромное спасибо за твой труд, экономящий время! Погоняем на 'вшивость' ... ;-)
Небольшая пожелалка (если глянется и будет время): добавить формирование списка исключений из проверки. Это конечно несколько избыточно, но ... порой модмейкер оставляет в папках заведомо 'нерабочие' скрипты/примеры ...
Stalk15
Выбирать способ итерации для таблицы нужно исходя из структуры таблицы!
В твоем случае: for k, v in pairs(CItem) do явно НЕ подходит для простого списка ...
Ключем то является секция, а вот значения (v - volume) в твоей табличке то и нет.
Попробуй 'ipairs' применить.
(Прим: Чем проще код тем меньше ошибок (не только синтаксических)! Вероятность ошибки прямо-пропорциональна вычурности алгоритма. Пиши попроще алгритмы, а то так и будешь больше ошибки ловить, чем двигаться вперед.)
Stalker_Alex333
Пока не имею достаточно практического опыта по использованию ACDC при добавлении локаций. Но ... в любом случае подобные твоей ошибке/сообщению нужно разбирать на уровне кода компиллятора, а для этого немаловажна его версия (т.е. конкретные коды).
В общем пока не могу помочь советом, а 'практикой' - если только позже, т.к. занят иным ...
отредактировал(а) Artos: 21-01-2011 20:08 GMT3 час.
Artos
Что-то с ipairs тоже не работает. Попробовал еще вот так:
local food = {"bread", "kolbasa", "conserva", "vodka", "energy_drink"}
function ukiiui()
local yi = get_items_sec(db.actor)
if Get_Class_Item(yi, food) then
get_console():execute ("Есть")
else
get_console():execute ("нету")
end
end
function get_items_sec(npc)
npc:iterate_inventory(function(dummy, Item)
return Item:section()
end
,nil)
end
function Get_Class_Item(Item, CItem) if CItem[Item] then
get_console():execute ("true")
return true
else
get_console():execute ("false")
return false
end
end
Stalk15
Никогда не любил пользоваться для итерации инвентаря всякими iterate_inventory - г**5001b67681f3126adde4**e
end
end
return false
end
вернет true при наличии хотя бы одного объекта из списка.
[/code]
отредактировал(а) erlik: 21-01-2011 21:05 GMT3 час.
serega_zombi_stalker влом почитать две страницы назад?:dry: Эти вопросы уже не один раз обсуждались.
Блин, я понимаю что у**5001b67681f3126adde4**: 132
Description : D3DXCreateTexture( HW.pDevice, top_width,top_height, levels_exist,0,t_dest_fmt, D3DPOOL_MANAGED,&t_dest )
[/code]Повторюсь, вылетает при попытке перезагрузить с сейва, после гибели ГГ, причём после перезагрузки игры сейв грузится нормально. Вылетает при попытке загрузки любого сейва. В том что не тянет видюха сомневаюсь, на других модах всё норм, проблема в моей геймдате. Последнее что делал, добавлял новые стволы (все рабочие, в mp_ranks прописаны).
Artos
Если бы ты знал, сколько я планировал сделать.
(а есть от чего отталкиваться. Опыт, как говорится не пропьёшь :-))
Я уже пояснял, как только найду время - обязательно продолжу.
Меня будет подстёгивать и то, что слышу достаточно лестные отзывы о моей работе.
Так что, повторю, пока есть как есть. А там посмотрим.
P.S.
Честно скажу, не понял этого :
... добавить формирование списка исключений из проверки..
Можно подробнее?
Stalk15 :
Вот не понимаю, как вы эти проги создаете, DLL-ки всякие и .exe ...
Да ничего там сложного нет. Главное желание и с годик опыта :-)
отредактировал(а) Gun12: 21-01-2011 21:25 GMT3 час.
Stalk15
А про голову ты забыл?
Что мешает тебе затратить немного времени на простейший анализ написанного?
Код: if CItem[Item] then --/ применимо**5001b67681f3126adde4**then
if v = sItem then
get_console():execute("Info~>true")
return true
end
get_console():execute("Info~>false")
return false
end
[/code]
- (подправлено!)
И совет: НЕ выводи в консоль 'абы что', т.к. get_console():execute(...) по сути отдача в консоль некоторой команды и консоль может и подавиться твоим аргументом ... Используй префиксы, которые однозначно превращают твое сообщение НЕ в команду ...
И ... если не пишешь некий конструктор на всякме случаи - воспользуйся вариантом erlik'a.
Для не-актора можешь чуть видоизменить, чтобы своего непися смог подсовывать в скрипт:
function GetFood(oNPC) --/< опциональный аргумент
if not oNPC then oNPC = db.actor end --/ дефолтно для актора
local iCnt = oNPC:object_count()
local oItem
for i=0, iCnt-1 do
oItem = oNPC:object(i)
if tFood[oItem:section()] then
return true
end
end
end
[/code]
Gun12
Прекрасно понимаю, что и всего что задумано сложно реализовать по разным причинам и то, что 'нет предела совершенству' ... :-)
Рад, что ты смог довести до вполне рабочего варианта, который пригоден для публикации!
Уже это (проделанное) - огромное подспорье молодым модмейкерам, да и матерым сэкономит массу времени на поиске оЧепяток. P.S. По списку исключений:
Неплохо бы иметь
список имен скриптов, которые при их выборе из общегг списка (левое окно) не проверялись бы, а еще лучше - отмечались бы не как невалидные, а как и'сключенные'.
Пример1: Проверяет неопытный модмейкер всю папку скриптов с оригинальными из игры - куча 'битых'.
Поковырявшись с ними и поняв, что это не влияет - может внести в список и более не тратить время и не пугаться ... Пример2: Например я держу в папке сборки моего мода 'lua_help.script' (он же и инфа тем, кто вдруг копаться захочет) - при проверке всей папки -> невалиден. Конечно несложно превратить его в валидный (что и сделал после пробы твоего чекера), но у кого-то могут и др. заготовки/шаблоны/примеры в папках скриптов лежать ... Пример3:(!) Т.к. нельзя быть уверенным в безупречной работе любого кода - стОит иметь возможность вносить ЛЮБОЙ файл в исключения, если уверен, что он валиден.
...
Ты абсолютно прав! Иная оЧепятка столько времени (и матюков) отнимет, что проще заново переписать ...
отредактировал(а) Artos: 21-01-2011 22:19 GMT3 час.
Artos
Если бы новички знали, сколько раз "матёрые" попадаются на всякой мелочи, то оценили бы ещё выше
Я уж знаю что говорю. Проверено горьким опытом. :-)
Поэтому и затеял этот проект.
Artos :
и то, что 'нет предела совершенству' ...
Это ты попал в точку.
Очень мешает эта (врождённая наверное) привычка всё доводить до такого состояния.
Вот потому и не мог "выстрелить" до этого. Хотя заготовок - хоть завались.
Artos
Теперь понял. Спасибо за пожелания. (было бы плохо, если бы их не было :-))
Просьба ко всем, кто юзает эту прогу :
Пожалуйста, если что-то Вас не устраивает или не так работает - отпишитесь.
Как только вернусь к работе - обязательно учту все Ваши замечания.
отредактировал(а) Gun12: 21-01-2011 21:42 GMT3 час.
Если бы не Lua Checker, в свое время, я тов. Artos уже завалил бы вопросами по скриптам... (хотя, наверно так и есть) А ваша разработка еще один ОгрОмный плюс, позволяющий сэкономить уйму времени любому модмейкеру. Надеюсь на выход следующей версии:-)
Ma$ter в том то и дело что вылет именно на моде, на чистой игре всё норм. На амк форуме сказали что оперативы не хватает. Но у меня 3 гига, как может не хватать? Уже увеличил виртуальную память (вроде бы) один чёрт выкидывает. Что за?!...8-(
добавлено спустя 1 минуту
Не, хоть бы сказали что чинить... Я ж не прошу мне его вылечить, подсказку чё не так.
отредактировал(а) TheDoktor: 22-01-2011 07:44 GMT3 час.
TheDoktor
Тогда у тебя есть только один выход. Бекапить мод и потихоньку удалять из него все что сделал. И проверять работает игра или нет. Долго, муторно, но часто это единственный вариант.Когда найдешь ошибку, открываешь бекап мода и исправляешь ее. Удачи в этом деле
Блин, ну сказал же. что вылет тупо из-за графики. Текстуры каждого нового ствола отъедают память. А текстурная реализация арсенал мода вообще кошмар для игры, по нескольким причинам.
И ваши 3 гига тут абсолютно не помогут, так как 32 битное приложение не может использовать более 2 гигов.
у меня несколько вопросов
1. как сделать так, чтобы вертолеты могли заметить и атаковать ГГ на ВСЕХ локациях?
2.как сделать так, чтобы торговцы продавали ВСЕ оружие и костюмы (кроме костюма призрака), которые есть в зоне
3. как сделать так, чтобы торговцы чинили оружие и костюмы
4. как увеличить число слотов для артефактов с 5 до 20
5. как сделать так, чтобы сталкеры ВСЕХ рангов могли ходить в костюмах СЕВА и экзоскелетах
7. как сделать так, чтобы можно было одним попадпнием заставаить БТРы на ЧАЭС прекратить стрельбу
8. как сдлелать так, чтобы с кордона можно было попасть в темную долину, с ЧАЭС можно было вернуться в припять, из Саркофага можно было вернуться на ЧАЭС
9. как отключить эффекты выброса на ЧАЭС 2
10. как сделать так, чтобы шустрый был одет в костюм научников ССП-99м а толик- в костюм СКАТ-9м с противогазом
11. как добавлять в игру СВОИХ сталкеров, добавлять свои локации и создавать свои группировки
12. как сделать так, чтобы на экзоскелете можно было тягать 100кг снаряжения
13. как сделать так, чтобы игра начиналась в Х-18, в комнате, где нужно взять документы, как убрать из Х-18 монстров и как открыть там все кодовые двери, включая ту, которая открывает проход в х_18 в темной долине
извините что так много вопросов
вуу4 Да не место вылета а лог
C:\Users\Public\Documents\stalker-shoc\logs на виндоус 7 находится
На ХР просто общие документы stalker-shoc\logs там есть файлик с расширением log оттуда последние строчки скопируй) тогда поймем в чем ошибка
Илимоно после вылета в любом текстовом документе нажать ctrl+v И будет лог ошибки!
добавлено спустя 14 минут l1qvidat0r
l1qvidat0r
у меня несколько вопросов
1. АМК скрипт посмотри на атаку вертолетом
2.Редактируй баллансы продажи и цены в файлах gamedata\config\mesc\trade_****
3. и опять АМК скрипт
4._http://stalkerin.gameru.net/wiki/index.php/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0
те в помощь
5. character_desc_Название редактируемого лвла.xml в gamedata\configs\gameplay Там визуалы всех НПС
7. Что не помню то не помню)
8. АСДС скачаю открой gamedata\spawns\all.spawn и добавь по координатам точки переходов (Узнать моно с помощью мода на координаты)
9. не знам
10. Выше сказаные НПС в экзике там же шустрый содержится!
11. _http://stalkerin.gameru.net/wiki/index.php/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0
те в помощь 2 раз))) ТЫ новичек а лезешь уже туда)
12. gamedata\configs\misc\outfit.ltx (Все файлы текстовиками открывай) additional_inventory_weight = 20
additional_inventory_weight2 = 20 ; 40+
В где секция экзика ставить вместо 20 100 а вместо 20 ; 40 100 ; 120 например
13. в all.spwn секция actor как и переходы по координатам
добавлено спустя 3 минут
serega_zombi_stalker у меня было пользуешся xrSpawner? Асдс надо! Токо у меня не с НПС а с предметами была такая лажа Наверное у тя изза этого же!
отредактировал(а) Strchi: 22-01-2011 13:36 GMT3 час.
да блин когда не надо дофига как надо ненайдеш!
как изменить вещи которые даются с начала игры? например: очнуться в "обнимку" с винторезом в сталкерском комбезе и прочей дорогой бурдой
[63]
; cse_abstract properties
section_name = actor
name = level_prefix_actor_0001
position = -246.726303100586,-24.7932605743408,-134.433868408203
direction = 0.00431653670966625,-1.39625442028046,-0.00068671052576974
s_flags = 0x29
На сталкер вики, в разделе файлов, вроде был компилятор\декомпилятор локаций различных билдов, в том числе и первого из них (насколько я понял из твоего поста).
В общем я заметил что гулаги с псевдо собаками и пси-собаками не работают, а именно не происходит респавна. В то время как такая фигня как бюреры, химеры спокойно работают и респавнятся.
Вот что у меня написано:
alife_red_forest
[1854]
; cse_abstract properties
section_name = respawn
name = red_forest_psewdodog_respawn_1
position = -71.251045227051,-0.010536700487137,-219.42459106445
direction = 0.0212012492120266,0.00106910814065486,-0.0503877587616444
Подскажите пожалуйста, как поместить текст в определенные рамки, то есть есть большой текст и я его пробуй на статик поставить но он выходит за его рамки с низу, (в xml complex_mode="1") и как сделать чтобы текст не вылезал за пределы нижней границы а появлялся скрул бар?
pulimetm60e3
treasure_manager.ltx - конфигурационный файл(в папке misc), в котором прописаны предметы для каждого тайника. А treasure_manager.script - за выдачу тайников и все прочее.
добавлено спустя 8 минут
FLIKER
Сделай скрин экрана в игре, затем открой скрин в фотошопе, активируй инструмент "раскройка", выдели мышкой нужную область скрина, затем зайди в меню этого инструмента(ПКМ -> опция Edit Slice options ) - в нем будут отображаться координаты и размеры выделенной области.
отредактировал(а) erlik: 23-01-2011 20:16 GMT3 час.