Полная Версия: Редактирование скриптов
Страницы: 1, 2
wifyxf
Умножь же. :)

1 секунда = 10 тиков
1 минута = 60 секунд = 600 тиков
1 час = 60 минут = 3600 секунд = 36000 тиков
1 день = 24 часа = 1440 минут = 86400 секунд = 864000 тиков




так это соотношение к реальному времени, а игровые часы, минуты!?! или там тоже самое!?!
Nordan
Нет, это и есть игровое время. Реальное время в скриптинге ЕМНИП нигде не используется.
Chosen second
*Поиск всегда был моим слабым местом.
Не могу декомпилировать скрипты,- пишет error: invalid opcode at 0x00017568
Декомпилятор int2ssl.exe
Nordan
Может с саим скриптом что не так? Он стандартный или из мода?
Chosen second
Из модов Nirrana.
Drobovik
Моды Nirran'a построены на базе sfall. Тебе нужен редактор Sfall Script Editor by Timeslip.

Качаешь modderspack 3.0.7z, заходишь в архив, распаковываешь папку script editor.

Он обновлен со всеми последними опкодами sfall. Я для починки Мегамода только им и пользуюсь. Никакой настройки не надо, берешь и пользуешься.

Еще момент — пользуйся исходниками скриптов Nirran'a. Он их там в папку Source всегда кидает. Там же находятся все header файлы необходимые для компиляции.
В исходниках скриптов прописаны пути к header в самом начале, тебе их только надо поменять на директорию, в которую ты эти самые Header файлы распакуешь.
Chosen second
За ссылку спасибо, попробуем и этот SDK. (В нем тот же декомпилятор?!)
А вот с исходниками проблема, именно тот скрипт, который отличается есть в одном варианте. :(
wifyxf
Помогите разобраться в структуре скриптов! Для примера приведу первую часть скрипта Клинта:

#include "..\headers\define.h"
//#include "..\headers\<TownName.h>"

#define NAME SCRIPT_ACKLINT
#define TOWN_REP_VAR (GVAR_TOWN_REP_ARROYO)

#include "..\headers\command.h"
#include "..\headers\ModReact.h"


/* Standard Script Procedures */
procedure start;
procedure critter_p_proc;
procedure pickup_p_proc;
procedure talk_p_proc;
procedure destroy_p_proc;
procedure look_at_p_proc;
procedure description_p_proc;
procedure use_skill_on_p_proc;
procedure damage_p_proc;
procedure map_enter_p_proc;

/* Script Specific Procedure Calls */
procedure Node998; // This Node is Always Combat
procedure Node999; // This Node is Always Ending


// The next lines are added in by the Designer Tool.
// Do NOT add in any lines here.
//~~~~~~~~~~~~~~~~ DESIGNER TOOL STARTS HERE

procedure Node001;
procedure Node002;
procedure Node003;
procedure Node004;
procedure Node005;
procedure Node006;
procedure Node007;
procedure Node008;


1. Что за проеду Node001!? Это просто порядок в Standard Script Procedures, номер 1, номер 2 и т.д. ..!?
2. Все проедуры нужно обязательно вначале перечислять и в определенном порядке!?
3. #include "..\headers\define.h"
//#include "..\headers\<TownName.h>"

#define NAME SCRIPT_ACKLINT
#define TOWN_REP_VAR (GVAR_TOWN_REP_ARROYO)

#include "..\headers\command.h"
#include "..\headers\ModReact.h"
 — это название файлов GVAR?

Значит этот пункт нуженн только если испрльзуются GVARy!? Описание GVAR есть только в папке V13 в игре!?! Есть еще где-нибудькакие-нибудь описания!?

4. На счет VAR!?! я так понял что —
а) varieble — "локальная внутрискриптовая переменная". ты придумываешь сам в каждом отдельном скрипте для каждой процедуры!?
б) varieble var — "глобальная внутрискриптовая переменная". Ты ее пишешь для всего скрипта, она доступна для всех процедур этого скрипта!?
Можете подсказать — как именно им присваивается значение!? До всех процедур!? Можете кто-нибудь показать на примере их отличие!?
в) LVAR — доступны всем скриптам в папке Scripts!? А где их состовлять и записывать!? Можете привести пример LVARy и

г) MVAR — вопрос тот же, что и по LVAR!?

д) GVAR — это отдельный "скрипт", который хранится в какой-то папке Headers!? Но что это за папка и где она есть!? Или не в эой папке!? где их регистрировать и как!? Он также пишется как скрипт и может состоять из varieble, varieble vr, LVAR и MVAR, а может не состоять из них!?
Nordan
Слушай ка, перечитай ты еще разок "Scripts How To". Там на ВСЕ эти вопросы даны ответы. Тебе просто нужно взять, внимательно прочитать и сделать выводы. В идеале еще попробовать закрепить знания на практике. Никто тут переписывать "азбуку" не будет.
wifyxf
Слушай ка, перечитай ты еще разок "Scripts How To". Там на ВСЕ эти вопросы даны ответы. Тебе просто нужно взять, внимательно прочитать и сделать выводы. В идеале еще попробовать закрепить знания на практике. Никто тут переписывать "азбуку" не будет.

Как раз до написания своего сообщения я прочитал эту доку, но ответов там не нашел!! А чтобы закрепить на практике мне нужно это знать!

мне хочется сначала узнать что такое var Вообще, прежде чем я буду с ней что-то делать, да и вообще хотелось бы узнать немного о примере о структуре скрипта!?!

Конечно, можно до всего дойти и своей головой!! А скрипты можно исследовать методом тыка — так например — сначала написать
procedure start begine
procedure talk_p_pros 
— чтобы криттер заговорил.. не получилось?!! тогда написать так:
void procedure begine
procedure talk_p_pros
 — если не получилось, тогда:
varieble procedure talk_p_pros
procedure start begine
procedure talk_p_proce
 — если не получилось, тогда:
variable var talk_p_pros
procedure start begine
procedure talk_p_proce
 — если не получилось, тогда:
procedure start begine
void procedure talk_p_proce
если не получилось, тогда:
LVAR talk_p_proce
procedure start begine
procedure talk_p_proce
 — если не получилось, тогда:
include:GVAR
procedure start begine
procedure talk_p_proce


и так далее......... незнаю сколько мне времени на это понадобится и сколько я вообще этим смогу заниматься и может быть вообще распрощаюсь с надеждой например сделать мод Фоллаут!?!!
Кстати, "особо продвинутым" скажу — зачем вам вообще нужны программы для моддинга Фоллаут, если их можно написать самому!? Какие вообще могут быть проблемы с движком, если можно его заново написать самостоятельно — всего-то английские символы.. Да и зачем вообще иметь для этого все необхрдимые программы, когда их можно написать самому — ту же операционную систему, те же проигрыватели(видео и аудио, все графические программы.....), зачем платить "интернет-службам" деньги за подключение к интернету, если его легко можно организовать самому — провода есть, волновая связь есть — пожалуйста подключайся!?! Зачем разбираться в малопонятной англоязычной кодироке програмирования, если можно написать собственную — Русскими символами! Да и зачем вообще покупать компьютер, когда его легко можно сделать самому из обычных железок, проводов, воды!?!!!
Nordan
QUOTE
Как раз до написания своего сообщения я прочитал эту доку, но ответов там не нашел!!

Значит плохо читал.

QUOTE
Что за проеду Node001!?

QUOTE
Удобно представлять диалог в виде перевёрнутого дерева — его "корнем" является обработчик talk_p_proc, а ветвями — различные самописные процедуры. Обычно, эти процедуры принято называть "ноды", т.к. разработчики Фола для унификации называли все диалоговые процедуры именами вида Nodexxx, где xxx — трёхзначное число.

Ноды — это полноценные процедуры и необязательно предназначены только для диалогов. Единственное ограничение — ноды не могут принимать параметры.


И так далее....

wifyxf
И так далее....

честно говооря не понял что означают "ноды" в примере скрипта Клинта, как впрочем и в других квестах!

В голову только прихдит, что Note001 — первая строка из диалога, Note002 — вторая и т.д. ......

И насчет других вопросов..
Nordan
QUOTE
Кстати, "особо продвинутым" скажу — зачем вам вообще нужны программы для моддинга Фоллаут, если их можно написать самому!? Какие вообще могут быть проблемы с движком, если можно его заново написать самостоятельно — всего-то английские символы.. Да и зачем вообще иметь для этого все необхрдимые программы, когда их можно написать самому — ту же операционную систему, те же проигрыватели(видео и аудио, все графические программы.....), зачем платить "интернет-службам" деньги за подключение к интернету, если его легко можно организовать самому — провода есть, волновая связь есть — пожалуйста подключайся!?! Зачем разбираться в малопонятной англоязычной кодироке програмирования, если можно написать собственную — Русскими символами! Да и зачем вообще покупать компьютер, когда его легко можно сделать самому из обычных железок, проводов, воды!?!!!

А зачем задавать вопросы, если на них давно уже ответили?
Ты не понимаешь самой сути этого раздела форума. Это не тех. поддержка. Тут никто не обязан тебя учить. На вопросы типа "как заставить криттера говорить" тебя в лучшем случае пошлют читать доки, ибо это логично. Зачем заново придумывать колесо (даже не велосипед!)? Это просто уже неуважение к самим создателям документов.

Еще раз повторяю, все твои вопросы подробно разобраны в документе. Осталось только прочитать и понять.
И вообще, 95% работы — это как раз "самообразование".
wifyxf
[B]А зачем задавать вопросы, если на них давно уже ответили?
Ты не понимаешь самой сути этого раздела форума. Это не тех. поддержка. Тут никто не обязан тебя учить. На вопросы типа "как заставить криттера говорить" тебя в лучшем случае пошлют читать доки, ибо это логично. Зачем заново придумывать колесо (даже не велосипед!)? Это просто уже неуважение к самим создателям документов.

Еще раз повторяю, все твои вопросы подробно разобраны в документе. Осталось только прочитать и понять.
И вообще, 95% работы — это как раз "самообразование".


Плохо!!!! С таким форумом "далеко не уедешь!!"

А то, о чем я написал ты по-видимому даже не взял в рассчет!?!
А вот когда скажем ты сильно поранил себе руку — почему ты идешь к врачу, когда все давно написано и теперь ДАЖЕ ПОКАЗАНО в видео, что нужно делать и как!? Есть многомедицинской литературы!?!! А преподователей вовсе отменить, как ненужную профессию!?!

Nordan
Ну да, возможно это я такой козел, что не хочу тратить время на объяснение того, что давно объяснено.
Ты просто не хочешь понять, что здесь не будут учить тебя модингу. Тут задают вопросы по тем вещам, которые не понятны. Если эта вещь где-то разобрана, тебя отправляют читать, если нет, то, конечно, попытаются как-то ответить. Но вопрос должен быть конкретен, скрипты тут никто за тебя разбирать не будет.

Я тебе уже сказал: все есть в документе. Ты же игнорируешь это и начинаешь наезжать, как будто я тебе чем-то обязан.
Drobovik
wifyxf

Про учителей ты упомянул. Это конечно дельное замечание, но тут одна загвостка в твоей логике. Nordan и другие мододелы занимаются этим в качестве хобби, а не сидят на окладе+бонусы за обучение начинающих. Я думаю, что если бы ты предложил ему определенную сумму побыть в качестве репититора по Фоллаут модингу, он тебе бы упорно и подробно все разжевал и, как мама-птица, в клювик положил.:)
Так что я порекомендовал бы снача погрызть глыбу науки и все-таки почитать документацию.


Хмм, уроки моддинга открыть что ли?? Хаха, шучу.
wifyxf
QUOTE
wifyxf

Про учителей ты упомянул. Это конечно дельное замечание, но тут одна загвостка в твоей логике. Nordan и другие мододелы занимаются этим в качестве хобби, а не сидят на окладе+бонусы за обучение начинающих. Я думаю, что если бы ты предложил ему определенную сумму побыть в качестве репититора по Фоллаут модингу, он тебе бы упорно и подробно все разжевал и, как мама-птица, в клювик положил.:)
Так что я порекомендовал бы снача погрызть глыбу науки и все-таки почитать документацию.


Я уже написал выше, что на "подобных советах" далеко не уедешь и пояснил все как мне кажется — понятно!!!!!!

А насчет хобби — так и не сомневался!? Да и любой преподователь должен быть заинтересован в предмете которому он обучает!!!!

А пояснить кому-то что-то или не пояснить — это дело каждого!!
Wasteland Ghost
И вновь продолжается бой... :)

wifyxf, далеко не уедешь не на "подобных советах", а на нулевых базовых знаниях. Это во-первых. Во-вторых, ты упорно продолжаешь делать все дела сразу и кидаться на глобальные вещи, не умея элементарного. Так уж точно далеко не уедешь. Ну и плюс банальная невнимательность.

Возможно, ты и нашёл ответы в туториале, но не смог их понять. Почему? Потому что у тебя отсутствуют базовые знания в области программирования. Если ты не понимаешь написанного в туториале, моддинг Фола надо отложить и заняться изучением, к примеру, бейсика или паскаля. Учебников по программированию миллион, туториалов и того больше.

Мы не можем тебе помочь, потому что разговариваем на разных языках. Ты не понимаешь нас, ввиду отсутствия базовых знаний, а мы не можем и не хотим тратить тонну личного времени и форумного пространства на написание очевидных вещей, изложенных в миллионе источников. Для того, чтобы наши ответы стали для тебя полезны, необходимо сначала изучить наш язык. Язык скриптеров — это язык программистов. Это алгоритмическое мышление и знание основных принципов написания и работы программ. Научить такому в формате форума невозможно. Или иди на курсы, или занимайся самообразованием через интернет.
wifyxf
Я не разобрался со скриптами! — может кто-нибудь для наглядности написать простой скрипт для нпс, чтобы он агрился в любом месте карты и нападал на тебя, если ты на этой карте вошел в боевой режим!?

а так же просто скрипт при котором нпс агрится на тебя просто при заходе на данную карту!?
Nordan
А в чем проблема то?

1) Атака при входе в боевой режим:
CODE
procedure start begin
end

procedure combat_p_proc begin //процедура, работающая во время боя
attack_complex(Dude_obj, 0, 1, 0, 0, 30000, 0, 0); //атака чуза
end

2) Атака сразу после загрузки локации:
CODE
procedure start begin
attack_complex(Dude_obj, 0, 1, 0, 0, 30000, 0, 0); //атака чуза
end


ПС. Надеюсь ты понимаешь, что это только примеры. В нормальных скриптах такие события дополнительно связаны с другими событиями, которые в свою очередь влияют на нормальное поведение всех НПС на карте. Иными словами, не так все просто. :)
wifyxf
Спасиобо!! Что-то пояснило, но что такое attack_complex(Dude_obj, 0, 1, 0, 0, 30000, 0, 0) — что она в себя включает!?

И еще, в Фоллауте, немоню, есть кажется "связанные карты с боевым режимом"!? — в общем — когда ты начинаешь бой на одной карте с мирными нпс или охраниками, то при заходе на другую, этого же города — они так же агрятся!? Вопрос — это сделано через MVAR или GVAR или через скрипты самих нпс!?

Вопрос в проблемах со скриптами в основном такой — я не разбирусь, что пишется в самом начале большинства скриптов и для чего и всегда ли это необходимо!? —

взять первую часть скриптов охранников города-убежища:


'); - это обязательно или нет!?[/i]
uses stdlib,system;— а это!?[/i]
Var - так понял это обозначает, что дальше пойдет присвоение своих var!?!!!!
ProtoOfItemGiven; - а это и все ниже сами var или нет!? если да!, то где то, что они означают?
ValueOfRollCheck;
Scenery_Creation;
Scenery_Creation_Hex;
Scenery_Creation_Count;
Temp_Scenery_Creation_Hex;
Scenery_Creation_Ptr;
How_Many_Party_Members_Are_Injured;
How_Many_Party_Members_Armed;
PartyHealingItem;
DayPass_KickOutObj;
DayPass_KickOutCount;
CitizenPapers_KickOutObj;
CitizenPapers_KickOutCount;
KickOutTemp;
global_temp;
dest_tile;
step_tile;
in_dialog;
forced_node;
restock_amt;
restock_obj;
restock_trash;
removed_qty;
Static_Reaction;
Evil_Critter;
Slavery_Tolerant;
Karma_Perception;
reaction_bonus_town_rep;
reaction_bonus_karma;
Locker_Watcher;
Shack_Shelf_Watcher;
Shack_Locker_Watcher;
Only_Once;



и что ниже?

function start;forward; — это перечисления процедур? они обязательны?
function critter_p_proc;forward;
function pickup_p_proc;forward;
function talk_p_proc;forward;
function destroy_p_proc;forward;
function look_at_p_proc;forward;
function description_p_proc;forward;
function use_skill_on_p_proc;forward;
function damage_p_proc;forward;
function map_enter_p_proc;forward;
function timed_event_p_proc;forward;
function Node998;forward; — что такое Node и его число? оно обязательно?они как-то связаны с перечисленными выше функциями?
function Node999;forward;
function Node001;forward;
function Node002;forward;
function Node003;forward;
function Node004;forward;
function Node005;forward;
function Node006;forward;
function Node007;forward;
function Node008;forward;
function Node009;forward;
function Node010;forward;
function Node011;forward;
function Node012;forward;
function Node013;forward;
function Node014;forward;
function Node015;forward;
function Node016;forward;
function Node997;forward;
Wasteland Ghost
Мы это уже проходили. Ответы на все эти вопросы есть в туториале по скриптам и в доке по функциям компилятора.
wifyxf
Вот не нашел я там этого! И еще вопрос — в V13 можно посмотреть название GVAR, а где посмотреть их описание и где посмотреть описание MVAR и LVAR?
Nordan
QUOTE
а где посмотреть их описание

В самих именах GVAR и MVAR. Обычно этой информации достаточно, чтобы понять зачем они нужны.
wifyxf
а где сами MVAR и LVAR?
Wasteland Ghost
Ищи лучше. Ищи функцию по названию в доке по скриптам — найдёшь полное описание. Процедура Node описана в туториале по скриптингу. Объявлять переменные/функции надо обязательно до первого использования.

Отправлено: 23 июл 13 14:16
QUOTE
а где сами MVAR и LVAR?
Ваш ответ: