Пользователей: 2
Гостей: 1277
Всего: 1279

» Подробно
» Сегодня

Привет, гость!









Автор Сообщение
Картошка
    
Посты: 86
Откуда: Шарья
Возраст: 28
06-09-2009 21:52 GMT3 час. #1029480   
А как изменить оружие для сетевой игры?Подскажите плиз.


singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
07-09-2009 10:54 GMT3 час. #1029604   
Есть такой прикол. Попробывал поставить в фон mainmenu видеоролик "Презентация Obilivion Lost". Качество получилось отменное (Спасибо разрабам проги SUPER@2009). Но он не подходит к той музыке, которую мне бы хотелось воткнуть. Не плохо бы было создать несколько роликов (чем больше, тем лучше), презентационного боя в игре с разнообразными врагами. Есть у кого желание попробывать свои силы в кинематографии? Мне нужны только отрывки боёв. Всё остальное (выбор, сортировка, синхронизация, склейка, конвертация), я сделаю сам. Пробывал сам записать бои, но по причине долгого не играния, получается какаято лабуда, а не презентационные бои.

отредактировал(а) singapur22: 07-09-2009 11:41 GMT3 час.

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
07-09-2009 13:03 GMT3 час. #1029691   
singapur22
Пара вопросов (тема та же - тотал):-)


Я пересмотрел все функции и сделал новые варианты.
В функции отбора ставок сделал так, чтобы в случае если ставка больше налички эктора отбиралась тока сумма налички - остальное писалось в долг. (ну по крайней мере мне кажется, что именно так
все будет работать - еще не проверял).
Функцию тотализатор я разделил на две и создал переменную bank в которую записывается выигрыш.

В функции totalizator после определения суммы приза идет просчет всех вариантов для разных случаев
долга нет - выигрыша нет
долга нет - выигрыш есть
долг есть -выигрыш есть
долг есть - выигрыша нет (в последнем случае ведь можно писать просто else вместо сравнения одной переменной с другой ?)

и в зависимости от случая выдается свое сообщение и также идут хитрые арифметические операции на предмет того скока эктора дать и дать ли вообще.
Бабло он будет получать через отдельную ветку диалога. Для этого - своя маленькая функция.
Для отдачи долга тож будет ветка (это на тот случай если долг будет копиться)

Вопрос такой: эта переменная bank у меня будет запоминать то что ей надо?

for _, v in ipairs(prize) do
if summa == v then
summa = bank --\ начисляем сумму в банк
end





И еще по выдаче сообщений

вот так можно?
news_manager.send_tip(db.actor, "Меченый. Твоя ставка сыграла. Ты выиграл "..tostring(bank).." р. Можешь приходить забирать.", 120, "trader", 5000)

news_manager.send_tip(db.actor, "Меченый. Твоя ставка не сыграла. твой долг "..tostring(dolg).." р. ", 120, "trader", 5000)

news_manager.send_tip(db.actor, "Меченый. На этот раз тебе повезло. Но за тобой должок, который я сразу вычту. Так что выигрыш "..tostring(bank).." р. Можешь приходить забирать.", 120, "trader", 5000)


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
07-09-2009 13:21 GMT3 час. #1029701   
erlik

for _, v in ipairs(prize) do
if summa == v then
summa = bank --\ --не правильно. Нужно поменять местами.
end

Остальное верно.

Так же, переменную bank нужно будет внести в сохранения, чтобы при переходе на другую локацию и при перезагрузке игры, значение не сбрасывалось в 0:

function save_dolg(p)
p:w_u32(dolg)
p:w_u32(bank)
end

function load_dolg(r)
dolg = r:r_u32()
bank = r:r_u32()
end


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
07-09-2009 13:32 GMT3 час. #1029709   
Представитель Осознания
копируешь текстуры, модель, иконку (через SIE - Stalker ikon editor или какой другой редактор иконок), звуки, конфиг - в конфиге ставишь правильные координаты иконки (опять же вычисляются через SIE), проверяешь в конфиге пути до модели, звуков - и если еще чего не будет хватать узнаешь через лог вылета. Можно сразу и mp_ranks копирнуть, чтобы ничего туда не вписывать. Хотя лучше наверно
все таки самому вписать.
прочитай эту статью тут как раз есть о регистрации нового ствола.

И все - ставишь его в продажу торгашу и алга...

добавлено спустя 2 минут

singapur22
В сохранения я внес.
Точно - надо поменять. Спасибо что заметил, а то глупо получается :-)

отредактировал(а) erlik: 07-09-2009 13:35 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
07-09-2009 13:39 GMT3 час. #1029717   
erlik И ещё. В сохранениях поменяй наверно u32 на u24. А то этот долбаный пакет и так уже перегрузили по полной. Того и глядишь, получишь вылет из за не возможности сохранения.
Суммы у тебя и так не будут превышать миллиона, а u24 позволяет передавать числа до 16777215.

отредактировал(а) singapur22: 07-09-2009 13:52 GMT3 час.

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
07-09-2009 14:05 GMT3 час. #1029732   
singapur22
ага поменял...тут такой вопрос по lua: оператор return может использоваться вот так:
действие
return
else (или там elseif и т.д. )
действие
или только:
return
end
else
действие

и писать false и true надо только лишь в том случае если мы собираемся использовать эту функцию из логики?
И вообще он так ли нужен? Только чтобы завершить блок и вернуть самого себя?


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
07-09-2009 14:25 GMT3 час. #1029741   
erlik return это оператор немедленного выхода из функции с возможностью возврата результата. Например так:

function name()

if n = z then
return
end


тело функции

end

Будет прекращать чтение функции, если n = z.
Тоесть, тело функции будет читаться только если n не равно z.

Вот пример возврата результата:

function name1()
local u = this.name2()


тело функции1

end


function name2()

тело функции2


return n
end


В этом случае функция2 будет возвращать значение переменной n, и назначать его переменной u, находящейся в функции1.

А вообще примеров очень много. Перечислить их все будет сложно. Тут главное понять, как работает данный оператор.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
07-09-2009 14:42 GMT3 час. #1029757   
singapur22
Понял.
Так значит end как может присутствовать после return так и нет...я просто думал после return надо в любом случае end ставить, а потом уже писать следующий блок функции.

Вот еще:
local armor = db.actor:object("outfit_stalker_m1")
можно ли вместо
if armor == nil then
писать так
if not armor then


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
dan8
    
Посты: 500
Откуда: ventspils
Возраст: 30
07-09-2009 14:45 GMT3 час. #1029761   
а как сделать нового тарговца


Все ,что то пишут в своих подписях а я возьму и не НАПИШУ!!!
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
07-09-2009 14:57 GMT3 час. #1029773   
erlik Фактически можно. Правда я не знаю, может ли данный метод вернуть значение false. Из собственной практики, данный метод возвращает userdata объекта, или nil, если такового нет. Если у него нет больше других состояний, то можно прописать и not armor.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Картошка
    
Посты: 86
Откуда: Шарья
Возраст: 28
07-09-2009 16:36 GMT3 час. #1029867   
8-(8-(8-( (Это не фдуд)


singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
07-09-2009 16:48 GMT3 час. #1029877   
Картошка Прекращай флудить. Если не отвечают, значит нет ответа на заданный вопрос.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Linhost
    
Посты: 456
Откуда: Никольск
Возраст: 32
07-09-2009 16:50 GMT3 час. #1029882   

dan8 :а как сделать нового тарговца

Вот тут все подробно написано
_http://www.stalkerin.gameru.net/wiki/index.php/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
07-09-2009 18:32 GMT3 час. #1029975   
singapur22
Че то я не понял как проверять на работоспособность скрипт через тест функций...
вписываешь его имя в тестфайл, а потом как активируешь? И сам скрипт где тогда должен быть - в тест файле или в геймдате?

Щас вот проверил его на синтакис - поправил, заккоментировал в файле test и пошел его обычным путем проверять - через диалог, а игра меня на раб. стол послала.
Arguments : Error : the namespace name is already being used by the non-table object!
это как я понял из-за того что два одинаковых скриптах в файлах, которые используют одни и те же имена.
То ж самое у меня было когда я не комментировал вообще - думал, что с коммент. такой ошибки не вылезет, ан нет... надо что игру перезагружать? И скрипт из тест файла удалять?


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
07-09-2009 18:46 GMT3 час. #1030001   
erlik Из тест файла удалять его не трэба. Проверить работоспособность скрипта через тэст-файл, не много сложнее, чем просто проверка на синтаксис. Для этого, кроме его вызова (через дроп), нужно ещё передать какимто образом в скрипт данные. Это в твоём случае так. Тоесть, в конце файла пишешь подобный вызов, именно в конце, но ни как не в начале и не в середине:

db.actor:give_info_portion("айди поршна") --\ включим один из поршнэй, для тэста.
local npc = level_object_by_sid(3) --\ определим userdsta Сидора, по его сиду.
имя_функции(npc, db.actor) --\ и вызываем нашу функцию.

Вызов производится без приставки this. так как производится из тела файла, а не из тела функции.
Всё. Делаешь дроп и смотришь консоль.

отредактировал(а) singapur22: 07-09-2009 18:52 GMT3 час.

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
07-09-2009 19:11 GMT3 час. #1030030   
singapur22
Ага вроде понял.
вот тебе прикол



буду исправлять :-) чето то с логическими условиями не то..


добавлено спустя 49 минут

сделал для диалога выдачи призов прекондишен
как правильней?
function precond()
if bank > 0 then
return true
end
end

-- или так
function precond()
return bank > 0
end
то есть ветка должна появляться тока если эктору есть че получать. :yahoo

отредактировал(а) erlik: 07-09-2009 20:01 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
07-09-2009 20:32 GMT3 час. #1030106   
erlik Второй вариант верен. А в первом нужно ещё добавить противоположное значение:


function precond()
if bank > 0 then
return true
end
return false
end


Исходя из этого, получаем ещё и третий вариант:

function precond()
if bank > 0 then
return true
else
return false
end
end


:-)

добавлено спустя 13 минут

Есть такой прикол. У игры есть множество фиксированных разрешений экрана. Я както туда не заглядывал, и всё это время играл на разрешении 1024х786. Хотя монитор у меня '19. Но меня както это устраивало. Конечно, детали были несколько сплющены, но я както этого не замечал. Щас решил поставить разрешение по максимуму 1440х900. И что я получил? Детальность стала чересчур заужена. Хотя монитор широкоформатный. Я понимаю, что есть мониторы ещё шире. Но у меня видюха именно на это разрешение и настроена. И никаких сужений я не наблюдаю. Получается, что создавая движок, разрабы от балды брали все эти настройки? Или они среднюю ширину экрана не стали учитывать? Хотя, кажется в то время ещё не было более широких мониторов. Перебрав все разрешения в игре, я так и не нашёл, какое из них подходит под мой монитор. При любом разрешении, детальность или сильно заужена, или черезчур сплющена. В итоге остановился на том, какое и было 1024Х786. В нём хотябы это не сильно заметно.

отредактировал(а) singapur22: 07-09-2009 20:48 GMT3 час.

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
ДатчикХабара
    
Посты: 558
Откуда: Saratov
Возраст:
07-09-2009 20:47 GMT3 час. #1030118   
singapur22
Насчёт разрешения ты прав.:ye)


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
07-09-2009 20:47 GMT3 час. #1030119   
singapur22
я использовал второй вариант...однако..
диалог для выдачи призов все таки не появился - хотя вроде как должен был - выигрыш был.




totalizator.precond




правда баг с сообщениями - сразу 7 штук - пока не исправил...не знаю пока в чем дело.
второй баг - диалог со ставками не исчезает, хотя должен - его условие (в шапке диалога)- отсутствие поршня, который выдается во фразе "ставки сделаны".




totalizator


выдача


totalizator_19
totalizator.transfer_stavka
totalizator
20


правда он по таймеру потом опять должен отключиться - в тестовых целях через минуту...но он просто остается доступным при выходе и все.

--\ таймер для выключения инфопоршня недоступности диалога для ставок

local timer = level.get_time_minutes()
local sch = 0

function timer_dialog()

if timer ~= level.get_time_minutes() then
if sch == 1 then --\ в тестовых целях делfем диалог доступным через минуту
if db.actor:has_info("totalizator") then
db.actor:disable_info_portion("totalizator")
sch = 0
else
sch = sch + 1
end
timer = level.get_time_minutes()
end
end
end



добавлено спустя 6 минут

один плюс - у эктора вычитается сумма тока до ноля. остальное (видимо) пишется в dolg и bank:-)

отредактировал(а) erlik: 07-09-2009 20:55 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
07-09-2009 20:59 GMT3 час. #1030128   
erlik

local timer = level.get_time_minutes()
local sch = 0

function timer_dialog()

if timer ~= level.get_time_minutes() then
if sch == 1 then --\ в тестовых целях делfем диалог доступным через минуту
if db.actor:has_info("totalizator") then
db.actor:disable_info_portion("totalizator")
sch = 0
else
sch = sch + 1
end
timer = level.get_time_minutes() --\твоя ошибка
end
--\ перенеси сюда
end
end

добавлено спустя 2 минут

ДатчикХабара Ещё бы.

отредактировал(а) singapur22: 07-09-2009 21:01 GMT3 час.

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Klingon
    
Посты: 6
Откуда: Брянск
Возраст:
07-09-2009 21:09 GMT3 час. #1030133   
Privet S.T.A.L.K.E.R.y! Kak zhizn' na zone? Kak zamenit' (v nachale igre u Mechenyj imeetsya kozhanaya kurtka) na bronezhilet? Spasibo!


Klingon
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
07-09-2009 21:14 GMT3 час. #1030138   
Klingon Самый простой способ, это добавить его к выдаваемым предметам Меченому, Волком. Открываешь файл gamedata\scripts\escape_dialog.script и находишь функцию:

function give_weapon_to_actor (trader, actor)
dialogs.relocate_item_section(trader, "wpn_pm", "in")
dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
dialogs.relocate_item_section(trader, "wpn_knife", "in")
end


И добавляешь в неё выдачу экзоскелета:

function give_weapon_to_actor (trader, actor)
dialogs.relocate_item_section(trader, "wpn_pm", "in")
dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")

dialogs.relocate_item_section(trader, "exo_outfit", "in")
dialogs.relocate_item_section(trader, "wpn_knife", "in")
end


И всё.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
07-09-2009 21:16 GMT3 час. #1030141   
singapur22
да...такие тонкости я еще не освоил.....ладно там кол-во end, но то между каким и каким end можно и нужно вставлять методы, активацию функций, переменные - пока плохо представляю.


а то что у меня диалог выдачи -идет как start_dialog -( первую фразу говорит Сидор) это может как то влиять на его появление?


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
07-09-2009 21:19 GMT3 час. #1030143   
erlik Здесь нужно прокручивать в голове всю последовательность чтения функции системой и при этом соответствующих действий. Я уже както делаю это на лету. Вошло в привычку:-)


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Klingon
    
Посты: 6
Откуда: Брянск
Возраст:
07-09-2009 21:34 GMT3 час. #1030151   
Spasibo drug! Ya postavlyu Mlilitari! A mozhno li smenit' nik Mechenyj na Oxotnik ili Naemnik?


Klingon
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
07-09-2009 21:42 GMT3 час. #1030153   
Klingon Зайди в мой журнал. Там про это есть. Страница Правка кнфигов ГГ 2.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Отшель[НИК]
    
Посты: 263
Откуда: Россия, Свердловская обл., г. Качканар
Возраст: 31
08-09-2009 06:49 GMT3 час. #1030230   
Знаю что через mob_walker можно управлять невидимостью кровососа. Можно это как то реализовать через другие схемы?
Желательно через mob_home.


"Нет Предназначения… Оно не существует. Единственное, что предназначено всем, - это смерть."

Геральт из Ривии, ведьмак.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
08-09-2009 11:20 GMT3 час. #1030292   
singapur22

Не знаешь что такой лог означает?

Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: ...2\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:236: attempt to index global 'totalizator' (a function value)

в этой строчке апдейт функции totalizator.timer_dolg()

--\ таймер для активации функции выдачи гневных сообщений о долге
у меня в файле сразу два таймера - и оба в одном месте на апдейте.

local tim = level.get_time_minutes()
local sh = 0

function timer_dolg()

if tim ~= level.get_time_minutes() then
if sh == 2 then --\ в тестовых целях сообщения о долге посылаем через две минуты
this.send(actor, npc)
sh = 0
else
sh = sh + 1
end
tim = level.get_time_minutes()
end
end

Игра вылетает прямо при проверке на синтаксис.

использовать вот это \n в тексте сообщений (которые прямо в функции) нельзя? просто пробовал - и был вылет с логом
Arguments : LUA error: ...2\s.t.a.l.k.e.r\gamedata\scripts\news_manager.script:161: attempt to index field '?' (a nil value)


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
manunj
    
Посты: 267
Откуда:
Возраст:
08-09-2009 13:00 GMT3 час. #1030336   
erlik

использовать вот это \n в тексте сообщений (которые прямо в функции) нельзя?

можна но их должно быть две
\\n

отредактировал(а) manunj: 08-09-2009 13:08 GMT3 час.



Форумы Архив » Свалка Как сделать свой мод? (по 08.10.09)


Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2025 «Stalker-Portal.ru»