Полный код скрипта ui cheat.script — S.T.A.L.K.E.R. Inside Wiki

Полный код скрипта ui cheat.script

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск

Скрипт ui_cheat.script (новый) к статье Как прибиндить скрипты на кнопки, или немного о создании своего интерфейса. Часть вторая

class "cheat" (CUIScriptWnd)
 
function cheat:__init(owner) super()
self.owner = owner
self:InitControls()
self:InitCallBacks()
end
 
function cheat:__finalize()
 
end
 
function cheat:InitControls()
self:Init(50,50,550,450)
local xml = CScriptXmlInit()
xml:ParseFile("ui_cheat_wnd.xml")
xml:InitStatic("back_video", self)
xml:InitStatic("background", self)
self:Register(xml:Init3tButton("btn_1", self),"btn_1")
self:Register(xml:Init3tButton("btn_2", self),"btn_2")
self:Register(xml:Init3tButton("btn_3", self),"btn_3")
self:Register(xml:Init3tButton("btn_4", self),"btn_4")
self:Register(xml:Init3tButton("btn_5", self),"btn_5")
self:Register(xml:Init3tButton("btn_6", self),"btn_6")
self:Register(xml:Init3tButton("btn_7", self),"btn_7")
self:Register(xml:Init3tButton("btn_8", self),"btn_8")
self:Register(xml:Init3tButton("btn_9", self),"btn_9")
self:Register(xml:Init3tButton("btn_quit", self),"btn_quit")
 
end
 
function cheat:InitCallBacks()
self:AddCallback("btn_1", ui_events.BUTTON_CLICKED, self.cheat1, self)
self:AddCallback("btn_2", ui_events.BUTTON_CLICKED, self.cheat2, self)
self:AddCallback("btn_3", ui_events.BUTTON_CLICKED, self.cheat3, self)
self:AddCallback("btn_4", ui_events.BUTTON_CLICKED, self.cheat4, self)
self:AddCallback("btn_5", ui_events.BUTTON_CLICKED, self.cheat5, self)
self:AddCallback("btn_6", ui_events.BUTTON_CLICKED, self.cheat6, self)
self:AddCallback("btn_7", ui_events.BUTTON_CLICKED, self.cheat7, self)
self:AddCallback("btn_8", ui_events.BUTTON_CLICKED, self.cheat8, self)
self:AddCallback("btn_9", ui_events.BUTTON_CLICKED, self.cheat9, self)
self:AddCallback("btn_quit", ui_events.BUTTON_CLICKED, self.on_quit, self)
end
 
function cheat:check_game()
local check = false
if level.present() and (db.actor ~= nil) and db.actor:alive() then
check = true
end
return check
end
 
function cheat:on_quit()
local console = get_console()
self:GetHolder():start_stop_menu (self.owner, true)
self:GetHolder():start_stop_menu (self,true)
self.owner:Show (true)
if self:check_game() then
console:execute("main_menu off")
end
end
 
function cheat:spawn_item(spawn_item, dist)
if self:check_game() then
self:on_quit()
local pos = db.actor:position()
local dir = db.actor:direction()
pos = pos:add(dir:mul(dist))
alife():create(spawn_item, pos, 1, db.actor:game_vertex_id())
end
end
 
function cheat:OnKeyboard(dik, keyboard_action)
CUIScriptWnd.OnKeyboard(self,dik,keyboard_action)
if keyboard_action == ui_events.WINDOW_KEY_PRESSED then
 
if dik == DIK_keys.DIK_ESCAPE then self:on_quit()
elseif dik == DIK_keys.DIK_NUMPAD1 then self:cheat1()
elseif dik == DIK_keys.DIK_NUMPAD2 then self:cheat2()
elseif dik == DIK_keys.DIK_NUMPAD3 then self:cheat3()
elseif dik == DIK_keys.DIK_NUMPAD4 then self:cheat4()
elseif dik == DIK_keys.DIK_NUMPAD5 then self:cheat5()
elseif dik == DIK_keys.DIK_NUMPAD6 then self:cheat6()
elseif dik == DIK_keys.DIK_NUMPAD7 then self:cheat7()
elseif dik == DIK_keys.DIK_NUMPAD8 then self:cheat8()
elseif dik == DIK_keys.DIK_NUMPAD9 then self:cheat9()
end
end
return true
end
 
function cheat:cheat1()
self:spawn_item("wpn_svd_m1", 3)
end
function cheat:cheat2()
self:spawn_item("ammo_7.62x54_ap", 3)
end
function cheat:cheat3()
self:spawn_item("ven_niva", 5)
end
function cheat:cheat4()
end
function cheat:cheat5()
end
function cheat:cheat6()
end
function cheat:cheat7()
end
function cheat:cheat8()
end
function cheat:cheat9()
end
Другие места
LANGUAGE