-
Число публикаций
618 -
Регистрация
-
Последнее посещение
-
Дней в топе
1 -
AMKoin
37 [Подарить AMKoin]
Весь контент пользователя Nazgool
-
Язык Lua. Общие вопросы программирования
Nazgool ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Какая-то ерунда получается! Ах, да. Забыл рассказать начало истории Решил (по)использовать макет luabind для академического lua версии xStream (этот код был любезно предоставлен нам несколько выше). Всё очень замечательно, но... (Remark) Я в этом конечно не гуру, поэтому и высказываю свои эмоции в надежде на объяснение несостоятельности их возникновения. Итак. При объявлении класса (class "Х") в таблице _G создается поле-таблица(класс). Пока всё верно. Далее (по чтению кода) в этот класс добавляются поля. Но эти поля являются только методами (т.е. функциями). А где же свойства??? Так вот эмоции у меня вызвал метод "__init". В нём вроде бы и есть свойства, но... Судя по коду метод "__init" вызывается только в одном случае. А именно при создании объекта класса. Т.е. все данные этого метода (а именно искомые свойства) записываются в таблицу создаваемого объекта. А значит, что при создании нескольких объектов класса, в каждый из них будут записаны эти свойства. Но, насколько я понимаю это не правильно. Свойства должны быть прописаны именно в таблице класса, а объекты (если не изменяют некоторых методов и свойств) должны просто ссылаться на родителя, но не заполнять эти поля в себе. Конечно можно сразу после объявления класса заполнить его и свойствами. Но тут возникает другая проблема. А если мне не нужно этого делать до определенного времени? (например загружаю файлы в проект, но использование их начнется позже) Тогда остается одно. Обернуть назначение свойств класса в метод, и вызвать этот метод в необходимое время. Что собственно пока и решает вопрос, но хочется знать, - "Как всё-таки сделать правильнее всего?" -
Ну тогда писать каждому в логику секцию [on_death] и в ней выдачу инфопорции на смерть. Когда соберутся все, производить спавн и восстановление инфопорций.
-
Да, и оформлять код нужно должным образом. Так, чтобы читать можно было легко. Например (шутка) :
-
olaf1 Машинный перевод английского на русский для многих выглядит значительно хуже, чем текст, просто написанный на английском. Я так и не смог толком понять что же тебе нужно, поэтому пришлось понимать по приведённому тобой коду. И в нём присутствует абсурд. А именно в строке if time_global() > timer then time_global() измеряется в миллисекундах, а timer у тебя задан в часах. Естественно, что time_global() у тебя всегда будет больше чем timer. Приведи оба операнда к единому измерению. Всё бы хорошо, но по всей видимости и английский не является родным языком нашего гостя. ColR_iT
-
Язык Lua. Общие вопросы программирования
Nazgool ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Почему ужас? И почему - на удивление? Все и должно было сработать. -
Язык Lua. Общие вопросы программирования
Nazgool ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
А я разве сказал писать"start" в начале? Посмотри внимательнее мой код. Хотя я имею в виду просто открытие файла, а у тебя может быть что-то другое.??? Напиши os.execute('"'..log_path..'"') Вот блин. Так непонятно. Так : os.execute([["]]..log_path..[["]]) -
Язык Lua. Общие вопросы программирования
Nazgool ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
*Shoker* Пиши так : os.execute([["D:\\name file.txt"]]) -- или io.popen([["D:\\name file.txt"]]) Двойные кавычки в CMD защитят от пробелов в именах директорий\файлов. Различия между "string" и 'string' в контексте lua нет никакого. Кому как удобнее, тот так и пишет. А вот с использованием os.execute могут быть проблемы из-за синтаксиса CMD. Поизучай его. Я конечно совершил ошибку, что сразу не написал корректный код. Извиняюсь. Упустил. Русские буквы не должны мешать. -
Язык Lua. Общие вопросы программирования
Nazgool ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
*Shoker* ИМХО, гораздо интереснее смотрится решение твоего вопроса с использованием pipe. -
Я уже забыл конечно (давно сталкером не занимался). Собственно - изменение в инвентаре это не дроп\тэйк? Если да, то ставить обновление на них вместо апдейта.
-
_Призрак_ Подобная конкатенация в цикле - str=str..add - всегда была ужасно медленной штуковиной. Сделай через таблицу : local t = {} local char = string.char for i=1,size do t[#t+1] = char(r:r_u8()) end local str = table.concat(t)
-
Мля, достали уже. demover123, да и многие другие. Когда-то написал этот скрипт - ДА!. Но только не для тех кто в бронепоезде. Неужели трудно понять что , да и другое, это... Э-э-х. Чего бисер метать?
-
Что за запись? function function_start_1(). Один раз function Сорри. Зарапортовался. P.S. Ну ты и назвал. Назови просто start_1, дабы не вводить людей в заблуждение
-
Tris Инициализируй функции перед выполнением проверок.
-
Язык Lua. Общие вопросы программирования
Nazgool ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
аlреt Неужели ты считаешь, что такая информация может быть проигнорирована? Можно подробности? Это только для контекста Сталкера, или для luа в целом? -
Study syntax lua. "npc" is string. This string is not some name. The name your table - npc - a link. Use it is necessary so : for k,v in pairs(npc) do
-
olaf1 Your script not correct! Use some lua checker. For instance. You write : ... for k,v in pairs("npc1") do ... Type "npc1" is string. But must be a table.
-
HellRatz А что тут непонятного? В файле xr_gulag.script, в строке 1219 переменная 'strn' равна nil. Ищи, откуда она берется, какое значение должно быть ей присвоено. И почему она равна nil. У нас твоих кодов нет, поэтому прийдется тебе самостоятельно это сделать.
-
olaf1 Найди отличие 111 self.spwan = alife():create(respawn_npc, vector():set(respawn_npc_point) 111 self.spwan = alife():create(respawn_npc, vector():set(respawn_npc_point))
-
[SoC] Ковыряемся в файлах
Nazgool ответил на тему форума автора Halford в Скрипты / конфиги / движок
Так. Дело принципа. Давай поступим следующим образом. Измени свой рестриктор на : -
[SoC] Ковыряемся в файлах
Nazgool ответил на тему форума автора Halford в Скрипты / конфиги / движок
Не нужно рассказывать мне басни. Такого выражения НЕТ!!! Измени "position = =122.554,-26.236,-468.079" на "position = 122.554,-26.236,-468.079". Может я, а может ты чего не понял? -
[SoC] Ковыряемся в файлах
Nazgool ответил на тему форума автора Halford в Скрипты / конфиги / движок
MIDERY Ругается на эту запись position = =122.554,-26.236,-468.079 "= =" такого выражения не существует. -
Язык Lua. Общие вопросы программирования
Nazgool ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Занимаясь кое-какими своими делами, случайно вспомнил (точнее сказать наткнулся) на довольно старую статью. В своё время воспринял её как аксиому и...пользовался. (Далее для начинающих) Но на само то деле в ней описываются действительно полезные советы. Сейчас я её в сети не найду (или не хочу искать, т.к. сохранил у себя) поэтому процитирую некоторые моменты. -
Язык Lua. Общие вопросы программирования
Nazgool ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
malandrinus, Я же не говорю что перебор это панацея. Сам бы наверное поступил незатейливо. Был задан несколько пространный вопрос. Зная что нужно, на зная точно для чего, достаточно тяжело сказать как. Ведь я не зря вначале сказал, - "Нужно знать откуда и при каких условиях запрашивается это имя". Вот и получилось, что количество вариантов наверняка оказалось больше чем ожидал "заказчик". Варианты. Только и всего. -
Язык Lua. Общие вопросы программирования
Nazgool ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Аrtоs, да никто тут копья не ломает. Дискутируем, разбираемся, ищем, находим. Хорошо что есть с кем. А то молчат все, как будто всё знают. -
Язык Lua. Общие вопросы программирования
Nazgool ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Это известно. Если нужно, можно поговорить и о чистом luа. Но всё же делаем с оглядкой на сталкер. Dеbug исключается.
- [ЧН] OGSM CS 1.8 CE Fixes
- [ЧН] HARDWARMOD 3.2
- [ЗП] The Long Road
- [ЧН] New vision of War
- [ЧН] Old Good Stalker Mod - Clear Sky
- [ЗП] Unofficial Patch
- [ЗП] Смерти вопреки
- [ЗП] Контракт на хорошую жизнь
- [ЗП] Shoker Weapon Mod 2.1
- [ЗП] Hardcore pack for SGM 2.2
- [ЗП] Контракт Синдиката
- [ЗП] Клондайк 2.0
- ...и другие моды