Лучшая модификация месяца
Всего ответов: 202
Главная » Статьи » Сталкер Зов Припяти » Уроки по модостроению

Включаем функцию printf

Способ №1

1. Заходим в _g.script и ищем функцию printf(fmt,...)
2. Закоментируйте все что внутри ее
3. Дальше в самый конец добавляем:

amk_dbg.log2(fmt)
amk_dbg.log2(string.format(fmt,...))

Чтобы получилось:
function printf(fmt,...)
--[[
local is_g = 0
local result = fmt
if debug == nil then
log(string.format(fmt,...))
return
end
local info_table = debug.getinfo(2)
local script_name = string.gsub(info_table.short_src, "%.script", "")
script_name = string.gsub(script_name, "gamedata\\scripts\\", "")
if scripts_to_print[script_name] == false then return end
script_name,is_g = string.gsub(script_name, "_g", "")
if is_g == 0 then
result = script_name..": ("..info_table.currentline.."):"..fmt
else
result = fmt
end
log(string.format(result,...))
]]
amk_dbg.log2(fmt)
amk_dbg.log2(string.format(fmt,...))
end

4.Создаем файл amk_dbg.script и пишем в него:

function log(fmt, ...)
local msg = string.format(fmt, ...)
local msg_no_ws = string.gsub(msg, "%s", "_")
get_console():execute("load ~~~dbg:" .. msg_no_ws)
end

function log2(msg)
local msg_no_ws = string.gsub(msg, "%s", "_")
get_console():execute("load ~~~dbg:" .. msg_no_ws)
end

Все, функция восстановлена. Теперь можно смотреть что же там нам игра пишет.

Способ №2

1. Качаем эту дллку: дллку

Она уже содержит: 
· можно кататься в ЗП на машинках 
· добавлены консольные команды:

o fov - угол обзора игрока 
o ph_timefactor - скорость течения времени при просчете физики

· в ПДА можно добавлять свои разделы. ГГ будет получать инфопорцию при выборе нового раздела. 
· разблокировано выкидывание из ящиков с помощью функций drop_item и drop_item_and_teleport 
· убран вылет "cannot find rank for ..." при выкидывании оружия, не прописанного в mp_ranks 
· добавлены глобальные функции

log1(string) - нормальный вывод текста в консоль вместо нерабочей log
flush1() - запись выведенного в консоль текста на диск, вместо нерабочей flush
в пространство имён level добавлены функции:

level.get_target_dist() - возвращает float - расстояние до точки, на которую смотрит камера. Это то число, которое высвечивается под прицелом.
level.get_target_obj() - возвращает game_object - объект, на который смотрит камера. Если ни на кого, то возвращает nil.

в класс CUIStatic возвращена возможность вращать текстуру. Для этого добавлен метод: 
SetHeading(Frect) - угол вращения в радианах передаётся в поле x объекта-аргумента.
для актора добавлена возможность устанавливать колбек на получение хита

Сделали ее Kolmogor и Malandrinus

2. Заходим в _g.script и находим function printf(fmt,...)
3. В этой функции меняем log на log1 чтобы получилось так:

function printf(fmt,...)
local is_g = 0
local result = fmt
if debug == nil then
log1(string.format(fmt,...))
return
end

local info_table = debug.getinfo(2)
local script_name = string.gsub(info_table.short_src, "%.script", "")
script_name = string.gsub(script_name, "gamedata\\scripts\\", "")
if scripts_to_print[script_name] == false then return end
script_name,is_g = string.gsub(script_name, "_g", "")
if is_g == 0 then
result = script_name..": ("..info_table.currentline.."):"..fmt
else
result = fmt
end
log1(string.format(result,...))
end


Категория: Уроки по модостроению | Добавил: Блэк☭ (04.12.2015)
Просмотров: 294 | Теги: сталкер, уроки по модостроению, зов Припяти, STALKER, функцию, включаем, printf, call of Pripyat | Рейтинг: 5.0/1
Всего комментариев: 0
Внимание! Прочтите для ознакомления!
Правила написания коментария: В комментариях запрещено - Писать сообщение прописными буквами (Caps Lock). Рекламировать какие-либо сайты. Использовать более двух смайлов в одном комментарии. Оскорблять пользователей сайта. Выражаться некультурными словами. Комментарии, в которых содержатся предложения по обмену баннерами, лишние вопросы, или просто не несущие никакого смысла будут незамедлительно удаляться, а пользователи, написавшие их, будут строго наказаны.

avatar
Приветствую, Гость!

-Ну что,Бродяга?
Мне тебе мозги парить,как я со всеми новичками делаю,или с тобой как с опытным сталкером обращатся?


-Давай как с новичком..

-Давай как с опытным!!!
Рейтинг@Mail.ru
Онлайн всего: 1
Бродяг: 1
Сталкеров: 0

[ Сегодняшние посетители ]