Перейти к контенту

Nazgool

Жители
  • Число публикаций

    618
  • Регистрация

  • Последнее посещение

  • Дней в топе

    1
  • AMKoin

    37 [Подарить AMKoin]

Весь контент пользователя Nazgool

  1. Какая-то ерунда получается! Ах, да. Забыл рассказать начало истории Решил (по)использовать макет luabind для академического lua версии xStream (этот код был любезно предоставлен нам несколько выше). Всё очень замечательно, но... (Remark) Я в этом конечно не гуру, поэтому и высказываю свои эмоции в надежде на объяснение несостоятельности их возникновения. Итак. При объявлении класса (class "Х") в таблице _G создается поле-таблица(класс). Пока всё верно. Далее (по чтению кода) в этот класс добавляются поля. Но эти поля являются только методами (т.е. функциями). А где же свойства??? Так вот эмоции у меня вызвал метод "__init". В нём вроде бы и есть свойства, но... Судя по коду метод "__init" вызывается только в одном случае. А именно при создании объекта класса. Т.е. все данные этого метода (а именно искомые свойства) записываются в таблицу создаваемого объекта. А значит, что при создании нескольких объектов класса, в каждый из них будут записаны эти свойства. Но, насколько я понимаю это не правильно. Свойства должны быть прописаны именно в таблице класса, а объекты (если не изменяют некоторых методов и свойств) должны просто ссылаться на родителя, но не заполнять эти поля в себе. Конечно можно сразу после объявления класса заполнить его и свойствами. Но тут возникает другая проблема. А если мне не нужно этого делать до определенного времени? (например загружаю файлы в проект, но использование их начнется позже) Тогда остается одно. Обернуть назначение свойств класса в метод, и вызвать этот метод в необходимое время. Что собственно пока и решает вопрос, но хочется знать, - "Как всё-таки сделать правильнее всего?"
  2. Nazgool

    Скриптование

    Ну тогда писать каждому в логику секцию [on_death] и в ней выдачу инфопорции на смерть. Когда соберутся все, производить спавн и восстановление инфопорций.
  3. Nazgool

    Скриптование

    Да, и оформлять код нужно должным образом. Так, чтобы читать можно было легко. Например (шутка) :
  4. Nazgool

    Скриптование

    olaf1 Машинный перевод английского на русский для многих выглядит значительно хуже, чем текст, просто написанный на английском. Я так и не смог толком понять что же тебе нужно, поэтому пришлось понимать по приведённому тобой коду. И в нём присутствует абсурд. А именно в строке if time_global() > timer then time_global() измеряется в миллисекундах, а timer у тебя задан в часах. Естественно, что time_global() у тебя всегда будет больше чем timer. Приведи оба операнда к единому измерению. Всё бы хорошо, но по всей видимости и английский не является родным языком нашего гостя. ColR_iT
  5. Почему ужас? И почему - на удивление? Все и должно было сработать.
  6. А я разве сказал писать"start" в начале? Посмотри внимательнее мой код. Хотя я имею в виду просто открытие файла, а у тебя может быть что-то другое.??? Напиши os.execute('"'..log_path..'"') Вот блин. Так непонятно. Так : os.execute([["]]..log_path..[["]])
  7. *Shoker* Пиши так : os.execute([["D:\\name file.txt"]]) -- или io.popen([["D:\\name file.txt"]]) Двойные кавычки в CMD защитят от пробелов в именах директорий\файлов. Различия между "string" и 'string' в контексте lua нет никакого. Кому как удобнее, тот так и пишет. А вот с использованием os.execute могут быть проблемы из-за синтаксиса CMD. Поизучай его. Я конечно совершил ошибку, что сразу не написал корректный код. Извиняюсь. Упустил. Русские буквы не должны мешать.
  8. *Shoker* ИМХО, гораздо интереснее смотрится решение твоего вопроса с использованием pipe.
  9. Nazgool

    Скриптование

    Я уже забыл конечно (давно сталкером не занимался). Собственно - изменение в инвентаре это не дроп\тэйк? Если да, то ставить обновление на них вместо апдейта.
  10. Nazgool

    Скриптование

    _Призрак_ Подобная конкатенация в цикле - 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)
  11. Nazgool

    Скриптование

    Мля, достали уже. demover123, да и многие другие. Когда-то написал этот скрипт - ДА!. Но только не для тех кто в бронепоезде. Неужели трудно понять что , да и другое, это... Э-э-х. Чего бисер метать?
  12. Nazgool

    Скриптование

    Что за запись? function function_start_1(). Один раз function Сорри. Зарапортовался. P.S. Ну ты и назвал. Назови просто start_1, дабы не вводить людей в заблуждение
  13. Nazgool

    Скриптование

    Tris Инициализируй функции перед выполнением проверок.
  14. аlреt Неужели ты считаешь, что такая информация может быть проигнорирована? Можно подробности? Это только для контекста Сталкера, или для luа в целом?
  15. Nazgool

    Скриптование

    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
  16. Nazgool

    Скриптование

    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.
  17. Nazgool

    Скриптование

    HellRatz А что тут непонятного? В файле xr_gulag.script, в строке 1219 переменная 'strn' равна nil. Ищи, откуда она берется, какое значение должно быть ей присвоено. И почему она равна nil. У нас твоих кодов нет, поэтому прийдется тебе самостоятельно это сделать.
  18. Nazgool

    Скриптование

    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))
  19. Так. Дело принципа. Давай поступим следующим образом. Измени свой рестриктор на :
  20. Не нужно рассказывать мне басни. Такого выражения НЕТ!!! Измени "position = =122.554,-26.236,-468.079" на "position = 122.554,-26.236,-468.079". Может я, а может ты чего не понял?
  21. MIDERY Ругается на эту запись position = =122.554,-26.236,-468.079 "= =" такого выражения не существует.
  22. Занимаясь кое-какими своими делами, случайно вспомнил (точнее сказать наткнулся) на довольно старую статью. В своё время воспринял её как аксиому и...пользовался. (Далее для начинающих) Но на само то деле в ней описываются действительно полезные советы. Сейчас я её в сети не найду (или не хочу искать, т.к. сохранил у себя) поэтому процитирую некоторые моменты.
  23. malandrinus, Я же не говорю что перебор это панацея. Сам бы наверное поступил незатейливо. Был задан несколько пространный вопрос. Зная что нужно, на зная точно для чего, достаточно тяжело сказать как. Ведь я не зря вначале сказал, - "Нужно знать откуда и при каких условиях запрашивается это имя". Вот и получилось, что количество вариантов наверняка оказалось больше чем ожидал "заказчик". Варианты. Только и всего.
  24. Аrtоs, да никто тут копья не ломает. Дискутируем, разбираемся, ищем, находим. Хорошо что есть с кем. А то молчат все, как будто всё знают.
  25. Это известно. Если нужно, можно поговорить и о чистом luа. Но всё же делаем с оглядкой на сталкер. Dеbug исключается.
×
×
  • Создать...