Skocz do zawartości

Edytowanie plików z rozszerzeniem .script


Szczepan9205

Rekomendowane odpowiedzi

Siemka mam pytanko, pracuję ostatnio z @Agrael nad pewnym tłumaczeniem jednego z modów do Czystego Nieba(niedługo dam/ damy znać nad czym pracujemy), ale napotkałem pewien problem, mam pewne rzeczy, które wymagały by przetłumaczenia, ale nie są w pliku .xml tylko w pliku .script. Szukałem w necie jakiś wskazówek czym edytować pliki .script ale nie udało mi się nic zbytnio znaleźć oprócz wpisu na stronie twórców Anomaly w którym wspominają, że pliki .script edytuje się Notepadem++. No więc problem jest w tym, że mam Notepada++ i za każdym razem jak wprowadzę jakąś zmianę w pliku to gra wywala mi się podczas wczytywania z logiem:

Spoiler

FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp
[error]Line          : 180
[error]Description   : <no expression>
[error]Arguments     : LUA error: bind_stalker.script:301: attempt to index global 'zone_news' (a nil value)
 
lua stack:
  [14|-1] (no value):  
  [13|-2] (string):  `attempt to index global 'zone_news' (a nil value)'
  [12|-3] (nil):  nil
  [11|-4] (nil):  nil
  [10|-5] (nil):  nil
  [ 9|-6] (nil):  nil
  [ 8|-7] (nil):  nil
  [ 7|-8] (nil):  nil
  [ 6|-9] (number):  0
  [ 5|-10] (nil):  nil
  [ 4|-11] (number):  141973
  [ 3|-12] (userdata):  userdata (8C465D20)
  [ 2|-13] (number):  0
  [ 1|-14] (userdata):  userdata (6CEBA770)
 
 

stack trace:

Oświecił by mnie ktoś o co chodzi lub co robię źle? Dodam, że chcę tylko zamienić angielskie zdania na polskie, ale każda ingerencja w plik i zapisanie go powoduje mi ten wylot. Jeśli ktoś spotkał się kiedyś z podobnym problemem i byłby w stanie mi podpowiedzieć o co chodzi lub co robię źle to będę bardzo wdzięczny :):) Skrypt dotyczy dynamicznych wiadomości, ale nie spotykałem się wcześniej z podobnym logiem, jak tak patrzę na ten log no to stawiał bym, że coś może być nie tak z plikiem bind_stalker.script, ale w sumie tylko tyle udało mi się wydedukować :P

Odnośnik do komentarza
Udostępnij na innych stronach

@Szczepan9205  Spróbuj tłumaczenia za pomocą WinMerge. Tłumacząc przy jego pomocy, nigdy takich problemów nie miałem.

Praktycznie robiłem to tak, że kopiowałem tłumaczony plik do dwóch różnych katalogów na pulpicie. Jednemu zmieniałem nazwę. W WinMerge ten ze zmienioną nazwą wstawiałem do lewego okna i robiłem tylko do odczytu, a drugi plik do prawego okna. I w nim dokonywałem tłumaczenia. Miałem pełny przegląd tego co zrobiłem i co jeszcze trzeba przetłumaczyć. No i przede wszystkim na dole okien, miałem informację jakie będzie kodowanie przetłumaczonego pliku. Zawsze działał, jak było ANSI.

Z tego co wiem od innych tłumaczy, to przy problemie z kodowaniem, otwierali plik notatnikiem i zapisywali w nim.

 

Odnośnik do komentarza
Udostępnij na innych stronach

Z praktyki wiem ze spolszczenia skryptów wiąże się z odtwarzaniem polskich znaków.
Każdy skrypt w grach zakodowany jest inaczej. 
Przykład:
function init()
--    debug_print("init:>") --/#~#
    bpol = db.sLanguage and db.sLanguage == "pol"
    this.Build_Table()
    bInit = true

<?xml version="1.0" encoding="windows-1250" ?>

Ale to i tak nie daje gwarancji ze zobaczysz polskie znaki.

Sublime Text oferuje układy wielu kolumn i jest bardzo lekkim edytorem tekstu.

Nie ma pionowego blokowania przewijania, ale zapewnia mini-mapę całego dokumentu, dzięki czemu można dokładnie zobaczyć, która część dokumentu jest obecnie na ekranie.

http://www.sublimetext.com

Odnośnik do komentarza
Udostępnij na innych stronach

Każdy wybiera taki sposób tłumaczenia i narzędzia dla niego, jak mu wygodniej. Ale skoro przy takiej różnicy w wyglądzie znaków jaka jest przy grażdance i łacińskich, WinMerge daje sobie radę, to tym bardziej ze znakami identycznymi. Tu przykład na zrzucie ekranowym z tłumaczenia. Są wszystkie nasze diaktryczne.

1484576505_Tumaczenie.thumb.jpg.637e1d303ec3ec3b0686eab14b5cceb5.jpg

Poprzednio zapomniałem dodać, że przy ustawianiu plików do tłumaczenia, dla okna z tłumaczeniem musi być wybrany Win1250 !!!

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

@kondotier @Makro730 Dzięki za odpowiedzi :) spróbuję WinMerge najpierw bo mam go już zainstalowanego i trochę już zdążyłem go poznać więc prościej będzie mi w nim pogrzebać i zobaczymy co z tego wyjdzie, mam nadzieję, że zadziała, a jak nie no to po prostu wiadomości usunę całkowicie z moda albo zostawię, zobaczy się jeszcze, to jest w sumie ostatnia rzecz jaka została do zrobienia i póki co jesteśmy w fazie testowania i wyłapywania błędów więc jak skończymy to to się zajmę tym skryptem. 

Odnośnik do komentarza
Udostępnij na innych stronach

@kondotier Finałem to bym tego nie nazwał :D przetłumaczyłem wszystkie pliki tekstowe, które były z modem, teraz wzięliśmy się za przechodzenie moda, żeby wyłapać błędy, nieścisłości językowe albo jakieś zdania które mało sensownie brzmią, ogólnie jak już @Agrael napisał, tłumaczymy Yoctosferę i ona w oryginale była po włosku, potem ktoś zrobił angielskie tłumaczenie i się okazało, że ktoś dał plamę bo pomylił ze sobą postacie fabularne, które są w dwóch różnych lokacjach i oprócz tego pomylił zdanie w którym Szrama odmawia wzięcia zdania na dostarczenie pewnego PDA, ze zgodą na przyjęcie zadania, także jeszcze  trochę minie zanim wypuścimy spolszczenie :Pi dlatego za dynamiczne newsy mogę się wziąć jak już będziemy pod koniec moda bo tak jak wspomniał @Makro730 może się okazać, że skrypt nie będzie wyświetlać w grze polskich znaków i wtedy 500 przetłumaczonych linijek poszło by do kosza.

Odnośnik do komentarza
Udostępnij na innych stronach

@smox W zwykłym notatniku robiłem w pierwszej kolejności, też wywalało, potem spróbowałem Notepadem++ i też wywalało więc zapytałem na forum :P Ale jak skończymy testy to się tym zajmę bo jak mówiłem,to tylko dynamiczne wiadomości i do nich mogę sobie usiąść na spokojnie jak sprawdzimy wszystkie dialogi, nazwy przedmiotów zwykłych i questowych, misje poboczne, opisy misji pobocznych itd itd

Odnośnik do komentarza
Udostępnij na innych stronach

Dobra, nie wiem już o co chodzi z tymi skryptami. Chciałem trochę pójść na skróty więc ściągłem sobie spawner Władca Zony, fakt nie ma on do spawnowania wpisanych rzeczy, które są dodane w modzie ale znalazłem je w pliku ui_cheat_dialog.script, dla próby dopisałem kilka artefaktów, które dodaje mod, zapisałem używając notepada++, żeby mieć pewność, że kodowanie jest to samo( czyli Win1250) w moim pliku z dodanymi rzeczami i w oryginale, zamieniłem za oryginalny i zadziałało, artefakty pokazały mi się w okienku spawnu i mogłem je zespawnować więc dodałem resztę nowych rzeczy, nigdzie nie zapomniałem żadnego znaku, dodawałem mniej więcej tak, żeby nie odbiegało zbytnio od oryginału czyli np miałem linijkę z wypisanymi AKS-74 to tam dopisałem nowe warianty itd itd, sprawdziłem 10 razy zanim zapisałem czy nie zgubiłem jakiegoś " albo , przecinka i czy nazwy się pokrywają z tymi w plikach, wrzuciłem....i kur**a wywala się wszystko....sprawdzałem 5 razy i kodowanie oryginalnego i mojego jest to samo, wszystko jest tak samo tylko pliki się różnią dodanymi linijkami. W takim razie nie rozumiem czemu wcześniej jak dodałem chyba 7 artefaktów to wszystko działało i jeszcze arty były na liście i mogłem je zespawnować....

Odnośnik do komentarza
Udostępnij na innych stronach

@Szczepan9205  To win1250 jest istotne, ale przy grażdance z win 1251. Jeśli robicie tłumaczenie z angielskiego, to ono powinno być z urzędu. Ta sama grupa językowa _cent.

Natomiast istotnym jest, czy plik jest kodowany w ANSI, Unikode, UTF8 czy jeszcze inaczej. Pliki script, są przeważnie w UTF8. I tego musisz pilnować, bo zmiana w pliku przetłumaczonym np. UTF8 na ANSI powoduje wylot.

No i jeszcze to. W tych plikach z wiadomościami, bardzo łatwo jest "zgubić" któryśze znaków znajdujących się przed i po treści tłumaczonej. A to też 100% wylotu.

Odnośnik do komentarza
Udostępnij na innych stronach

@kondotier Chyba jesteś wybawcą bo zauważyłem właśnie że win1250 jest, ale kodowanie jest ANSI. Tylko ciekawa sprawa bo metodą prób i błędów chciałem dojść gdzie tkwi błąd i zacząłem moje zmodyfikowane linijki zastępować oryginalnymi, żeby zobaczyć po podmianie której wyloty ustaną, zamieniłem linijki w których były wypisane przedmioty questowe, jedzenie i takie pomniejsze rzeczy, potem amunicje i broń i jak zostały tylko artefakty i kombinezony to spawner zaczął się pokazywać w sensie po kliknięciu F1 nie wywalało od razu, ale za to po kliknięciu na kombinezony już wywala więc sprawdzę czy jak zmienię kodowanie na UFT8 to przestanie czy nadal będzie. Dobrze by było jakby to była tylko kwestia kodowania :P

Edit. Jednak nie chodzi o kodowanie, po prostu wygląda na to, że jakakolwiek większa ingerencja w skrypty powoduje wylot do pulpitu czy to przy spawnerze czy przy dynamicznych newsach. Nie zależnie czy próbuję w Notepadzie++ czy WinMerge i czy ustawiam to samo kodowanie co oryginalny plik bo zawsze sobie robię kopię oryginału zanim go zacznę zmieniać, to i tak się wysypuje, może być po prostu tak że te skrypty są napisane w taki sposób by uniemożliwić ich modyfikowanie?

Edytowane przez Szczepan9205
Odnośnik do komentarza
Udostępnij na innych stronach

@Szczepan9205  Tylko jeszcze taka rzecz. Jeśli dodajesz ( spawnujesz ) jakąś rzecz, której nie ma w modzie, to jeśli nie dokonasz zmiany pliku teksturowego z ikonami, to zawsze Ci wyleci, bo mod przedmiotu pod podanym mu adresem nie znajdzie, albo jak już przez przypadek trafi, to pokaże coś innego.

A to kodowanie, to sprawdź na dziewiczym pliku - np. z paczki pobrania moda - bo jest "nie skażony".

Sugeruję na PW skontaktować się z @Junx , o poradę. On grzebie w modach, będzie wiedział jak taki problem rozgryźć.

DODANO: Z pewną grupą plików jest też coś takiego, że prawidłowo działają tylko w nowej grze. Otwarcie moda ze zmienionym plikiem, albo przetłumaczonym, albo z takimi zmianami jak robicie poprzez wgranie istniejącego zapisu jest nieskuteczne, a najczęściej powoduje wylot.

Odnośnik do komentarza
Udostępnij na innych stronach

@kondotier Dałem już sobie spokój z tym spawnerem, trafiłem już na parę rzeczy dodanych przez twórców i opisy oraz nazwy się zgadzają więc po prostu wyjdzie w praniu wszystko. 

Mam jeszcze jedno pytanko choć może dział nie odpowiedni, da się jakoś sprawdzać na bieżąco zmiany które wprowadzam w tekście z poziomu gry bez potrzeby wyłączania jej i włączania od nowa? Trafiłem na kilka literówek i nie do końca pasujących odpowiedzi w dialogach(np Sidor zleca nam odnalezienie pewnego urządzenia na Wysypisku, i jako potwierdzenie przyjęcia zadania dostępna jest odpowiedź w stylu "dobra, znajdę ją dla Ciebie", zmieniłem zaraz w pliku tekstowym odpowiedź na "Dobra, znajdę dla Ciebie to urządzenie", ale zmieniłem ją po tym jak zakończyłem już dialog z Sidorem, zapisałem grę, wyłączyłem i uruchomiłem i wczytałem zapis już po tej rozmowie, ale treść rozmowy miałem nadal w PDA tyle, że mimo zmiany tekstu w PDA nadal wyświetlał mi się stary tekst. Pytam bo Yoctosfera była stworzona na vanilliowym silniku CN więc wczytanie się zapisu zajmuje chwilę i trochę to męczące co chwila wyłączać, i włączać grę żeby sprawdzić czy zmieniony tekst wyświetla się tak jak trzeba :P

Odnośnik do komentarza
Udostępnij na innych stronach

@Szczepan9205  Część plików z kat text można sprawdzić na starym zapisie. Jednak np. takie z ksywkami, nazwami lokacji na mapie których treść jest zapisywana przy nowej grze do allspawn się nie wczyta. Musiałbyś jednak wczytać zapis conajmniej sprzed rozmowy i ją na nowo przeprowadzić. Mod zapamiętał tę poprzednią rozmowę w zapisie.

Odnośnik do komentarza
Udostępnij na innych stronach

Mhm czyli ogółem na bieżąco bez wyłączania gry się nie da :P dzięki za odpowiedź @kondotier  Ja ogółem zauważyłem, że Stalker zawsze sprawdza pliki tekstowe jeszcze przed pojawieniem się intro i menu bo jak zrobiłem raz błąd i zapomniałem jednego </ przed string to wywalało mi jeszcze zanim się intro pokazało. No ale tu właśnie nie mam zapisu na chwilę przed rozmową, musiał bym dużo rzeczy na kordonie powtarzać więc trudno, ja wiem, że zmieniłem tekst na poprawiony i bardziej sensowny jeśli chodzi o składnię więc to najważniejsze, a najwyżej z @Agrael może uda nam się kogoś jeszcze zwerbować do pomocy przy testach :P jak nie to najwyżej powtórzymy fabułę od nowa jak skończymy tą, którą teraz przechodzimy i wyłapiemy większość błędów.

Odnośnik do komentarza
Udostępnij na innych stronach

@Szczepan9205  Tak to się nie da. Jak grasz, to mod siedzi w pamięci komputera taki, jakim go uruchomiłeś. Więc nie widzi wprowadzonych zmian. Trzeba więc go na nowo uruchomić, a najlepiej po restarcie komputera, aby wyczyścić również RAM. Niektóre z modów mniej "doskonałych", po ponownym uruchomieniu mogą pobrać z tego co w RAMie zostało. Pamiętaj, komputer to tylko szybka maszyna, za którą to Ty musisz myśleć.

Odnośnik do komentarza
Udostępnij na innych stronach

@Szczepan9205 nie ma co się tak przejmować, jak byście nie testowali mocno to jak wypuściciecie spolszczenie to coś tam z błędów się znajdzie :)

Nawet nie wiem czy jest sens szukać jedną czy parę osób do zamkniętych testów czy nie lepiej jak tak w miarę wg was ogarniecie temat to czy nie lepiej wypuścić jako "otwarte beta testy". Więcej graczy, większa szansa, że ktoś coś znajdzie, a jak coś będzię mocno nie działać to na bank ludzie będą marudzić ;) to się babola znajdzie :D

Ps. Kurcze chyba po tylu latach muszę Czyste Niebo zainstalować :)

  • Dodatnia 1
Odnośnik do komentarza
Udostępnij na innych stronach

@kondotier Taa...niestety jak by było tak łatwo to było by za łatwo, że tak powiem hehe :P 

@tom3kb No właśnie zaczynam ten wariant brać pod uwagę, to co wyłapiemy sami to poprawię na bieżąco i potem chyba wypuścimy betę i zobaczymy, jak ktoś się zainteresuje grą w moda trochę starszego bo już 4 letniego właśnie coś najpewniej wyjdzie w praniu...Heh no ja jadę fabułę Czystego Nieba czwarty raz w ciągu półtora miesiąca już, najpierw Call of Clear Sky, teraz Yoctosfera, ale powiem Ci że mimo tego że mod jest stary to widoczki ładne oferuje i jak przed chwilą przechadzałem się koło bazy Samotników na Kordonie, w koło mgła, ogólnie szaro i ponuro ,fajny klimat ma ten mod:cool: Fakt, ja akurat używam ReShade przy tych starych modach a ten konkretny to P.R.O.S.P.E.R.I.T.Y. dla Anomaly 1.5.0, ale w innych modach też daje świetny efekt :D

ss_szczepan_05-14-20_11-35-42_(garbage).thumb.jpg.1135a94793b1940f8766df7e75794150.jpg

  • Dodatnia 1
Odnośnik do komentarza
Udostępnij na innych stronach

@tom3kb Myślę, że warto będzie zagrać w Yoctosfere. Mod pod względem wizualnym prezentuje się bardzo ładnie. 

Jeżeli ktoś lubi zbierać PDA, fleszki, dokumenty to również znajdzie coś dla siebie. Tyle tego nazbierało mi się podczas testowania polonizacji:

ss_daniel_05-14-20_20-04-31_(red_forest).jpg
Duża część PDA zawiera informacje o lokalizacji unikalnej broni czy kombinezonu. Warto szukać :) 

Odnośnik do komentarza
Udostępnij na innych stronach

No ja sobie na pewno zagram, mi się CS podobał pod względem, silnika, grafiki, rozwiązań. 

Jak dojdzie trochę nawet prostych zadań z tym szukaniem różnych pierdół to mi wystarczy :)

Idę sobie opis Yoctosfery przeczytać co ten mod dodaje.

Czystego Nieba już z 6 lat nie miałem na kompie, odkurzę sobie płytkę wreszcie :D

Odnośnik do komentarza
Udostępnij na innych stronach

@Szczepan9205  Mam dla Ciebie taką propozycję. Poczytałem o modzie i jest to chyba teksturowo poprawione CzN. Więc można do jego tłumaczenia wykorzystać pliki z podstawki. Proponuję Ci skorzystanie z repacków wstawionych przez @Pirunvirsi . W nich jest komplet plików spolszczenia wszystkich podstawek. Będziesz mógł więc wziąć ze spolszczenia CzN ten problematyczny plik .script, porównać go WinMerge z plikiem z moda czy nie ma różnicy tak w treści informacji jak i ich ilości. Z nim mod na pewno nie wyleci na kodowaniu. No i będziesz miał dostęp do innych plików, które możesz wykorzystać bez konieczności tłumaczenia.

Odnośnik do komentarza
Udostępnij na innych stronach

@kondotier No ja do tłumaczenia wykorzystałem pliki podstawki :P ale że mod też dodaje kilka rodzajów broni oraz ich wariantów,amunicję, różne rzeczy typu PDA, fleszki, jedzenie, trochę nowych zadań, dialogów to za pomocą WinMerge porównywałem pliki oryginalnego polskiego tłumaczenia z tymi z moda i to co było dodane przez twórców moda przeniosłem na dół pliku, żeby niczego nie pominąć i nie skasować, potem zapisywałem plik i leciałem od początku od samej góry linijki po kolei sprawdzając czy się zgadza kolejność itd z tymi angielskimi i dopiero potem zamieniałem angielskie linijki z tymi odpowiadającymi im z polskiego tłumaczenia także ogólnie niczego nie pominąłem póki co, a samemu przetłumaczyłem tylko te nowe dodane rzeczy tj. nowe dialogi, opisy, treści wiadomości na fleszkach, dokumentach,pda, amunicję, broń, jedzenie itd itd i jestem już 3/4 moda i póki co niczego nigdzie nie brakowało, wszystko się wyświetla w porządku, zdarzają się jedynie jakieś literówki, pozatym @Agrael skontaktował się z @Anton Gorodecki, który przejrzał pliki, wprowadził trochę korekt ortograficznych i gramatycznych więc też ma swój udział w tłumaczeniu :) 

A co do skryptu to nie da mi to nic bo skrypt który jest problematyczny dla mnie to skrypt na Dynamiczne Wiadomości(takie same jak w CoC, Anomaly, Dead Air) i został on napisany dla moda Mystery 2.0 dla CN więc oryginalne skrypty nie pomogą :P Jedyne co mogę to jak skończymy testy, wziąć oryginalny plik skryptu(z niewypakowanego moda), wypakować go sobie, sprawdzić kodowanie itd i wtedy próbować modyfikować przy zachowaniu kodowania takiego jak oryginał i wtedy zobaczyć czy będzie wylatywał. Jak nie no to albo w modzie zostaną dynamiczne wiadomości po angielsku albo napiszemy krótką notkę do tłumaczenia, że jeśli ktoś nie chce angielskich wiadomości to wystarczy, że usunie 1 plik i tyle.

  • Dodatnia 1
Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z tej strony, zgadzasz się na nasze Warunki użytkowania.