Помогите пожалуйста. Я наспаунил бюреров и зомбей, прописал их где нада. Конфиг бюрера взял с АМК мода там прописана иконка. ui_npc_monster взял из того же АМК 1.4. Вылетает с логом:
Expression : fatal error
Function : CRender::texture_load
File : E:\stalker\patch_1_0004\xr_3da\xrRender\Texture.cpp
Line : 295
Description :
Arguments : Can't find texture 'ui_npc_monster_burer'
Как норм иконку сделать? И еще вопрос: как нужно вписать п90 в мп_ранкс, чтобы игра не вылетала когда выбрасываешь ствол? Заранее спс.
добавлено спустя 1 час 26 минут
Уже не надо, сам разобрался.
отредактировал(а) Андрюха "Грозный": 14-11-2009 21:21 GMT3 час.
Сорри за тупой вопрос не по теме, можно ли с помощью print(s) (s = число) выдавать текст? (именно ссылаясь на s = , про то что в скобках записать можно я в курсе=) )
Извеняйте, не могу пока луашными терминами говорить=)
Николай ФеНиКс
Чтобы поршень запускал ремарку, нужно сделать так:
В логике НПСа в нужной схеме дописываешь on_info = {+infoportion} remark@my_remark
А потом просто создаёшь ремарку ([remark@my_remark]).
отредактировал(а) Futura: 14-11-2009 23:23 GMT3 час.
Блин ну кто сможет поподробней рассказать как создавать bump и bump# ??? на других сайтах описывается это но там я не всё понял. Пишите, не стисняйтесь :-)
Futura
эта функция выводит текст в консоль программы в которой запускается скрипт.
то бишь не на экран - если ты хочешь в игре ее запустить. в основном ее используют для проверки работоспособности скрипта - и\или получения наглядного результата работы функции в виде напечатанного результата - я ее именно так использую ее в SCITE - это такая прога для написания скриптов и их теста.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
ребят, я вот в скриптах и логике ваще не понимаю,для того чтобы вызвать у нпс анимацию этого нпм через диалог(чтобы он отыграл и всее, больше не возвращаемся) надо через логику?? можно терминами попроще, а то я хы тока в мапперстве рулю, и все. и вот еще, я прописывал в олл.спавне другие координаты спавна, почему они не сработали?? из за того что у меня координаты была вида -213.24(это пример) а не со всеми знаками после точки?? хотя странно, откуда игра узнала старые координаты:no), вообщем помогите плиз, буду очень благодарен!!хочу научится скриптам(хоть каплю) и логике, я ведь ваще читаю ваши разговоры, и мне кажется что я даун
создание NPC через All.spawn почти с нуля у меня в журнале
Так же известен, как Stunder
Futura
вот тебе примеры некоторых моих тестовых скриптов, которые я писал для понимания работы функций
t = {2,1,3,6,5,4,10,9,8,7}
n = rawget(t, 3)
g = rawset(t, 3, 55) --заменяем одно значение в таблице с третьим индексом на другое
for k, v in pairs(t) do
print(t[k]) -- печатаем все значения таблицы
end
t ={}
tt = {1,2,3,4,5,6,7,8,9,10}
x = 100
--loadstring("for k, v in ipairs (tt) do rawset(tt,5,x) print(v) end")() -- просто переписываем одно значение таблицы
loadstring("for k, v in ipairs (tt) do table.insert(t,v) end for i, j in ipairs(t) do rawset(t,5,x) print(j) end")() -- пишем одну таблицу в другую и заменяем в ней одно значение на другое
результат:
1
2
3
4
100
6
7
8
9
10
tab = {"a","s","d",h,"j",l,d,m,p,i}
for k, v in ipairs (tab) do --итерируем всю таблицу в числовом порядке
print(v) --печатаем все найденные значения кроме тех что имеет значение nil
end
--t = {"a","s","d",h,"j",l,d,m,p,i}
t = {"one",'two','free','four','five',1,2,3,4,5}
j = next(t,2) -- получаем следующее значение после указанного индекса - то есть третье
print(t[j])
s = "helloween"
u = string.sub(s, 5,7) -- возвращает последовательность символов в диапазоне указанных индексов
print(u)
s = "helloween"
u = string.len(s) -- возвращает длину строки в символах
print(u)
s = "helloween"
u = string.byte(s,1,2) -- возвращает числовые коды символов в строке
print(u)
--возвращает строку состоящую из байт числовые значения которых были переданы в качестве параметров
--s = string.char(1,2,3,4,5) --
--s = string.char(99,98,97) --cba
--s = string.char(6,7,8,9,10) --
--s = string.char(11,12,13,14,15) ¤
--print (s)
s = "helloween"
j =string.find(s, "ell", 1, true) -- возвращает индекс первого вхождения шаблона в строку
print (j)
t = {}
if next(t)== nil then -- проверка на длину таблицы - пусто или нет
print "pusto"
else
print "gusto"
end
t = {2,1,3,6,5,4,10,9,8,7}
n = rawget(t, 4) --получаем нужное значение из таблицы по индексу
k = n..tostring(t[1])..tostring(t[2]) --присоединяем к нему другие - с индексом 1 и индексом 2 с переводом в строку - (что в данном случае необязательно)
print(k) --получаем целое число
v1= 1
v2= 1
n = rawequal(v1,v2)
if n == true then
print "true"
else
print 'false'
end
v1= 'string'
v2= 'strin'
n = rawequal(v1,v2) -- возвращает правда ли то что объекты равны
if n == true then
print "true"
else
print 'false'
end
s = "hello"
n=string.rep(s, 5)-- возврашат копии строки в указанном количестве
print(n)
s = "hello"
n=string.reverse(s) -- перевертыш строк
print(n)
s = "hello"
n=string.upper(s) -- заменяет все строчные символы в строке на заглавные
print(n)
s = "HELLO"
n=string.lower(s) -- заменяет все заглавные символы в строке на строчные
print(n)
x, y, z = 1, 100, 33
n = math.max(x, y, z) -- возращает максимальное значение
print(n)
x = 235.0456
n = math.ceil(x) -- округляет вверх
print(n)
x = 235.0456
n = math.floor(x) -- округляет вниз
print(n)
t = {"one",'two','free','four','five',1,2,3,4,5}
n = table.concat(t, '\n') -- соединяет все элементы таблицы в одну строку, которую и возвращает
print(n)
t = {"one",'two','free','four','five',1,2,3,4,5}
n = table.maxn(t) -- возвращает максимальный индекс таблицы
print(n)
n= os.date() -- без аргументов возвращает текущую дату и время
print (n)
n = os.clock() --возвращает время выполнения скрипта
print (n)
s = io.type("C:\\test\\items.ltx") --возвращает тип хендлера файла либо nil
print (s)
n = os.tmpname() -- возвращает имя файла, который может быть использован как временный
print(n)
local txt = "C:\\test\\logic_army.ltx"
for line in io.lines(txt) do -- итерирует все строчки в указанном файле и выводит их в консоль - то есть печатает весь файл
print(line)
end
local file = io.open("C:\\test\\items.ltx", "r") -- то ж самое делает
for line in file:lines() do
print(line)
end
os.rename("C:\\test\\День Святой Троицы.doc","C:\\test\\праздник.doc") --переименовывает файл
io.open ("C:\\test\\День Святой Троицы.doc", "w+") -- стирает все данные из указаного файла
os.remove("C:\\test\\День Святой Троицы.doc") -- удаляет файл
отредактировал(а) erlik: 15-11-2009 00:13 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik
Спасибо, опробовал, хорошие примеры, сохраню. Но тут 3 вопроса:
1)как работает вот это - n = os.tmpname(), точнее, какие именно временные файлы он(а) читает?
2)Почему в последующих числах после "one" стоят другие кавычки?("one",'two','free','four','five')
3)tab = {"a","s","d",h,"j",l,d,m,p,i} - "Печатаем все значения кроме nil". Но почему тогда "j" не напечаталось? Оно ведь не нулевое...
C третьим разобрался.
erlik
Спс, всё понятно.
отредактировал(а) Futura: 15-11-2009 00:39 GMT3 час.
Futura
"one" - то что в кавычках это переменные с типом строка
другие кавычки - то есть одинарные - значения не имеют - можно и те и другие использовать.
j не напечаталась потому h имеет нулевое значение (я ведь нигде не задал local h = значение) - а все что в кавычках имеет тип "строка" а так как функция ipairs делает итерацию таблицы в числовом порядке - то есть от первого ненулевого значения до первого значения имеющего тип nil то все что после h она уже не читает - даже если там не нулевые значения идут
os.tmpname() файл не создает(и не читает), а только возвращает произвольное имя которое может задействовано для временного файла
но лучше использовать os.tmpfile() - она сразу и файл создает и открывает его - после его использования он автоматом удаляется
добавлено спустя 16 минут
вот еще пример
--копирует из одного файла в другой
function name()
local file = io.open("C:\\test\\items.ltx", "r") --открываем указанный файл в режиме чтения
local file2 = io.open("C:\\test\\new_items.ltx", "w") --открываем файл в режим записи (можно его не создавать - он сам автоматом создатся)
s = file:read("*a") --читаем весь файл из которого будем копировать
file2:write(s) --записываем все данные в другой файл
file2:flush() --сохраняем файл
end
отредактировал(а) erlik: 15-11-2009 00:43 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Futura
я щас еще раз проверил - все работает- должен появится новый файл в котором скопированные данные
у меня сначала тож щас чето заминка была - но это из-за неправильных комментов скриптов - SCITE не хотела работать - исправил - и все пашет.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik
Хм а что именно ты поправил?
И ещё, не подскажешь как добавить и удалить число в таблице(нужно, если пусто то добавляем, а если густо - удаляем)?
И не подскажешь по терминам: if - если, then - то?
отредактировал(а) Futura: 15-11-2009 12:11 GMT3 час.
Короче попробовал сделать игру НПС на гитаре через диалог...
Возникли вопросы как именно запустить тот поршен который я прописал?
Как это сделать через диалог, через ветвления...
ну типа:
Привет ...
Здаров чего услышать хошь??
трек1
трек2
.....
как сделать так в логике?
Ну я попробывал, но сомневаюсь что всё верно!
Посмотрите Плиз!=)
[remark@my_remark_gitara1]
on_info = {+infoportion} remark@my_remark
meet_state = тут игра на гитаре
meet_state_wpn = и тут
victim = 10|actor
victim_wpn = 10|actor
use = true
use_wpn = true
meet_dialog = escape_lager_guard_start_dialog ( надо или нет?)
on_timer = 500 | remark@my_remark_gitara2 ( тут продолжение к следующей ремарке по диалогу)
ребят, я вот в скриптах и логике ваще не понимаю,для того чтобы вызвать у нпс анимацию этого нпм через диалог(чтобы он отыграл и всее, больше не возвращаемся) надо через логику?? можно терминами попроще, а то я хы тока в мапперстве рулю, и все. и вот еще, я прописывал в олл.спавне другие координаты спавна, почему они не сработали?? из за того что у меня координаты была вида -213.24(это пример) а не со всеми знаками после точки?? хотя странно, откуда игра узнала старые координаты, вообщем помогите плиз, буду очень благодарен!!хочу научится скриптам(хоть каплю) и логике, я ведь ваще читаю ваши разговоры, и мне кажется что я даун
создание NPC через All.spawn почти с нуля у меня в журнале
Так же известен, как Stunder
Futura
понимаешь SCITE в некоторых случаях не выполняет код если у тебя в файле какая то ошибка - допустим ты даешь команду на выполнение, а в этом файле у тебя другие скрипты незакомментированы (я их всегда комментирую --[[ скрипт--]] если не собираюсь удалять или неправильно заккоммментированы - как у меня было. Или когда у тебя код в одном открытом файле, а ты даешь команду на выполнение находясь в другом файле - я например некоторые скрипты запускаю через модуль - из другого файла - и тож бывает ошибаюсь делая вызов не с того файла.
Что у тебя не так - сам смотри - ты пробовал запускать с чистого файл где только этот код?
Сам код рабочий - но у тебя могут быть проблемы из-за имени файла или пути.
[meet]
meet_state = 10|sit_ass|5|sit_ass
meet_state_wpn = 10|sit_ass| 5|sit_ass
victim = 10|actor
victim_wpn = 10|actor
use = true
use_wpn = true
meet_dialog = escape_lager_guard_start_dialog -- можешь убрать - наверно нафиг надо
--on_timer = 500 | remark@my_remark_gitara1 --вот это точно нафиг надо, пиши вот так
on_info = {+info}remark@my_remark_gitara1
[remark@my_remark_gitara1]
anim = guitar -- анимка игры на гитаре
snd = имя трека -- будет читаться только то есть в script_sound.ltx
snd_anim_sinc = true -- синхронизируем анимацию и звук
meet = no_meet -- секцию встречи не пишем - так как не нужна
on_info = action_end|remark@tormoz --после окончания действия переходим обратно в исходный ремарк
PS: чтобы имя твоего трека читалось из логики его нужно прописать в script_sound.ltx и sound_theme
- если его там нет. как - думай сам
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
table.insert(t, pos,v) --где t - таблица, pos - позиция по индексу куда добвляем, v - значение которое мы добавляем аргумент pos - необязателен - без него добавление будет в конец таблицы
table.remove(t, i) - удаляем элемент по индексу в таблице
if - если, then - то - все правильно - это логический оператор проверки условия
добавлено спустя 1 минуту
Futura
точно - я же делал вызов через модуль поэтому у меня и function и end , а ты просто код пишешь :-)
тебе это не надо было
отредактировал(а) erlik: 15-11-2009 12:44 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Люди, помогите плз. Я сделал FN P90 (модели готовые), все работает. Но при стрельбе нет пламени. Т.е. стреляю - звук есть, а пламени из ствола нет. Как исправить? Заранее спс.
#Андрюха "Грозный" :
Люди, помогите плз. Я сделал FN P90 (модели готовые), все работает. Но при стрельбе нет пламени. Т.е. стреляю - звук есть, а пламени из ствола нет. Как исправить? Заранее спс.
Fantom2323
Это модели, их нужно открывать с помощью 3D редактора. Или если тебе нужно просто посмотреть, то юзай OGFViever.
Насчёт спавна незнаю, через Spawner не спавнил никогда, юзаю ACDC.
Попробуй поискать другие строки с позициями.
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.