skillcheck_inc NSS
int GetIsSkillSuccessful(object oTarget, int nSkill, int nDifficulty) {
int nSkill = GetSkillRank(oTarget, nSkill);
int nDice = d20();
int nRet = 0;
string sMsg = ""; // тут можно вставить проверку на название скилла, поставить цвета итд, оформелние чисто
if((nDice+nSkill)>=nDifficulty)
nRet = 1;
if(GetIsPC(oTarget)) {
sMsg = IntToString(nDice)+" + "+IntToString(nSkill)+" vs "+IntToString(nDifficulty);
if(nRet)
sMsg = "Skill check: *success* :"+sMsg;
else
sMsg = "Skill check: *failure* :"+sMsg;
SendMessageToPC(oPC, sMsg);
}
return nRet;
}
nwscript.nss - строка 9572, заменить на:
NSS
int my_GetIsSkillSuccessful(object oTarget, int nSkill, int nDifficulty);
Дальше открыть модуль и в каждый файл проинклудить вышеуказанную функцию.
Чтоб сделать это быстро - достаточно открыть папку temp0 и выполнить скрипт на перле
CODE
#!/usr/bin/perl
opendir(DIR, "."); // открыть папку
@nss = readdir(DIR); // список файлов
closedir(DIR); // закрыть папку
foreach $file (@nss) { // цикл по файлам
if($file =~ m/\.nss/i && $file != "nwscript.nss") { // если файл .nss и не nwscript.nss
$pfile = "pl_".$file; // темповый файл
system("echo '#include \"skillcheck_inc\"' > $pfile"); // в темповый файл кинуть строку с инклудом
system("cat $file >> $pfile"); // в конец дописать содержимое старог скрипта
system("mv $pfile $file -f"); // заменить старый скрипт фикшенным
print "$file updated!\n"; // сообщение
}
}
Это для *nix.. Для винды не знаю.
Далее перекомпиливаем весь модуль