Witam mam pytanie do bardzej doświadczonych moderów. Tworzę spawner do Ukrytych Ścieżek 2 lecz napotykam pewne kłopoty (troche ciemny jestem w pisaniu kodu do tego typu rzeczy). Kłopoty objawiają się po zbindowaniu klawisza włączającego spawner i wychodzi takie coś
*```
[error]Expression : fatal error[error]Function : CScriptEngine::lua_error[error]File : E:stalkerpatch_1_0004xr_3daxrGamescript_engine.cpp[error]Line : 73[error]Description : [error]Arguments : LUA error: …ow of chernobylgamedatascriptsui_main_menu.script:293: attempt to call global ‘ui_si’ (a table value)
ui\_si to plik z tabelami do spawnera znajdujący się w gamedatascripts.
Wszystko wydaję sie być ok (przynajmniej na moje oko)
Tutaj ważniejsze fragmenty ui.main.menu.script
*```
end if dik == DIK_keys.DIK_F1 then self:start_si("spawn") end
```*
oraz
*```
function main_menu:start_si(action)if level.present() and (db.actor ~= nil) and db.actor:alive() then get_console():execute("main_menu off") local target = ui_si(get_hud(),action) level.start_stop_menu(target, true) end
```*
Link do ui\_main.menu [http://www.mediafire.com/download/xii7cbwb13a6n6x/ui\_main\_menu.script](http://www.mediafire.com/download/xii7cbwb13a6n6x/ui_main_menu.script)
Link do ui\_si [http://www.mediafire.com/download/i2yxdm69wldaap8/ui\_si.script](http://www.mediafire.com/download/i2yxdm69wldaap8/ui_si.script)
Jakby coś jeszcze było potrzebne to piszcie
Edit: W ogóle nie jest zbindowany spawner, natomiast po kliknięciu T oznaczonego w ui.main menu jako teleport który usunąłem bo uznałem za nie potrzebny mam standardowy wylot z powodu braku pliku
*```
FATAL ERROR [error]Expression : fatal error[error]Function : CScriptEngine::lua_error[error]File : E:stalkerpatch_1_0004xr_3daxrGamescript_engine.cpp[error]Line : 73[error]Description : [error]Arguments : LUA error: …ow of chernobylgamedatascriptsui_main_menu.script:285: attempt to index global ‘ui_teleport’ (a nil value)
Monolityczny tak patrze i ty mi podesłałeś z tego yandexa wersję czystą ui.main.menu którą domyślnie mam w Ukrytych. I na kij mnie to? NIe ma tam żadnych bindów więc nie dziwo że spawner nie dziala.
A crash z loga który wrzucilem jest zrozumialy bo usunalem pliki teleportu żeby nie gryzły się z plikami z Ukrytych a binda do teleportu najzwyklej nie usunalem, zapomnialem.
if keyboard_action == ui_events.WINDOW_KEY_PRESSED then
if dik == DIK_keys.DIK_ESCAPE then
if level.present() and (db.actor ~= nil) and db.actor:alive() then
console:execute(“main_menu off”)
end
end
– đŕńęîěĺíňčđóĺě č çŕîîäíî âęëţ÷čě óáđŕííîĺ ńďŕâí ěĺíţ
if dik == DIK_keys.DIK_S then
– self:OnButton_load_spawn()
elseif dik == DIK_keys.DIK_Q then
self:OnMessageQuitWin()
elseif dik == DIK_keys.DIK_A then
if amk.check_game() then
self:amk_options()
end
Przecie na oko widać że to zwykły ui.main.menu
Edit: Nie wrzucałem wszystkich plików spawnera bo jakbym to zrobił to byłby chaos. Wrzucilem tylko to co potrzebne do okna spawnera. I żadnego zabezpieczenia tam nie ma.
Monolityczny ja nie chce się kłócić ale na kij mi wrzucać pliki pojazdów o_O?
Edit. Czy ta zmiana bez bindu coś da? Bo wydaje mi się że gdy plik ui.si jest obecny w scripts, to i bez plikow pojazdow powinno się coś stać po kliknięciu S. A tu nawet crasha nie ma, jakby tego binda nie było
Podsumowując jest tak jak ja myśle. Binda na spawner nie ma S nie dziala F1 nie działa, dziala tylko to co jest w ui.main menu czyli pseudo teleporter, skutki jego użycia powyżej. Wszystkie pliki scripts zgodnie z zaleceniami poszły do ukrytych.
Nie kopiowałem tylko xr.statistics bo pliki sie gryzą