Priboj37 Я знаю У меня ставятся но сталкер находится в пути у меня C:\Games\STALKER А вставятся в папку C:\ program files\GSC\S.T.A.L.K.E.R. Я копирую файлф оттуда заменяю все работает Но ноСД не пашет типо так и осталась 04 версия А мне 06 нужна для сетки...=((( Но сейчас вопрос не об этом Насчет СДкей проблема писать стало что он используется уже( на всех сервах (
ЦитатаРасскажите кто-нибудь про:
Код:
local ggg = 63469347
local packet = net_packet()
packet:w_u32(ggg)
Я так понимаю сохраняет значение ggg?Прямо в сейв?Для чего и как эти данные нужно будет загружать(load)?Вообщем хочу подробностей про w_u32, r_u32.Что можно сохранять, все?
Никуда он его не сохраняет. net_packet() -- это промежуточный буфер обмена, между скриптами игры и собственно, говоря простыми словами, выделенной памятью для одного из объектов. Чтобы произвести сохранение параметра, нужно первоначально, выбрать объект, в выделенной памяти для которого, он и будет находиться.
Чтение и запись производится через установленные методы:
sobj:STATE_Write(packet) --производит загрузку параметров объекта в указанный net_packet.
и
sobj:STATE_Read(packet, size) --производит сохранение в выделенную память объекта, параметров находящихся в указанном net_packet.
При использовании данных методов нужно запомнить раз и на всегда. Если метод STATE_Write может использоваться отдельно (например для считывания какой либо информации), то метод STATE_Read всегда должен использоваться в паре с методом STATE_Write. Иначе, это может привести к крашу объекта, а то и к крашу игры.
А теперь на счёт методов w_... и r_...
Как ты уже понял, методы начинающиеся с w_ производят запись указанного параметра в net_packet. Когда, методы начинающиеся с r_... производят чтение параметров из net_packet.
Каждый тип параметра должен считываться и записываться соответствующими методами. Например, упомянутый тобой метод w_u32(...) производит запись 32-разрядного числа. Для записи строки нужно использовать метод w_stringZ(...). И так далее.
С чтением всё аналогично. Только используются методы с префиксом r_....
И наконец о порядке чтения и записи. Так как, записанные параметры в net_packet не имеют никаких ключей и идентификаторов, то как чтение, так и запись производится в строгом порядке. Например. Имеем net_packet с тремя первыми параметрами:
1.) name,
2.) position,
3.) story_id,
...
Чтобы в данном net_packet перезаписать, например параметр story_id, нужно сначала произвести считывание всех параметров, находящихся до него. Тобишь:
Код:
sobj:STATE_Write(packet)
local name = packet:r_stringZ()
local position = packet:r_vec3() --//метод считывающий вектор
local story_id = packet:r_u32()
...
Теперь нужно пройти тот же путь, но уже с методами записи:
Код:
...
packet:w_stringZ(name)
packet:w_vec3(position)
packet:w_u32( новое значение )
sobj:STATE_Read(packet, packet:w_tell())
Всё это должно производиться между вышеупомянутыми методами чтения и записи параметров серверного объекта.
SkyLoader
Ну раз уж ему четко конфиг, то ... Ma1ik
{не понимаю, зачем тебе именно конфиг}
есть вариант в конфиге aлife_кордон.ltx из аллспавна поменять деньги ГГ при нью гейме. singapur22
О, спасибо. Strchi
Цитатаsingapur22 Ты подробности и описал=) Более он недлячего не нужен
У тебя посты уж очень понимаемые ...Пиши по русски.
Можно ли через худ (hud:GetCustomStatic("")) делать бинденые кнопки, типа таких?
Код:
function ui_asad:OnKeyboard(dik, keyboard_action)
CUIScriptWnd.OnKeyboard(self,dik,keyboard_action)
if keyboard_action == ui_events.WINDOW_KEY_PRESSED then
if dik == DIK_keys.DIK_ESCAPE then
self:cancel()
end
end
return true
end
Метод OnKeyboard() относится к классу CUIScriptWnd{};
И если ты внимательно читал lua_help, то должен был обратить внимание, что в классе CUIGameCustom {}; ничего подобного НЕТ!
Сообщение было успешно отредактировано singapur22 (08-10-2010 19:33 GMT3 часа, назад)
singapur22
Прочитал твои пост про нет_пакет. Появились несколько вопросов
1. sobj:STATE_Write(packet) - записывает в нет_пакет так?
Но если нет_пакет это не сейв, то за что отвечает нет_пакет? Если мы сохраним в нет_пакет данные, сохранимся в игре и загрузим сохранение - данные в нет_пакете не сотрутся?
2. Ты говоришь что если нужно перезаписать что нибудь в пакете нужно сначла считать все данные из него. А если мы не знаем что у нас в пакете?
3. Немного не понял на счет чтения:
как игра узнает какой параметр нужно читать? То есть в твоем примере из пакета считываются данные - а откуда игра знает какие данные нужно считать из пакета?
4. Вроде бы есть несколько нет_пакетов: актора, сталкеров.... Откуда игра понимает что нужно читать именно этот нет_пакет
singapur22,
А можно ли включить управление при включенном меню(окне) CUIScriptWnd{} ? И можно ли сделать так, чтобы меню было как худ, т.е. можно было двигаться и крутить мышкой?
Сообщение было успешно отредактировано SkyLoader (08-10-2010 20:58 GMT3 часа, назад)
ЦитатаНо если нет_пакет это не сейв, то за что отвечает нет_пакет?
Я уже сказал.
В файл save ничего не будет записываться, пока не будет вызвана консольная команда "save name". Тобишь, это уже другая связь с объектами игры.
ЦитатаЕсли мы сохраним в нет_пакет данные, сохранимся в игре и загрузим сохранение - данные в нет_пакете не сотрутся?
Обязательно сотрутся. Как и исчезнет сам нэт_пакет. Создавая объект:
local packet = net_packet()
Ты просто создаёшь локальную переменную, со значением равным объекту класса net_packet.
Записью и чтением файлов могут заниматься только операторы, но никак не переменные.
ЦитатаТы говоришь что если нужно перезаписать что нибудь в пакете нужно сначла считать все данные из него. А если мы не знаем что у нас в пакете?
Вообще странный вопрос. Ответ может быть только: "Извини, но справочника по системе Сталкера разрабами не предусматривалось изначально". Не знаешь, значит нечего соваться.
ЦитатаНемного не понял на счет чтения:
как игра узнает какой параметр нужно читать? То есть в твоем примере из пакета считываются данные - а откуда игра знает какие данные нужно считать из пакета?
Нэт_пакет имеет своё начало и свой конец, как любая книга, или файл. При первом запросе считывания, чтение производится с самого начала пакета. При втором запросе, началом будет уже конец первого запроса. Где этот конец, определяет метод, которым запрос был произведён. Тоже самое и при записи.
ЦитатаВроде бы есть несколько нет_пакетов: актора, сталкеров.... Откуда игра понимает что нужно читать именно этот нет_пакет
Не правильно констатируешь. Нэт_пакет, это объект класса, который создаётся при потребности связи с памятью объекта. И он может содержать данные любого объекта, хоть актора, хоть сталкера.
Нэт_пакет, это некий поезд, который переносит данные из скриптов игры в движок и обратно. Кодом:
local packet = net_packet()
мы создаём этот поезд. А вот что он будет перевозить, зависит уже от того, с каким объектом ты его свяжешь методом sobj:STATE_Write(packet).
добавлено спустя 1 минуту
SkyLoader Нет! Можно лишь оставить возможность движения с клавиатуры. Мышь при этом, в любом случае будет управлять курсором меню. И при этом, все остальные менюшки не будут доступны.
Сообщение было успешно отредактировано singapur22 (08-10-2010 21:53 GMT3 часа, назад)
singapur22
Спасибо, буду пробывать на практике.
Подскажите как сделать укрытие от выброса? Я открыл амк_хайдаут и там вижу
Код:
l01_escape={ --уровень
[1]={ --номер укрытия
aviable=true, --работает или нет укрытие
community="stalker", -- какая группировка может входить в укрытие (а может ли в одно укрытие набиваться 2 группировки? Например Долг и сталкеры?)
center=40607, --?????????
entrances={41949}, --???
zone={ Зона укрытия. Но как она определяется? Это координаты северо-восточного угла укрытия и координаты юго-западного? Или как?
{
p1={-215.67, -23.38, -120.43},
p2={-209.35, -20.52, -132.40}
}
}
},
люди если знаете подскажите я узнал как изменять статы оружия вроде сделал всё по правилам но когда дело доходит до сохранения параметров мне система выдаёт ошибку "отказано в доступе " с чем это может быть связано??? если что операционная система win 7
ну собсно в 7 (аналогично в висте) и дело. Так как вы наверняка поставили игру в Program Files, то система блокирует к файлам доступ.
Есть много решений данной "проблемы". от получения полных прав (гуглим инет), до установки игры на другой диск (например "D"), где таких проблем невозникнет в принципе
Народ помогите
делаю свой мод: при попытке поговорить с бармен вылетает вот такой лог
[error]Expression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
[error]Line : 73
[error]Description : <no expression>
[error]Arguments : LUA error: ... - priboi story\gamedata\scripts\xr_motivator.script:206: attempt to index field 'object' (a nil value)
stack trace:
Дело в том что xr_motivator.script не был даже изменён так в чёмже проблема
И ещё бармен стоит как укопанный ничего не делает просто стоит
Stalk15 В данном случае owner является аргументом, который передаётся в конструктор класса при создании объекта данного класса. Какой именно параметр передаётся, смотри в методе, который открывает данное меню. Судя по имени аргумента, передаётся userdata объекта, из которого данное меню вызывается.
Предназначений может быть достаточно много. Всё зависит от фантазии и потребности.
Всем привет!
Напишите пожалуйста логику для НПС, что бы он стоял на месте и не двигался, не реагировал на монстров (А то уходит) и на выстрелы.
Конечно понимаю, Что обсуждалось это сотни раз, но не одна логика не работает почему то непись все равно уходит с места, или реагирует на моба и уходит и встанет где нибудь на дороге.
Народ помогите
делаю свой мод: при попытке поговорить с бармен вылетает вот такой лог
[error]Expression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
[error]Line : 73
[error]Description : <no expression>
[error]Arguments : LUA error: ... - priboi story\gamedata\scripts\xr_motivator.script:206: attempt to index field 'object' (a nil value)
stack trace:
Дело в том что xr_motivator.script не был даже изменён так в чёмже проблема
И ещё бармен стоит как укопанный ничего не делает просто стоит
у меня вот два вопроса
1. как называются провода на экзоскелете, просто забыл
2. что нужно сделать чтобы когда выбрысываеш рюкзак (предмет такой) можно было зайти в него и положить что надо а не поднимать его
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.