Показать полную графическую версию : [решено] Язык LUA
by_gangster
27-04-2013, 18:13
Здравствуйте уважаемые программисты. Имеется код
function main_menu:InitCallBacks()
self:AddCallback("btn_mod_option",ui_events.BUTTON_CLICKED,self.mod_options,self)
end
Как тут сделать что по нажатию открывалась страница в интернете ?
by_gangster, у меня не получается синтаксически разобрать эту конструкцию.
В частности найти документацию по self:AddCallback
:dont-know
by_gangster
30-04-2013, 19:22
lxa85, Вот и я ничего не могу найти :(
Delirium
01-05-2013, 01:31
Ну почему, документация то есть вроде: http://www.troubleshooters.com/codecorn/lua/luacallbacks.htm
А self это скорее всего вызов наподобие base в C#.
by_gangster
01-05-2013, 07:35
Delirium, Оох, а как же мне осуществить открытие страницы в интернете...
by_gangster, а можно более подробный код получить? Ну или пример тестовой странички. Т.к. сейчас это попытка теоретизировать вслух.
by_gangster
01-05-2013, 13:28
lxa85, Это скрипт написанный как я понял на языке LUA, кусок скрипта который я дал из игры Сталкер ЗП. Если нужно могу полный скрипт выложить...
deviance
01-05-2013, 15:50
Очень похоже на сопряжение сигналов и слотов, как в Qt.
by_gangster, скорее всего, функция-callback передается третьим аргументом:
self:AddCallback("btn_mod_option",ui_events.BUTTON_CLICKED,self.mod_options,self)
by_gangster
01-05-2013, 19:33
deviance, Я если честно догадывался, но вот как вместо этого прописать открытие страницы ?
by_gangster, могу смело предположить, что программисты под Сталкер ЗП - большая редкость. Возможно на этом форуме - вы единственный (поэтому подколы про "догадывался" неуместны). Язык LUA не умеет сам по себе открывать интернет странички. Он лишь средство автоматизации, которое в которое должна быть экспортирована функция, которая может открыть страничку. Искать эту функцию нужно по документации Сталкера ЗП (которой мы не владеем). Но не всё так плохо, можно угадать, тыкнув пальцем в небо.
Догадка №1: Допустим self.mod_options - это и есть та самая функция, которая отреагирует на нажатие кнопки. Проверить можно так:
self:AddCallback(...) -- после этой строчки добавляем:
self.mod_options() -- если выскочит то, что появляется при нажатии этой кнопки, то угадали
-- если выползет ошибка типа "это не функция" - значит нет
Догадка №2: Допустим в среду LUA экспортирован её пакет "os" (и №1 верно). Тогда делаем:
self.mod_options=function() os.exec("iexplorer http://www.google.com") end
self:AddCallback(...)
Допустим не угадали, но знаем функцию, которая выводит текст в лог (пусть это будет print).
Делаем следующее:
function __render(name, x, indent)
if type(x)=="table" then
print(indent, name, ":")
for key, val in pairs(x) do
__render(key, val, indent.." ")
end
else
print(indent, name, "=", x)
end
end
__render("look for exec", _G, ">") -- среди этого ищем, чем бы открыть страницу, но может зациклить. Если зациклит - напиши, скажу что добавить в __render
__render("look for callback", self, ">") -- среди этого ищем, что бы могло быть реакцией на нажатие (скорее всего это функция)
by_gangster
01-05-2013, 20:26
pva, Прошу прощения, вроде бы по поводу
function main_menu:InitCallBacks()
self:AddCallback("btn_mod_option",ui_events.BUTTON_CLICKED,self.mod_options,self)
end
Нашол файл mod_options.xml на который я так понял ссылается... Но в этом скрипте помимо
self:AddCallback("btn_mod_option",ui_events.BUTTON_CLICKED,self.mod_options,self)
есть ещё и такие строчки..
self:AddCallback("btn_logout",ui_events.BUTTON_CLICKED,self.OnButton_logout_clicked,self)
Кнопка выхода из игры... OnButton_logout_clicked - такого файла нет...
by_gangster, кусок скрипта который я дал из игры Сталкер ЗП. Если нужно могу полный скрипт выложить... »
Будь добр.
Догадываться о назначении функций, файлов и прочее, не имея их на руках, не имея документации по ним, не имея ничего... Надоело-невозможно.
Т.ч. полный скрипт со всеми сопутствующими файлами и ссылками на описание в студию.
Пойми правильно.
by_gangster
01-05-2013, 20:45
lxa85, Понял извините ещё раз, вот полный скрипт...
class "main_menu" (CUIScriptWnd)
function main_menu:__init() super()
self.mbox_mode = 0
self:InitControls()
self:InitCallBacks()
xr_s.on_main_menu_on()
end
function main_menu:__finalize()
end
function main_menu:InitControls()
self:SetWndRect(Frect():set(0,0,1024,768))
local xml = CScriptXmlInit()
xml:ParseFile("ui_main_menu.xml")
xml:InitStatic("background", self)
self.shniaga = xml:InitMMShniaga("shniaga_wnd",self);
self.message_box = CUIMessageBoxEx()
self:Register(self.message_box, "msg_box")
local _ver=xml:InitStatic("static_version",self)
local mm=_G.main_menu.get_main_menu()
_ver:TextControl():SetText("by_g" .. mm:GetGSVer())
self.l_mgr = mm:GetLoginMngr()
self.acc_mgr = mm:GetAccountMngr()
self.profile_store = mm:GetProfileStore()
self.gs_profile = self.l_mgr:get_current_profile()
if (self.gs_profile and not(level.present())) then
self.shniaga:ShowPage(CUIMMShniaga.epi_new_network_game) --fake
self.shniaga:SetPage(CUIMMShniaga.epi_main, "ui_mm_main.xml", "menu_main_logout")
self.shniaga:ShowPage(CUIMMShniaga.epi_main)
end
sgm_version.show_version(self)
end
function main_menu:Show(f)
self.shniaga:SetVisibleMagnifier(f)
end
function main_menu:InitCallBacks()
self:AddCallback("btn_mod_option",ui_events.BUTTON_CLICKED,self.mod_options,self)
self:AddCallback("btn_coord_pos",ui_events.BUTTON_CLICKED,self.OnButton_coord_pos_clicked,self)
self:AddCallback("btn_novice",ui_events.BUTTON_CLICKED,self.OnButton_new_novice_game,self)
self:AddCallback("btn_stalker",ui_events.BUTTON_CLICKED,self.OnButton_new_stalker_game,self)
self:AddCallback("btn_veteran",ui_events.BUTTON_CLICKED,self.OnButton_new_veteran_game,self)
self:AddCallback("btn_master",ui_events.BUTTON_CLICKED,self.OnButton_new_master_game,self)
self:AddCallback("btn_spawn",ui_events.BUTTON_CLICKED,self.OnButton_load_spawn,self)
self:AddCallback("btn_options",ui_events.BUTTON_CLICKED,self.OnButton_options_clicked,self)
self:AddCallback("btn_load",ui_events.BUTTON_CLICKED,self.OnButton_load_clicked,self)
self:AddCallback("btn_save",ui_events.BUTTON_CLICKED,self.OnButton_save_clicked,self)
self:AddCallback("btn_net_game",ui_events.BUTTON_CLICKED,self.OnButton_network_game_clicked,self)
self:AddCallback("btn_internet",ui_events.BUTTON_CLICKED,self.OnButton_internet_clicked,self)
self:AddCallback("btn_localnet",ui_events.BUTTON_CLICKED,self.OnButton_localnet_clicked,self)
self:AddCallback("btn_multiplayer",ui_events.BUTTON_CLICKED,self.OnButton_multiplayer_clicked,self)
self:AddCallback("btn_logout",ui_events.BUTTON_CLICKED,self.OnButton_logout_clicked,self)
self:AddCallback("btn_quit",ui_events.BUTTON_CLICKED,self.OnButton_quit_clicked,self)
self:AddCallback("btn_quit_to_mm",ui_events.BUTTON_CLICKED,self.OnButton_disconnect_clicked,self)
self:AddCallback("btn_ret",ui_events.BUTTON_CLICKED,self.OnButton_return_game,self)
self:AddCallback("btn_lastsave",ui_events.BUTTON_CLICKED,self.OnButton_last_save,self)
self:AddCallback("btn_credits",ui_events.BUTTON_CLICKED,self.OnButton_credits_clicked,self)
self:AddCallback("msg_box",ui_events.MESSAGE_BOX_OK_CLICKED,self.OnMsgOk,self)
self:AddCallback("msg_box",ui_events.MESSAGE_BOX_CANCEL_CLICKED,self.OnMsgCancel,self)
self:AddCallback("msg_box",ui_events.MESSAGE_BOX_YES_CLICKED,self.OnMsgYes,self)
self:AddCallback("msg_box",ui_events.MESSAGE_BOX_NO_CLICKED,self.OnMsgNo,self)
self:AddCallback("msg_box",ui_events.MESSAGE_BOX_QUIT_GAME_CLICKED,self.OnMessageQuitGame,self)
self:AddCallback("msg_box",ui_events.MESSAGE_BOX_QUIT_WIN_CLICKED,self.OnMessageQuitWin,self)
self:Register(self,"self")
self:AddCallback("self",ui_events.MAIN_MENU_RELOADED,self.OnMenuReloaded,self)
end
function main_menu:OnMsgOk()
self.mbox_mode = 0
end
function main_menu:OnMsgCancel()
self.mbox_mode = 0
end
function main_menu:OnMsgYes()
if self.mbox_mode == 1 then
self:LoadLastSave()
end
self.mbox_mode = 0
end
function main_menu:OnMsgNo()
self.mbox_mode = 0
end
function main_menu:LoadLastSave()
local console = get_console()
console:execute("main_menu off")
console:execute("load_last_save")
end
function main_menu:OnButton_last_save()
if (alife() == nil) then
self:LoadLastSave()
return
end
if ((db.actor ~= nil) and (db.actor:alive()==false)) then
self:LoadLastSave()
return
end
self.mbox_mode = 1
self.message_box:InitMessageBox ("message_box_confirm_load_save")
self.message_box:ShowDialog(true)
end
function main_menu:OnButton_credits_clicked()
game.start_tutorial("credits_seq")
end
function main_menu:OnButton_quit_clicked()
self.message_box:InitMessageBox("message_box_quit_windows")
self.message_box:ShowDialog(true)
end
function main_menu:OnButton_disconnect_clicked()
self.message_box:InitMessageBox("message_box_quit_game")
if (level.game_id() ~= 1) then
self.message_box:SetText("ui_mm_disconnect_message")
else
self.message_box:SetText("ui_mm_quit_game_message")
end
self.message_box:ShowDialog(true)
end
function main_menu:OnMessageQuitGame()
local console = get_console()
console:execute("disconnect")
end
function main_menu:OnMessageQuitWin()
local console = get_console()
console:execute("quit")
end
function main_menu:OnButton_return_game()
local console = get_console()
console:execute("main_menu off")
xr_s.on_main_menu_off()
end
function main_menu:OnButton_new_novice_game()
local console = get_console()
console:execute("g_game_difficulty gd_novice")
self:StartGame()
end
function main_menu:OnButton_new_stalker_game()
local console = get_console()
console:execute("g_game_difficulty gd_stalker")
self:StartGame()
end
function main_menu:OnButton_new_veteran_game()
local console = get_console()
console:execute("g_game_difficulty gd_veteran")
self:StartGame()
end
function main_menu:OnButton_new_master_game()
local console = get_console()
console:execute("g_game_difficulty gd_master")
self:StartGame()
end
function main_menu:StartGame()
local console = get_console()
if (alife() ~= nil) then
console:execute ("disconnect")
end
device():pause(false)
console:execute("start server(all/single/alife/new) client(localhost)")
console:execute("main_menu off")
end
function main_menu:OnButton_load_spawn()
if self.spawn_dlg == nil then
self.spawn_dlg = ui_spawn_dialog.spawn_dialog()
self.spawn_dlg.owner = self
end
self.spawn_dlg:ShowDialog(true)
self:HideDialog()
self:Show(false)
end
function main_menu:OnButton_save_clicked()
if self.save_dlg == nil then
self.save_dlg = ui_save_dialog.save_dialog()
self.save_dlg.owner = self
end
self.save_dlg:FillList()
self.save_dlg:ShowDialog(true)
self:HideDialog()
self:Show(false)
end
function main_menu:OnButton_options_clicked()
if self.opt_dlg == nil then
self.opt_dlg = ui_mm_opt_main.options_dialog()
self.opt_dlg.owner = self
end
self.opt_dlg:SetCurrentValues()
self.opt_dlg:ShowDialog(true)
self:HideDialog()
self:Show(false)
end
function main_menu:OnButton_load_clicked()
if self.load_dlg ==nil then
self.load_dlg = ui_load_dialog.load_dialog()
self.load_dlg.owner = self
end
self.load_dlg:FillList()
self.load_dlg:ShowDialog(true)
self:HideDialog()
self:Show(false)
end
function main_menu:OnButton_network_game_clicked()
self.shniaga:ShowPage(CUIMMShniaga.epi_new_network_game)
end
function main_menu:OnButton_multiplayer_clicked()
if not(self.mp_dlg) then
self.mp_dlg = ui_mp_main.mp_main(self.gs_profile:online())
self.mp_dlg.owner = self
self.mp_dlg:OnRadio_NetChanged()
if (self.mp_dlg.online) then
self.mp_dlg.dlg_profile:InitBestScores()
self.mp_dlg.dlg_profile:FillRewardsTable()
end
end
self.mp_dlg:UpdateControls()
self.mp_dlg:ShowDialog(true)
self:HideDialog()
self:Show(false)
local console = get_console()
console:execute("check_for_updates 0")
end
function main_menu:OnButton_logout_clicked()
self.shniaga:ShowPage(CUIMMShniaga.epi_new_network_game)
self.l_mgr:logout()
self.gs_profile = nil
self.mp_dlg = nil
self.shniaga:SetPage(CUIMMShniaga.epi_main, "ui_mm_main.xml", "menu_main")
self.shniaga:ShowPage(CUIMMShniaga.epi_main)
end
function main_menu:OnButton_internet_clicked()
if not(self.gs_dlg) then
self.gs_dlg = ui_mm_mp_gamespy.gamespy_page()
self.gs_dlg.owner = self
end
self.gs_dlg:ShowLoginPage()
self.gs_dlg:ShowDialog(true)
self:HideDialog()
self:Show(false)
local console = get_console()
console:execute("check_for_updates 0")
end
function main_menu:OnButton_localnet_clicked()
if not(self.ln_dlg) then
self.ln_dlg = ui_mm_mp_localnet.localnet_page()
self.ln_dlg.owner = self
self.ln_dlg.lp_nickname:SetText(self.l_mgr:get_nick_from_registry())
self.ln_dlg.lp_check_remember_me:SetCheck(self.l_mgr:get_remember_me_from_registry())
end
self.ln_dlg:ShowDialog(true)
self:HideDialog()
self:Show(false)
local console = get_console()
console:execute("check_for_updates 0")
end
function main_menu:Dispatch(cmd, param)
if cmd == 2 then
self:OnButton_multiplayer_clicked()
end
return true
end
function main_menu:OnMenuReloaded()
self:OnButton_options_clicked()
self.opt_dlg:OnMenuReloaded()
end
function main_menu:OnKeyboard(dik, keyboard_action) --virtual function
CUIScriptWnd.OnKeyboard(self,dik,keyboard_action)
local bind = dik_to_bind(dik)
local console = get_console()
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())) or (false==IsGameTypeSingle())) then
self.OnButton_return_game()
end
end
if dik==DIK_keys.DIK_Q then
self:OnMessageQuitWin()
elseif dik==DIK_keys.DIK_SUBTRACT then
self:screenshot_mode_on()
elseif dik==DIK_keys.DIK_ADD then
self:screenshot_mode_off()
elseif db.actor~=nil and dik==DIK_keys.DIK_F5 then
self:mod_options()
elseif db.actor~=nil and dik==DIK_keys.DIK_T then
self.OnButton_return_game()
run_choose_box("yes_or_no","remove_bad_outfit","Удалить текущий бронекостюм?")
elseif db.actor~=nil and dik==DIK_keys.DIK_6 then
self.OnButton_return_game()
level.show_weapon(true)
end
if db.actor~=nil then
if dik==DIK_keys.DIK_0 then
self:set_0_factor()
elseif dik==DIK_keys.DIK_1 then
self:set_1_factor()
elseif dik==DIK_keys.DIK_2 then
self:set_2_factor()
elseif dik==DIK_keys.DIK_3 then
self:set_3_factor()
elseif dik==DIK_keys.DIK_4 then
self:set_4_factor()
elseif dik==DIK_keys.DIK_5 then
self:set_5_factor()
elseif dik==DIK_keys.DIK_F1 then
self:mod_modes()
elseif dik==DIK_keys.DIK_F2 then
self.OnButton_return_game()
run_dynamic_element(ui_mod_spawner.spawn_item_dialog(),false,true)
elseif dik==DIK_keys.DIK_F3 then
self:deliver_mp3_and_bonus()
elseif dik==DIK_keys.DIK_F4 then
self:inc_actor_rank()
elseif dik==DIK_keys.DIK_P then
self:set_rich_actor()
end
end
end
return true
end
-------------------------------------------------------------------
-- SGM Mod --
-------------------------------------------------------------------
function main_menu:screenshot_mode_on()
level.hide_indicators_safe()
game_hide_menu()
give_info("screenshot_mode")
end
function main_menu:screenshot_mode_off()
level.show_indicators()
disable_info("screenshot_mode")
end
function main_menu:set_rich_actor()
dialogs.relocate_money(db.actor,1000000,"in")
end
function main_menu:inc_actor_rank()
xr_statistic.add_50_actor_rank()
end
function main_menu:deliver_mp3_and_bonus()
give_object_to_actor("mp3_player")
for k=1,40 do give_mp3_bonus() end
end
function main_menu:set_0_factor()
if db.actor~=nil then
level.set_time_factor(DefaultTimeFactor())
end
end
function main_menu:set_1_factor()
if db.actor~=nil then
level.set_time_factor(50)
end
end
function main_menu:set_2_factor()
if db.actor~=nil then
level.set_time_factor(100)
end
end
function main_menu:set_3_factor()
if db.actor~=nil then
level.set_time_factor(500)
end
end
function main_menu:set_4_factor()
if db.actor~=nil then
level.set_time_factor(1000)
end
end
function main_menu:set_5_factor()
if db.actor~=nil then
level.set_time_factor(5000)
end
end
function main_menu:set_remote_marker()
if sgm_flags.bool_remote_marker==false then
local rm_id=create("remote_marker",db.actor:position().x,db.actor:position().y,db.actor:position().z,db.actor:level_vertex_id(),db.act or:game_vertex_id(),sgm_flags.spot_toolkit_place,"точка отсчёта")
sgm_flags.value_remote_marker=rm_id.id
sgm_flags.bool_remote_marker=true
elseif sgm_flags.bool_remote_marker==true then
local marker_obj=level.object_by_id(sgm_flags.value_remote_marker)
debug_to_file("remote_points.txt",marker_obj:position().x..","..marker_obj:position().y..","..marker_obj:position().z..","..marker_obj:level_vertex_id()..","..marker_obj:game_vertex_id())
sgm_flags.bool_remote_marker=false
remove_item_by_id(sgm_flags.value_remote_marker)
sgm_flags.value_remote_marker=0
end
end
function main_menu:OnButton_coord_pos_clicked()
text="Позиция:\\nX= "..db.actor:position().x.."\\nY= "..db.actor:position().y.."\\nZ= "..db.actor:position().z.."\\nlevel_vertex= "..db.actor:level_vertex_id().."\\ngame_vertex_id= "..db.actor:game_vertex_id().."\\ndirection= "..db.actor:direction():getH()
news_manager.send_tip(db.actor,text,0,mutant_hunter,10000,nil,"Координата")
fill_log(db.actor:position().x..","..db.actor:position().y..","..db.actor:position().z..","..db.actor:level_vertex_id()..","..db.actor:game_vertex_id())
--/debug_to_file("points.txt",db.actor:level_vertex_id()..","..db.actor:game_vertex_id())
debug_to_file("points.txt",db.actor:position().x..","..db.actor:position().y..","..db.actor:position().z..","..db.actor:level_vertex_id()..","..db.actor:game_vertex_id())
end
function main_menu:mod_modes()
if self.mod_modes_dlg == nil then
self.mod_modes_dlg = ui_mod_modes.mod_modes()
self.mod_modes_dlg.owner = self
end
self.mod_modes_dlg:ShowDialog(true)
self:HideDialog()
self:Show(false)
end
function main_menu:mod_options()
if self.mod_dlg == nil then
self.mod_dlg = ui_mod_options.mod_options()
self.mod_dlg.owner = self
end
self.mod_dlg:ShowDialog(true)
self:HideDialog()
self:Show(false)
end
Вроде понятно как назначать события на кнопки, но не понятно, как показывать интернет-странички.
добавь в function main_menu:InitCallBacks() код:
local report,length={},0
for k, v in pairs(_G) do
length=length+1
report[length]=string.format("%q=%q\n", tostring(k), tostring(v))
end
debug_to_file("all-globals.txt", table.concat(report))
Запусти (сделай так, чтобы main_menu:InitCallBacks() выполнился), найди в недрах сталкера файл "all-globals.txt" и покажи его содержимое.
by_gangster
01-05-2013, 21:26
pva,
Всё выполнилось вот...
"congratulate_with_headshot_event"="function: FFF41358"
"CAntirad"="userdata: FFDC8098"
"game_ini"="function: FFEEEE98"
"demo_player_info"="userdata: FFE3F740"
"hide_spot_by_section"="function: FFD1BEB0"
"create_random"="function: FFCF91A8"
"memory_object"="userdata: FFE59480"
"get_difficulty"="function: FFD803C0"
"cse_alife_item_weapon_auto_shotgun"="userdata: FFEA9FE0"
"on_actor_bleeding"="function: FFCF8F70"
"CWeaponRG6"="userdata: FFE59AC8"
"tonumber"="function: FFF42538"
"cse_abstract"="userdata: FFEC6828"
"get_random_line"="function: FFF41638"
"has_any_items"="function: FFD1BA50"
"get_param_string"="function: FFCF8A00"
"CRustyHairArtefact"="userdata: FFDC0850"
"actor_out_restrictor"="function: FFD1BFB0"
"CBottleItem"="userdata: FFDC9288"
"distance_to_object"="function: FFD1BF30"
"property_evaluator_const"="userdata: FFE53A38"
"CAI_Bloodsucker"="userdata: FFDED418"
"bit_and"="function: FFEE3280"
"mus_vol"="0"
"CUIMapInfo"="userdata: FFDFB0F0"
"cse_alife_inventory_item"="userdata: FFEED6C8"
"CWeaponAutomaticShotgun"="userdata: FFDB3410"
"reset_action"="function: FFCFFE60"
"MEMBERS__value_type"="userdata: FFE61FD0"
"set_item_activation"="function: FFD1C250"
"distance_between_safe"="function: FFCFFE20"
"CALifeSmartTerrainTask"="userdata: FFEC9CA8"
"give_info"="function: FFD8CE48"
"cse_alife_item_detector"="userdata: FFEABA88"
"account_operation_cb"="userdata: FFDA9570"
"color"="userdata: FFE58370"
"use_power_mode"="function: FFCFD6C8"
"CSavedGameWrapper"="userdata: FFDA0D40"
"CUIListBoxItem"="userdata: FFE019D0"
"distance_between"="function: FFCFFE00"
"world_property"="userdata: FFE55440"
"GetFontGraffiti32Russian"="function: FFE22C90"
"get_clsid"="function: FFCFFFA0"
"game_memory_object"="userdata: FFE805F8"
"print_table"="function: FFCFE188"
"device"="function: FFEE3678"
"CWeaponAK74"="userdata: FFDB1938"
"has_alife_info"="function: FFCFFE40"
"clear_mod_param"="function: FFD9F0B8"
"ClientID"="userdata: FFEC0020"
"collectgarbage"="function: FFF421D0"
"CUIEditBox"="userdata: FFE037D0"
"CChimera"="userdata: FFDD1E18"
"object_switch_offline"="function: FFE100A8"
"CWeaponKnife"="userdata: FFDBEA00"
"cse_alife_creature_actor"="userdata: FFE86210"
"clear_item_from_inventory"="function: FFD1BC70"
"CSimpleDetector"="userdata: FFDB1040"
"yaw"="function: FFCFFFC0"
"math"="table: FFF454F8"
"cast_planner"="function: FFE54150"
"FS_file_list_ex"="userdata: FFDE19A0"
"parse_comma_names"="function: FFCF8130"
"has_chosen_items"="function: FFD1BA10"
"stop_play_sound"="function: FFCFED98"
"create_inventory_item"="function: FFCF5F40"
"cse_alife_item_pda"="userdata: FFE90390"
"CUIFrameLineWnd"="userdata: FFE266F8"
"IsGameTypeSingle"="function: FFE51BC8"
"cse_alife_object"="userdata: FFECC548"
"sound_object"="userdata: FFE6ACD0"
"bit_not"="function: FFEE3430"
"CAI_Dog"="userdata: FFDEE940"
"sigerous_top_split_minutes"="function: FFD80298"
"gcinfo"="function: FFF42218"
"show_capture_monster_bar"="function: FFD42698"
"hide_radius_spot_by_section"="function: FFD1BED0"
"level"="table: FFE6EF58"
"se_monster"="table: FFCAD420"
"cse_alife_item_weapon"="userdata: FFEA3588"
"SServerFilters"="userdata: FFDF1300"
"DefaultTimeFactor"="function: FFE101A8"
"cse_alife_item_weapon_shotgun"="userdata: FFEA8538"
"random_number"="function: FFCFFF00"
"relation_registry"="table: FFE51DF8"
"module"="function: FFF43880"
"id_by_sid"="function: FFD5B7F0"
"key_bindings"="userdata: FFDE1010"
"odd"="function: FFD5B830"
"give_reward"="function: FFCF5F20"
"se_actor"="table: FFD540A8"
"CConsole"="userdata: FFDE2FF0"
"cse_alife_item_artefact"="userdata: FFEAD560"
"CFracture"="userdata: FFDD4208"
"sigerous_top_update"="function: FFD81408"
"get_random_string"="function: FFF41618"
"se_stalker"="table: FFD55778"
"color_animator"="userdata: FFDD7BF0"
"object_exists"="function: FFD1C2D0"
"setup_no_weapon_zone_disabled"="function: FFDAD830"
"cse_alife_group_abstract"="userdata: FFECCC60"
"CTushkano"="userdata: FFDD5CF0"
"CActor"="userdata: FFDA80F0"
"CUI_show_item_icon"="function: FFD1C0D0"
"parse_nums"="function: FFCFFF60"
"_VERSION"="Lua 5.1"
"CWeaponUSP45"="userdata: FFE5BF38"
"give_ammo_with_container"="function: FFCF9210"
"CUITextWnd"="userdata: FFE93DA0"
"game_object"="userdata: FFE81438"
"cse_alife_human_stalker"="userdata: FFE711A8"
"duality"="userdata: FFE58098"
"prefetch"="function: FFEE30C0"
"set_faction_to_faction_relation"="function: FFD1C070"
"CUIMessageBox"="userdata: FFE08378"
"get_item_count_in_inventory_box"="function: FFD1BCF0"
"create_throw_zone"="function: FFCFD668"
"game_graph"="function: FFEE2D48"
"CZombie"="userdata: FFDD3910"
"CUIWindow"="userdata: FFE22E40"
"reader"="userdata: FFEEEF88"
"check_seconds"="function: FFE100C8"
"abort"="function: FFCF93F0"
"physics_world"="userdata: FFDE8688"
"CGrenadeLauncher"="userdata: FFDCC870"
"dik_to_bind"="function: FFE051F0"
"edit_trader_order"="function: FFE10568"
"CStalkerOutfit"="userdata: FFDCD170"
"select"="function: FFF42470"
"holder"="userdata: FFDE9710"
"CSilencer"="userdata: FFDCBF70"
"render_device"="userdata: FFE81148"
"object"="userdata: FFE3CC08"
"show_logic_section"="function: FFCFCE58"
"CWeaponFORT"="userdata: FFDB4F00"
"add_spot_on_map"="function: FFD1BDD0"
"tostring"="function: FFF42578"
"cse_alife_item_grenade"="userdata: FFE920F8"
"give_object_to_npc"="function: FFCF76A8"
"render_get_dx_level"="function: FFE51CF8"
"GetFontGraffiti19Russian"="function: FFE22A10"
"get_object_squad"="function: FFCFB078"
"avail_codicil"="function: FFCF80F0"
"ce_script_zone"="userdata: FFDEC518"
"CAI_Boar"="userdata: FFDED5E0"
"assert"="function: FFF42190"
"alife_simulator"="userdata: FFE68020"
"store_operation_cb"="userdata: FFE6E658"
"exists"="function: FFD1B870"
"connect_error_cb"="userdata: FFDF1478"
"load"="function: FFF422E0"
"Fbox"="userdata: FFEDDA08"
"cse_visual"="userdata: FFEC21F0"
"stalker_ids"="userdata: FFE57660"
"CUILines"="userdata: FFE93AB0"
"CRGD5"="userdata: FFDCAD80"
"get_mod_version"="function: FFD88DE0"
"dec_mod_param"="function: FFD80FD0"
"CBurer"="userdata: FFDD1520"
"store_table"="function: FFCFE1A8"
"anim"="userdata: FFE3B6F0"
"CPsyDog"="userdata: FFDD02A0"
"sim_squad_scripted"="table: FFC8E5D8"
"CWeaponWalther"="userdata: FFDA03B8"
"CBlend"="userdata: FFE67820"
"physics_element"="userdata: FFDE67C0"
"actor_in_restrictor"="function: FFD1BF90"
"loadstring"="function: FFF42320"
"sell_condition"="function: FFE5E2C0"
"cse_alife_dynamic_object"="userdata: FFECCEB8"
"CUITabButton"="userdata: FFE06930"
"CWeaponFN2000"="userdata: FFDB4608"
"release_hud"="function: FFF412F8"
"buy_condition"="function: FFEC4A48"
"get_pstor_capacity"="function: FFD8A320"
"table"="table: FFF42798"
"add_task"="function: FFD1BD90"
"create_ini_file"="function: FFEEEF30"
"ICollidable"="userdata: FFE62D40"
"cse_alife_item_explosive"="userdata: FFEED8D8"
"create_gps_guide"="function: FFCF5FC0"
"create_objects_random"="function: FFCF91C8"
"write_obj_mod_param"="function: FFD9F578"
"ipairs"="function: FFF40CF8"
"CUIStatic"="userdata: FFE93C28"
"change_tbl_flag_value"="function: FFE10608"
"CExplosiveItem"="userdata: FFDCA488"
"cse_alife_smart_zone"="userdata: FFEE5DD0"
"get_hud"="function: FFE03980"
"get_actor_inventory_weight"="function: FFD1BCB0"
"abort_flague_timer"="function: FFE102E8"
"danger_object"="userdata: FFE80EC8"
"cse_alife_item_custom_outfit"="userdata: FFEEE2F0"
"CDummyArtefact"="userdata: FFDDD4C8"
"CBastArtefact"="userdata: FFDDC7E8"
"GetFontSmall"="function: FFE39450"
"game_autosave_assign"="function: FFF41438"
"create"="function: FFCF9410"
"CGameGraph"="userdata: FFECA338"
"found_email_cb"="userdata: FFDA9CC8"
"automatic_use"="function: FFD1C230"
"CUISpinText"="userdata: FFE1BD38"
"loadfile"="function: FFF42430"
"cse_alife_inventory_box"="userdata: FFEECAA0"
"check_death_item"="function: FFD894B0"
"start_real_timer"="function: FFE10268"
"read_obj_mod_param"="function: FFD9FAA8"
"dont_any_chosen_info"="function: FFCFA2C0"
"game_registrator"="table: FFC8F958"
"set_flag_value"="function: FFE105C8"
"is_object_online"="function: FFCFFF80"
"GameGraph__CVertex"="userdata: FFECA948"
"error_log"="function: FFEDCBF8"
"mod_param_set_safe"="function: FFD80DB0"
"CInventoryBox"="userdata: FFDC9B88"
"move"="userdata: FFE3A850"
"parse_codicil"="function: FFCF8110"
"CUIButton"="userdata: FFE140C8"
"create_force"="function: FFD1A300"
"callstack"="function: FFCFA9E0"
"MonsterSpace"="userdata: FFE6A708"
"CPhysicObject"="userdata: FFDA5F80"
"CWeaponSVD"="userdata: FFE5AD40"
"object_params"="userdata: FFE59290"
"check_actor_item_to_add"="function: FFD1B9D0"
"cse_alife_creature_crow"="userdata: FFE8B5D0"
"COptionsManager"="userdata: FFDF8DE0"
"GetFontLetterica18Russian"="function: FFE22BF0"
"snd_type"="userdata: FFEC9AB0"
"cse_alife_creature_phantom"="userdata: FFE8B748"
"use_repair_mode"="function: FFCFD708"
"set_sleep_factor"="function: FFE12528"
"remove_inv_item"="function: FFD1B970"
"CUITrackBar"="userdata: FFE1D3A0"
"CPsyDogPhantom"="userdata: FFDD0C28"
"award_data"="userdata: FFE6E9D0"
"command_line"="function: FFE519D8"
"CGalantineArtefact"="userdata: FFDC1548"
"sgm_version"="table: FFC7AE10"
"CUIFrameWindow"="userdata: FFE24EE8"
"login_manager"="userdata: FFDABCB8"
"CCar"="userdata: FFDD7620"
"alife_character_community"="function: FFCF8860"
"super"="function: FFC8ED50"
"get_object_story_id"="function: FFCFAFF8"
"CUISpinFlt"="userdata: FFE1A6D0"
"get_flag_value"="function: FFE105A8"
"clsid"="userdata: FFC8EF98"
"check_is_mp3_playing"="function: FFE10428"
"not_yet_visible_object"="userdata: FFE80D50"
"se_artefact"="table: FFCA5BE0"
"se_smart_cover"="table: FFCA0128"
"se_item"="table: FFCCEA08"
"disable_several_info"="function: FFCFA6E8"
"check_ui_worked"="function: FFCFCDF8"
"se_zones"="table: FFCDB2B8"
"getFS"="function: FFE06AE0"
"se_heli"="table: FFD1F198"
"unpack"="function: FFF425F8"
"se_level_changer"="table: FFD82F40"
"CSE_AbstractVisual"="userdata: FFEC8B50"
"smart_terrain"="table: FFD6AFC0"
"action"="function: FFCFFDA0"
"inc_mod_param"="function: FFD80EA8"
"valid_saved_game"="function: FFE95A60"
"setmetatable"="function: FFF424F0"
"setup_no_weapon_zone"="function: FFDADD88"
"CUICustomEdit"="userdata: FFE01858"
"data_param_get_save_name"="function: FFD94C20"
"get_web_money"="function: FFE12568"
"get_game_unique_id"="function: FFD8A878"
"sim_debug"="false"
"check_default_location"="function: FFD89A50"
"on_level"="function: FFD897D0"
"check_actor_item_in_slot"="function: FFD1BAF0"
"ce_smart_zone"="userdata: FFDC62F8"
"CALifeMonsterBrain"="userdata: FFDC3C58"
"bit_xor"="function: FFEE33A0"
"play_snd_at_actor"="function: FFF41498"
"cse_alife_level_changer"="userdata: FFEB1088"
"get_weapon_type"="function: FFD892D0"
"mod_update"="function: FFD86538"
"change_flag_value"="function: FFE105E8"
"object_binder"="userdata: FFE6C810"
"rawset"="function: FFF42738"
"IsStalker"="function: FFCFED08"
"mod_abort"="function: FFD88A40"
"get_object_squad_name"="function: FFD85110"
"CF1"="userdata: FFDC65B0"
"autosave_precond"="function: FFF413F8"
"get_remote_charge_installed"="function: FFD5F6F8"
"set_squad_killed"="function: FFD83FB0"
"clear_mod_params_for_npc"="function: FFD834A0"
"clear_obj_mod_param"="function: FFD94040"
"show_rifle_state_bar"="function: FFCFCEC0"
"get_console"="function: FFE08528"
"read_mod_param"="function: FFD9EB50"
"vector_rotate_y"="function: FFCFD128"
"data_param_load_currert"="function: FFD9E560"
"CUICustomSpin"="userdata: FFE17530"
"data_param_load_all"="function: FFD9E230"
"CUIComboBox"="userdata: FFE01690"
"rawget"="function: FFF426F8"
"cse_motion"="userdata: FFEC2448"
"get_spot_on_map"="function: FFD1BDB0"
"cse_alife_monster_base"="userdata: FFE741C8"
"dofile"="function: FFF40780"
"_G"="table: FFF40758"
"data_param_exist"="function: FFDAD540"
"GetFontGraffiti50Russian"="function: FFE22D30"
"get_mod_params_savegame"="function: FFD97D48"
"CWeaponHPSA"="userdata: FFDBE100"
"cse_anomalous_zone"="userdata: FFE80200"
"app_ready"="function: FFE5E228"
"cse_alife_item_document"="userdata: FFE90530"
"data_param_read_section_1"="function: FFD96168"
"class_registrator"="table: FFD28400"
"check_item_count"="function: FFD1BB90"
"inc_trader_stage"="function: FFE12488"
"CUIMessageBoxEx"="userdata: FFE09C68"
"data_param_save_game"="function: FFD93E90"
"os"="table: FFF44DE0"
"data_param_connect"="function: FFD93D68"
"check_game_unique_id"="function: FFD93C18"
"get_actor_state"="function: FFE124C8"
"clear_slot_items_from_inventory"="function: FFD1BC50"
"CWeaponGroza"="userdata: FFDB5800"
"present_night"="function: FFE101C8"
"on_actor_weapon_jammed"="function: FFCF7D68"
"check_and_respawn_community_war"="function: FFD93A50"
"quest_section"="table: FFD8CEA8"
"IsDynamicMusic"="function: FFE51C60"
"squad_outside_of_limiter"="function: FFD92E40"
"set_save_marker"="function: FFCF8A48"
"explosive"="userdata: FFE3E310"
"rotation"="userdata: FFE590A0"
"CBlackDrops"="userdata: FFDDAE28"
"has_chosen_info"="function: FFCFA260"
"FS"="userdata: FFDE2488"
"CPhraseScript"="userdata: FFDD6BF0"
"check_remote_charge"="function: FFDAE4A0"
"property_evaluator"="userdata: FFE6FBF0"
"cse_smart_cover"="userdata: FFE62338"
"on_actor_critical_power"="function: FFCF8F30"
"detonate_remote_charge"="function: FFDAD990"
"get_remote_charge_full_installed"="function: FFD84290"
"detonate_explosive_charge"="function: FFDAD5C8"
"set_squad_removed"="function: FFD84808"
"activate_detonate_charge"="function: FFD25A78"
"cse_alife_trader"="userdata: FFEEE5E0"
"main_menu"="table: FFDE0ED8"
"IRenderable"="userdata: FFE62BC8"
"CMosquitoBald"="userdata: FFDA2E20"
"reveal_objects_by_section"="function: FFD1BE70"
"get_monster_head_bone_name"="function: FFE125C8"
"game_hide_menu"="function: FFE125A8"
"actor_forced_restore_weapon"="function: FFD23280"
"actor_forced_hide_weapon"="function: FFE12588"
"cse_alife_graph_point"="userdata: FFEEF3D0"
"ammo_section"="table: FFD8B428"
"get_actor_rank"="function: FFE12548"
"replace_actor_visual"="function: FFE12508"
"restore_actor_state"="function: FFE124E8"
"cse_alife_creature_abstract"="userdata: FFECB7A8"
"CALifeMonsterDetailPathManager"="userdata: FFDC5D80"
"distance_to_sqr_object"="function: FFD1BF50"
"isWeapon"="function: FFCFE9C8"
"change_team_squad_group"="function: FFCFAA00"
"dec_trader_stage"="function: FFE124A8"
"CWeaponSVU"="userdata: FFE5B638"
"present_day"="function: FFE101E8"
"data_param_delete_game"="function: FFD948B0"
"set_trader_stage"="function: FFE12468"
"CUITabControl"="userdata: FFE05040"
"remove_spot_on_map"="function: FFD1BDF0"
"check_relation_between"="function: FFD1C0B0"
"get_trader_stage"="function: FFE12448"
"get_item_section_in_inventory_box"="function: FFD1BCD0"
"CUIGameCustom"="userdata: FFDFD2A8"
"give_mp3_bonus"="function: FFE12408"
"CFadedBall"="userdata: FFDDFB60"
"print"="function: FFF42678"
"give_skill_book"="function: FFE12230"
"create_ammo"="function: FFD8CE88"
"give_random_treasure"="function: FFE11888"
"CGraviArtefact"="userdata: FFDC2240"
"get_global_pattern"="function: FFD89058"
"edit_trader_order_time"="function: FFE10588"
"look"="userdata: FFE3AF88"
"account_profiles_cb"="userdata: FFDA9908"
"CArtefact"="userdata: FFDD9308"
"check_is_black_day"="function: FFE10368"
"CTorch"="userdata: FFDCE360"
"yaw_degree"="function: FFCFFFE0"
"eat_item"="function: FFD1C210"
"blackday_birth_activate"="function: FFE104C8"
"give_quick_news2"="function: FFCF8170"
"decrease_faction_goodwill"="function: FFD1C010"
"vector_cross"="function: FFCFD108"
"blackday_activate"="function: FFE104A8"
"CHelicopter"="userdata: FFE3E5C0"
"disable_info"="function: FFD8CE68"
"get_blackday_frequency"="function: FFE10468"
"CSightParams"="userdata: FFE812C0"
"game"="table: FFE52288"
"CScientificDetector"="userdata: FFDCF558"
"check_is_cheats_mode"="function: FFE10408"
"check_is_aura_inactivity"="function: FFE103E8"
"read_string_from_symbol"="function: FFF41558"
"check_is_dream_limited"="function: FFE103A8"
"has_any_info"="function: FFCFA2A0"
"action_planner"="userdata: FFE53DA8"
"particle_params"="userdata: FFE3A668"
"cse_alife_online_offline_group"="userdata: FFE62170"
"cse_alife_object_climable"="userdata: FFEEB0E8"
"get_trader_order"="function: FFE10528"
"CWeaponPM"="userdata: FFDBFBF8"
"activate_approach_sleep"="function: FFE10348"
"give_object_to_object"="function: FFCF76E8"
"run_flague_timer"="function: FFE10328"
"check_flague_timer"="function: FFE10308"
"pcall"="function: FFF423A0"
"play_folder_snd"="function: FFF41458"
"clear_all_objects"="function: FFD1BE50"
"check_real_timer"="function: FFE10288"
"GetFontDI"="function: FFE22970"
"abort_game_timer"="function: FFE10248"
"printf"="function: FFCFFD18"
"get_params_by_section"="function: FFD1C150"
"get_parsed_time"="function: FFE10168"
"check_game_timer"="function: FFE10228"
"start_game_timer"="function: FFE10208"
"CUISpinNum"="userdata: FFE19068"
"GetFontLetterica16Russian"="function: FFE22B50"
"GetUntilGameTime"="function: FFE10188"
"edit_statistic_counter"="function: FFE10508"
"add_hud"="function: FFF412D8"
"net_packet"="userdata: FFEC0198"
"get_general_game_time"="function: FFE10128"
"random_choice"="function: FFCFFEA0"
"log"="function: FFEDD0A8"
"cse_alife_ph_skeleton_object"="userdata: FFEB0EC0"
"CMainMenu"="userdata: FFDE0020"
"check_slot_filled"="function: FFD1BB10"
by_gangster
01-05-2013, 21:27
остальное
"use_difference_missed_time"="function: FFE10108"
"FS_item"="userdata: FFDE13E0"
"check_difference_missed_time"="function: FFE100E8"
"reveal_objects_by_name"="function: FFD1BE90"
"story_id_not_found"="function: FFE10068"
"script_server_object_version"="function: FFEE2DE0"
"CAI_PseudoDog"="userdata: FFDEFB38"
"CMedkit"="userdata: FFDC77A0"
"memory_info"="userdata: FFE80A60"
"sid_is_dead"="function: FFE10008"
"getfenv"="function: FFF42258"
"r_mod_params"="function: FFD1C170"
"CGameObject"="userdata: FFE66D58"
"cef_storage"="userdata: FFDEC840"
"SDrawStaticStruct"="userdata: FFDFB430"
"CUIMMShniaga"="userdata: FFE27F08"
"create_base_treasure"="function: FFCF5FA0"
"use_bleeding_mode"="function: FFCFD6E8"
"suggest_nicks_cb"="userdata: FFDA91E8"
"unregister_story_object_by_id"="function: FFCFB038"
"io"="table: FFF444B8"
"object_alive"="function: FFD1C2B0"
"story_ids"="userdata: FFE68A80"
"CUIPropertiesBox"="userdata: FFDF7110"
"show_condition"="function: FFE39050"
"anomaly_turn_on"="function: FFD1C290"
"CEliteDetector"="userdata: FFDCFE58"
"make_teleport_control_zone"="function: FFD1BF70"
"use_immortal_mode"="function: FFCFD6A8"
"CRadioactiveZone"="userdata: FFDA1C28"
"get_statistic_counter"="function: FFE104E8"
"r_quest_params"="function: FFD1C1F0"
"r_booty_params"="function: FFD1C1D0"
"callback"="userdata: FFE38E10"
"CTorridZone"="userdata: FFDA2520"
"CUIListBoxItemMsgChain"="userdata: FFDF1138"
"cse_alife_human_abstract"="userdata: FFE71030"
"r_rank_params"="function: FFD1C1B0"
"r_alfa_params"="function: FFD1C190"
"get_story_squad"="function: FFCF9390"
"empty"="function: FFCFF458"
"load_scheme"="function: FFCFF4C8"
"particles_object"="userdata: FFE6BA60"
"sid_thinks_that_actor_is_enemy"="function: FFD1C310"
"CUIScriptWnd"="userdata: FFDF33E0"
"read_string"="function: FFD1C110"
"cse_alife_item_helmet"="userdata: FFEEE468"
"read_number"="function: FFD1C0F0"
"set_relation_between"="function: FFD1C090"
"CAI_Stalker"="userdata: FFE57820"
"get_rnd"="function: FFD1B890"
"vec_to_str"="function: FFCFA9C0"
"CPhraseDialog"="userdata: FFDD68F0"
"give_objects_to_npc"="function: FFCF76C8"
"file_read_param"="function: FFD1B930"
"anomaly_turn_off"="function: FFD1C270"
"increase_faction_goodwill_to"="function: FFD1C030"
"on_actor_satiety"="function: FFCF8F90"
"increase_faction_goodwill"="function: FFD1BFF0"
"CAI_Flesh"="userdata: FFDEF238"
"get_actor_relation_to"="function: FFD1BFD0"
"decrease_faction_goodwill_to"="function: FFD1C050"
"unregister_story_id"="function: FFCFB058"
"package"="table: FFF43288"
"cse_alife_monster_zombie"="userdata: FFE70EB8"
"create_restrictor"="function: FFCFD648"
"CWeaponAmmo"="userdata: FFDC6EA8"
"object_switch_online"="function: FFE10088"
"abort_real_timer"="function: FFE102A8"
"cse_ph_skeleton"="userdata: FFEC8960"
"set_current_time"="function: FFCFFEE0"
"physics_shell"="userdata: FFDE4E00"
"set_spot_choose"="function: FFD1BE10"
"require"="function: FFF438C0"
"data_param_extend"="function: FFD99CB0"
"transfer_artefacts_with_belt_to_inv"="function: FFD1BD70"
"get_object_community"="function: FFCFB250"
"cse_alife_trader_abstract"="userdata: FFE9B3B0"
"get_item_count_f_inventory_box"="function: FFD1BD30"
"get_item_section_f_inventory_box"="function: FFD1BD10"
"IsImportantSave"="function: FFE51D90"
"dont_has_chosen_items"="function: FFD1BA30"
"ini_file"="userdata: FFF43CA0"
"give_secret"="function: FFE12428"
"CMercuryBall"="userdata: FFDD94A8"
"rawequal"="function: FFF426B8"
"cse_zone_visual"="userdata: FFECB630"
"inventory_box_transfer_to"="function: FFD1BC90"
"clear_items_from_inv_box"="function: FFD1BC30"
"newproxy"="function: FFF42E10"
"CUISleepStatic"="userdata: FFE93F18"
"DLL_Pure"="userdata: FFE624B0"
"release_inventory"="function: FFD1BC10"
"parse_two_item_table"="function: FFD1BBF0"
"congratulate_with_deserve_event"="function: FFF41398"
"cse_alife_object_projector"="userdata: FFEE7780"
"add_story_object"="function: FFCFAA20"
"flags16"="userdata: FFEE09E8"
"give_item_to_sid"="function: FFCF7708"
"GetARGB"="function: FFE3DA30"
"get_item_count"="function: FFD1BB70"
"precond_hud"="function: FFF41318"
"CBlackGraviArtefact"="userdata: FFDDBB08"
"have_item_count"="function: FFD1BB50"
"to_number"="function: FFD1B850"
"get_slot_object"="function: FFD1BB30"
"get_installed_addon"="function: FFD89450"
"on_actor_cant_walk_weight"="function: FFCF7D88"
"Patch_Dawnload_Progress"="userdata: FFDFFBF8"
"DIK_keys"="userdata: FFDE11F8"
"get_actor_slot_item"="function: FFD1BAD0"
"respawn_item_if_comparison"="function: FFD1BAB0"
"throw_item_from_slot"="function: FFD1BA90"
"dont_has_alife_info"="function: FFCFA2E0"
"interrupt_action"="function: FFCFFE80"
"check_actor_item_to_remove"="function: FFD1B9F0"
"set_ui_worked"="function: FFCFCE38"
"token"="userdata: FFEE3798"
"CGameTask"="userdata: FFDE9D08"
"remove_object_by_id"="function: FFD1B990"
"system_ini"="function: FFEDD960"
"file_write_param"="function: FFD1B910"
"debug_rect_item"="function: FFD1B8F0"
"use_all_modes"="function: FFCFA668"
"debug_to_file"="function: FFD1B8D0"
"IKinematicsAnimated"="userdata: FFE67D20"
"fill_log"="function: FFD1B8B0"
"to_string"="function: FFF41678"
"remove_item_from_slot"="function: FFD1B9B0"
"CDialogHolder"="userdata: FFE23928"
"time_infinite"="100000000"
"get_table_lines"="function: FFF415F8"
"check_table"="function: FFF415D8"
"show_battery_power_bar"="function: FFD426E0"
"find_out_string"="function: FFF41598"
"CUIScrollView"="userdata: FFE296B8"
"start_game_callback"="function: FFCFB970"
"check_is_approach_sleep"="function: FFE103C8"
"GetFontLetterica25"="function: FFE22DC8"
"read_string_removal_r"="function: FFF41538"
"read_string_removal_l"="function: FFF41518"
"pairs"="function: FFF40D68"
"play_theme_snd"="function: FFF414F8"
"find_in_string"="function: FFF41578"
"create_suicide_body"="function: FFCF5F80"
"play_loop_snd_at_pos"="function: FFF414B8"
"cse_alife_team_base_zone"="userdata: FFEEC088"
"play_snd_at_pos"="function: FFF41478"
"CWeaponVal"="userdata: FFE5C830"
"start_flague_timer"="function: FFE102C8"
"game_autosave"="function: FFF41418"
"dont_has_chosen_info"="function: FFCFA280"
"CWeaponRPG7"="userdata: FFE5A448"
"CLevelChanger"="userdata: FFDA88E8"
"editor"="function: FFEE31F0"
"cse_custom_zone"="userdata: FFEEE758"
"if_then_else"="function: FFCFFEC0"
"CUI3tButton"="userdata: FFE14240"
"parse_one_item_table"="function: FFD1BBD0"
"dev_debug"="false"
"congratulate_with_rank_event"="function: FFF41338"
"run_choose_box"="function: FFD42748"
"run_dynamic_element"="function: FFD42728"
"save_and_transform_ini_table"="function: FFF415B8"
"CPda"="userdata: FFDCEC58"
"level_object_by_sid"="function: FFCF8880"
"show_boss_health_bar"="function: FFD42650"
"show_radiation_bar"="function: FFCFCEE0"
"CPseudoGigant"="userdata: FFDD2718"
"coroutine"="table: FFF42E80"
"show_pistol_state_bar"="function: FFCFCE78"
"ipure_alife_load_object"="userdata: FFEC2C00"
"replace_quest_corpse"="function: FFCFD688"
"get_table_names"="function: FFF41658"
"cse_alife_dynamic_object_visual"="userdata: FFECE000"
"in_time_interval"="function: FFCF93B0"
"CMincer"="userdata: FFDA12A0"
"show_hud_message2"="function: FFCF81B0"
"show_hud_message"="function: FFCF8190"
"give_quick_news"="function: FFCF8150"
"parse_accuracy_names"="function: FFCFA320"
"effector_params"="userdata: FFE58928"
"parse_general_names"="function: FFCFA300"
"dont_has_any_items"="function: FFD1BA70"
"show_crash_event"="function: FFF413D8"
"setup_effector_chain"="function: FFDAFC00"
"CScope"="userdata: FFDCB678"
"profile_timer"="userdata: FFEE2600"
"string"="table: FFF46060"
"GetFontMedium"="function: FFE393B8"
"cpure_server_object"="userdata: FFEC6638"
"CWeaponVintorez"="userdata: FFE5D130"
"ipure_server_object"="userdata: FFEC31D0"
"demo_info"="userdata: FFE3FB98"
"recover_info2"="function: FFCFA6A8"
"recover_info"="function: FFCFA688"
"release_objects_by_section"="function: FFD1BEF0"
"profile_store"="userdata: FFDACF78"
"CUIProgressBar"="userdata: FFE14408"
"create_dead_body"="function: FFCF5F60"
"round"="function: FFCFFDE0"
"sound"="userdata: FFE3BAC0"
"give_objects_to_actor"="function: FFCF7688"
"give_object_to_actor"="function: FFD1A320"
"CController"="userdata: FFDECB18"
"cse_alife_object_physic"="userdata: FFF4FAA8"
"effector"="userdata: FFE58C00"
"data_param_save_all"="function: FFD9E1A8"
"CSpaceRestrictor"="userdata: FFDEA8C8"
"cse_alife_psydog_phantom"="userdata: FFE74340"
"cse_alife_helicopter"="userdata: FFEE8198"
"profile"="userdata: FFDAB560"
"cse_alife_item_weapon_magazined_w_gl"="userdata: FFEA6A90"
"CSnork"="userdata: FFDD4B00"
"user_name"="function: FFEE34C0"
"create_objects"="function: FFCF9188"
"MonsterHitInfo"="userdata: FFE6A518"
"cse_alife_space_restrictor"="userdata: FFF416C8"
"fs_file"="userdata: FFDE22C0"
"CWeaponBM16"="userdata: FFDB3D08"
"cse_alife_schedulable"="userdata: FFEEF258"
"CAI_Trader"="userdata: FFDA4DA8"
"time_global_async"="function: FFEE35E8"
"show_all_ui"="function: FFCF93D0"
"check_ui_disabled"="function: FFCF81D0"
"game_difficulty"="userdata: FFDC2F38"
"ui_main_menu"="table: FFD4A900"
"particle"="userdata: FFE3C3F8"
"check_is_capture_meal"="function: FFE10448"
"release_objects_by_name"="function: FFD1BF10"
"cond"="userdata: FFE3CFD8"
"object_online"="function: FFD1C2F0"
"get_story_object_id"="function: FFCFB018"
"get_story_object"="function: FFCFAA40"
"congratulate_with_secret_event"="function: FFF41378"
"level_has_respawn_limiter"="function: FFDAFCA8"
"type"="function: FFF425B8"
"cse_shape"="userdata: FFEC7010"
"cover_point"="userdata: FFE390C8"
"check_blackday_precond"="function: FFE10488"
"flush"="function: FFEE3030"
"ui_events"="userdata: FFE2AED0"
"alife"="function: FFE863C0"
"ISheduled"="userdata: FFE62628"
"on_actor_psy"="function: FFCF7DA8"
"ipure_schedulable_object"="userdata: FFEE63D8"
"CALifeMonsterPatrolPathManager"="userdata: FFDC4E88"
"CUIListBox"="userdata: FFE0B840"
"planner_action"="userdata: FFE55100"
"cse_torrid_zone"="userdata: FFECAC18"
"clear_table"="function: FFCFED78"
"on_actor_radiation"="function: FFCF7D48"
"bit_or"="function: FFEE3310"
"CCat"="userdata: FFDD53F8"
"CPhrase"="userdata: FFDD65E8"
"entity_memory_object"="userdata: FFE80480"
"isArtefact"="function: FFCFB208"
"visible_memory_object"="userdata: FFE808E8"
"on_actor_critical_max_power"="function: FFCF8F50"
"property_storage"="userdata: FFE6D628"
"CALifeHumanBrain"="userdata: FFDC4180"
"play_loop_snd_at_actor"="function: FFF414D8"
"cse_alife_item_weapon_magazined"="userdata: FFEA4FC0"
"GameGraph__LEVEL_MAP__value_type"="userdata: FFECA128"
"sound_memory_object"="userdata: FFE80BD8"
"task"="userdata: FFDE9B48"
"npc_in_actor_frustrum"="function: FFCFB950"
"cse_temporary"="userdata: FFEC7DC0"
"best_scores_pair_t"="userdata: FFE6ED88"
"flags32"="userdata: FFEE1858"
"CUIDialogWnd"="userdata: FFE23B80"
"GetFontGraffiti22Russian"="function: FFE22AB0"
"set_inactivate_input_time"="function: FFD5B810"
"data_param_save_write"="function: FFD97410"
"wait"="function: FFCFFD80"
"set_ui_disabled"="function: FFCFCE18"
"freeplay_inventory_clean"="function: FFD1BD50"
"read_boolean"="function: FFD1C130"
"vector2"="userdata: FFEDD7B0"
"CUIMapList"="userdata: FFDF3268"
"object_factory"="userdata: FFEC97B8"
"act"="userdata: FFE3D178"
"write_mod_param"="function: FFD9E838"
"CUICheckButton"="userdata: FFE15C68"
"SoundInfo"="userdata: FFE6A8F0"
"yaw_degree3d"="function: FFCFE230"
"next"="function: FFF42360"
"CFoodItem"="userdata: FFDC8990"
"parse_names"="function: FFCFFF20"
"file_remove"="function: FFD1B950"
"CWeaponShotgun"="userdata: FFDB2B38"
"cse_alife_item_bolt"="userdata: FFE906A8"
"CDestroyablePhysicsObject"="userdata: FFDA5680"
"vector"="userdata: FFEDBBC0"
"FS_file_list"="userdata: FFDE1DB8"
"class"="function: FFEDCE88"
"time_global"="function: FFEE3550"
"cse_alife_object_breakable"="userdata: FFEE8488"
"verify_if_thread_is_running"="function: FFEE3160"
"CServerList"="userdata: FFDF30C8"
"cse_alife_item"="userdata: FFEEFE70"
"action_first"="function: FFCFFDC0"
"wait_game"="function: FFCFFD60"
"cse_alife_item_ammo"="userdata: FFEA19C8"
"amb_vol"="0"
"get_level_by_game_vertex"="function: FFD8A158"
"stypes"="table: FFCFF4A0"
"schemes"="table: FFCFF478"
"xpcall"="function: FFF42638"
"physics_joint"="userdata: FFDE5FD8"
"login_operation_cb"="userdata: FFDAB8F8"
"add_spot_on_map_for_sid"="function: FFD1BE30"
"sound_params"="userdata: FFE6AAE0"
"get_trader_order_time"="function: FFE10548"
"matrix"="userdata: FFEDFD80"
"IRender_Visual"="userdata: FFE67A10"
"hanging_lamp"="userdata: FFDE8AC0"
"CPoltergeist"="userdata: FFDD3018"
"cse_alife_item_torch"="userdata: FFEA1828"
"CWeaponBinoculars"="userdata: FFDB2238"
"smart_cover_object"="userdata: FFDA68D0"
"ipure_alife_save_object"="userdata: FFEC2D78"
"CHairsZone"="userdata: FFDA38E8"
"account_manager"="userdata: FFDAA088"
"CZoneCampfire"="userdata: FFDA3720"
"CALifeMonsterMovementManager"="userdata: FFDC4610"
"has_several_info"="function: FFCFA708"
"cse_alife_mounted_weapon"="userdata: FFEEBF10"
"spawn_story_ids"="userdata: FFE68CD8"
"setfenv"="function: FFF424B0"
"CWeaponLR300"="userdata: FFDBF300"
"rtoken_list"="userdata: FFEE3EF0"
"noise"="userdata: FFE58648"
"entity_action"="userdata: FFE3D368"
"CAdvancedDetector"="userdata: FFDB06B8"
"refresh_game_time"="function: FFE10148"
"Frect"="userdata: FFEDF5C8"
"world_state"="userdata: FFE552C8"
"dont_has_several_info"="function: FFCFA728"
"actor_stats"="table: FFE51860"
"fcolor"="userdata: FFEDFAA8"
"patrol"="userdata: FFE39660"
"hit"="userdata: FFE6A218"
"get_sid_online"="function: FFE10028"
"jit"="table: FFF466D8"
"data_param_save_is_repeated"="function: FFD988F8"
"CHelmet"="userdata: FFDCDA68"
"hit_memory_object"="userdata: FFE80770"
"ef_storage"="function: FFE1D550"
"story_id_exists"="function: FFE10048"
"character_community"="function: FFCF8840"
"CThornArtefact"="userdata: FFDDEE88"
"CZudaArtefact"="userdata: FFDDE1A8"
"GAME_TYPE"="userdata: FFDF5120"
"setup_inactivity_aura"="function: FFDAD908"
"client_spawn_manager"="userdata: FFDEA670"
"cse_alife_monster_rat"="userdata: FFE70D40"
"check_is_surge_day"="function: FFE10388"
"CGameFont"="userdata: FFDFD500"
"CScriptXmlInit"="userdata: FFDFB2B8"
"cse_spectator"="userdata: FFEC7200"
"congratulate_with_event"="function: FFF413B8"
"data_param_read_section_2"="function: FFD96DD0"
"give_several_info"="function: FFCFA6C8"
"award_pair_t"="userdata: FFE6EB98"
"get_utils_id"="function: FFD1BBB0"
"is_enough_address_space_available"="function: FFEE3720"
"CElectricBall"="userdata: FFDC0688"
"token_list"="userdata: FFF43918"
"cse_alife_object_hanging_lamp"="userdata: FFEB1200"
"cse_alife_car"="userdata: FFEE8310"
"ipure_alife_load_save_object"="userdata: FFEC3058"
"parse_key_value"="function: FFCFFF40"
"set_hit_damage_to"="function: FFCFCC08"
"cse_alife_monster_abstract"="userdata: FFECB920"
"IsMonster"="function: FFCFECC0"
"action_base"="userdata: FFE6D9C8"
"error"="function: FFF422A0"
"getmetatable"="function: FFF423E8"
by_gangster, function main_menu:InitCallBacks()
self:AddCallback("btn_internet",ui_events.BUTTON_CLICKED,self.OnButton_internet_clicked,self)
self:AddCallback("btn_localnet",ui_events.BUTTON_CLICKED,self.OnButton_localnet_clicked,self) »
По переходу к этим функциям:
function main_menu:OnButton_internet_clicked()
if not(self.gs_dlg) then
self.gs_dlg = ui_mm_mp_gamespy.gamespy_page()
self.gs_dlg.owner = self
end
self.gs_dlg:ShowLoginPage()
self.gs_dlg:ShowDialog(true)
self:HideDialog()
self:Show(false)
local console = get_console()
console:execute("check_for_updates 0")
end
function main_menu:OnButton_localnet_clicked()
if not(self.ln_dlg) then
self.ln_dlg = ui_mm_mp_localnet.localnet_page()
self.ln_dlg.owner = self
self.ln_dlg.lp_nickname:SetText(self.l_mgr:get_nick_from_registry())
self.ln_dlg.lp_check_remember_me:SetCheck(self.l_mgr:get_remember_me_from_registry())
end
self.ln_dlg:ShowDialog(true)
self:HideDialog()
self:Show(false)
local console = get_console()
console:execute("check_for_updates 0")
end
Что это за обозначения страниц и где они определены не знаю.
Скорее всего в упомянутом выше xml.
Имеет ли смысл переделывать основной
function main_menu:mod_options()
if self.mod_dlg == nil then
self.mod_dlg = ui_mod_options.mod_options()
self.mod_dlg.owner = self
end
self.mod_dlg:ShowDialog(true)
self:HideDialog()
self:Show(false)
end
я не знаю. Можно попробовать в него добавить строчки из тех скриптов, что выше.
Пробовать не на чем, просто догадка.
ui_mm_mp_localnet.localnet_page()
ui_mm_mp_gamespy.gamespy_page() искать.
(Рекомендую Notepad ++, как текстовый редактор. С его возможностями это будет проще.)
by_gangster
01-05-2013, 21:38
(Рекомендую Notepad ++, как текстовый редактор »
Я им постоянно пользуюсь..
Просканировал файлы (скрипты) на поиск "http" нашол только один файл.
local ctrl = false
local focused_eb = 0
class "gamespy_page" (CUIScriptWnd)
function gamespy_page:__init() super()
self:InitControls()
self:InitCallbacks()
end
function gamespy_page:InitControls()
local xml = CScriptXmlInit()
xml:ParseFile("ui_mm_mp_gamespy.xml")
self:SetWndRect(Frect():set(0,0,1024,768))
self:Enable(true)
xml:InitStatic("background", self)
local button = nil
button = xml:Init3tButton("button_create_acc", self)
self:Register(button, "btn_create_acc")
self.btn_create_acc = button
button = xml:Init3tButton("button_create", self)
self:Register(button, "btn_create")
self.btn_create = button
button = xml:Init3tButton("button_login", self)
self:Register(button, "btn_login")
self.btn_login = button
button = xml:Init3tButton("button_cancel", self)
self:Register(button, "btn_cancel")
self.btn_cancel = button
--------------------------------------------------------------------------------
self.login_page = CUIWindow()
xml:InitWindow("login_page", 0, self.login_page)
self.login_page:SetAutoDelete(true)
self:AttachChild(self.login_page)
self.lp_header_login = xml:InitTextWnd("login_page:cap_header_login", self.login_page)
xml:InitTextWnd("login_page:cap_email", self.login_page)
self.lp_email = xml:InitEditBox("login_page:edit_email", self.login_page)
self:Register(self.lp_email, "lp_edit_email")
xml:InitTextWnd("login_page:cap_password", self.login_page)
self.lp_password = xml:InitEditBox("login_page:edit_password", self.login_page)
self:Register(self.lp_password, "lp_edit_password")
button = xml:Init3tButton("login_page:button_forgot", self.login_page)
self:Register(button, "lp_btn_forgot")
self.lp_btn_forgot = button
button = xml:InitCheck("login_page:check_remember_me", self.login_page)
self:Register(button, "lp_check_remember_me")
button:SetCheck(true)
self.lp_check_remember_me = button
self.lp_email:SetNextFocusCapturer(self.lp_password)
self.lp_password:SetNextFocusCapturer(self.lp_email)
--------------------------------------------------------------------------------
self.create_account_page = CUIWindow()
xml:InitWindow("create_account_page", 0, self.create_account_page)
self.create_account_page:SetAutoDelete(true)
self:AttachChild(self.create_account_page)
self.ca_header_create_acc = xml:InitTextWnd("create_account_page:cap_header_create_account", self.create_account_page)
self.ca_error = xml:InitTextWnd("create_account_page:cap_error", self.create_account_page)
xml:InitTextWnd("create_account_page:cap_email", self.create_account_page)
self.ca_email = xml:InitEditBox("create_account_page:edit_email", self.create_account_page)
self:Register(self.ca_email, "ca_edit_email")
self.ca_st_email = xml:InitStatic("create_account_page:static_email", self.create_account_page)
self.ca_email_valid = false
xml:InitTextWnd("create_account_page:cap_password", self.create_account_page)
self.ca_password = xml:InitEditBox("create_account_page:edit_password", self.create_account_page)
self:Register(self.ca_password, "ca_edit_password")
self.ca_st_password = xml:InitStatic("create_account_page:static_password", self.create_account_page)
self.ca_passwords_valid = false
xml:InitTextWnd("create_account_page:cap_confirm_password", self.create_account_page)
self.ca_confirm_password = xml:InitEditBox("create_account_page:edit_confirm_password", self.create_account_page)
self:Register(self.ca_confirm_password, "ca_edit_confirm_password")
self.ca_st_confirm_password = xml:InitStatic("create_account_page:static_confirm_password", self.create_account_page)
xml:InitTextWnd("create_account_page:cap_unique_nick", self.create_account_page)
self.ca_unique_nick = xml:InitEditBox("create_account_page:edit_unique_nick", self.create_account_page)
self:Register(self.ca_unique_nick, "ca_edit_unique_nick")
self.ca_st_unique_nick = xml:InitStatic("create_account_page:static_unique_nick", self.create_account_page)
self.ca_unique_nick_valid = false
self.ca_combo_aval_unique_nick = xml:InitComboBox("create_account_page:combo_aval_unique_nick", self.create_account_page)
self:Register(self.ca_combo_aval_unique_nick, "ca_combo_aval_unique_nick")
self.ca_email:SetNextFocusCapturer(self.ca_password)
self.ca_password:SetNextFocusCapturer(self.ca_confirm_password)
self.ca_confirm_password:SetNextFocusCapturer(self.ca_unique_nick)
self.ca_unique_nick:SetNextFocusCapturer(self.ca_email)
-- // message boxes
self.gs_login_mb_cancel = CUIMessageBoxEx()
self:Register(self.gs_login_mb_cancel,"gs_mb_login_cancel")
self.gs_login_mb_profnotfound = CUIMessageBoxEx()
self:Register(self.gs_login_mb_profnotfound, "gs_mb_login_profnotfound")
self.gs_login_mb_result = CUIMessageBoxEx()
self:Register(self.gs_login_mb_result, "gs_mb_login_result")
self.gs_create_mb_result = CUIMessageBoxEx()
self:Register(self.gs_create_mb_result, "gs_mb_create_result")
self.gs_mb_create_vemail_cancel = CUIMessageBoxEx()
self:Register(self.gs_mb_create_vemail_cancel, "gs_mb_create_vemail_cancel")
self.gs_mb_create_vnick_cancel = CUIMessageBoxEx()
self:Register(self.gs_mb_create_vnick_cancel, "gs_mb_create_vnick_cancel")
self.gs_message_box = CUIMessageBoxEx()
self:Register(self.gs_message_box,"gs_message_box")
-- ///////////////
self.create_account_page:Show(false)
self.active_page = "login_page"
focused_eb = 0
self:ChangeActiveEditBox()
self:CheckAccCreationAbility()
self.email = ""
self.password = ""
self.profile_name = ""
end
function gamespy_page:InitCallbacks()
self:AddCallback("btn_create_acc", ui_events.BUTTON_CLICKED, self.OnBtnShowCreateAccountPage, self)
self:AddCallback("btn_create", ui_events.BUTTON_CLICKED, self.OnBtnCreateAccount, self)
self:AddCallback("btn_login", ui_events.BUTTON_CLICKED, self.OnBtnLogin, self)
self:AddCallback("btn_cancel", ui_events.BUTTON_CLICKED, self.OnBtnCancel, self)
self:AddCallback("lp_check_remember_me", ui_events.BUTTON_CLICKED, self.OnBtnRememberMe, self)
self:AddCallback("lp_edit_email", ui_events.EDIT_TEXT_COMMIT, self.OnEditLPEmailChanged, self)
self:AddCallback("lp_edit_password", ui_events.EDIT_TEXT_COMMIT, self.OnEditLPPasswordChanged, self)
self:AddCallback("lp_btn_forgot", ui_events.BUTTON_CLICKED, self.OnBtnLPForgotPassword, self)
self:AddCallback("ca_edit_email", ui_events.EDIT_TEXT_COMMIT, self.OnEditCAEmailChanged, self)
self:AddCallback("ca_edit_password", ui_events.EDIT_TEXT_COMMIT, self.OnEditCAPasswordChanged, self)
self:AddCallback("ca_edit_confirm_password", ui_events.EDIT_TEXT_COMMIT, self.OnEditCAConfirmPasswordChanged, self)
self:AddCallback("ca_edit_unique_nick", ui_events.EDIT_TEXT_COMMIT, self.OnEditCAUniqueNickChanged, self)
self:AddCallback("ca_combo_aval_unique_nick", ui_events.LIST_ITEM_SELECT, self.OnUniqueNickSelect, self)
self:AddCallback("ca_combo_aval_unique_nick", ui_events.WINDOW_LBUTTON_DOWN,self.OnUniqueNickSelect, self)
self:AddCallback("gs_mb_login_profnotfound", ui_events.MESSAGE_BOX_YES_CLICKED, self.LoginProfileUseExist, self)
self:AddCallback("gs_mb_login_profnotfound", ui_events.MESSAGE_BOX_NO_CLICKED, self.LoginProfileNotFound, self)
self:AddCallback("gs_mb_login_result", ui_events.MESSAGE_BOX_OK_CLICKED, self.OnLoginResultOk, self)
self:AddCallback("gs_mb_create_result", ui_events.MESSAGE_BOX_OK_CLICKED, self.CreatedAccount, self);
self:AddCallback("gs_mb_login_cancel", ui_events.MESSAGE_BOX_OK_CLICKED, self.TerminateLogin, self)
self:AddCallback("gs_mb_create_vemail_cancel", ui_events.MESSAGE_BOX_OK_CLICKED, self.TerminateVerifyEmail, self)
self:AddCallback("gs_mb_create_vnick_cancel", ui_events.MESSAGE_BOX_OK_CLICKED, self.TerminateVerifyNick, self)
end
function gamespy_page:ShowLoginPage()
local mail = self.owner.l_mgr:get_email_from_registry()
local pass = self.owner.l_mgr:get_password_from_registry()
if(mail~="" and pass~="") then
self.lp_email:SetText (mail)
self.lp_password:SetText (pass)
end
self.lp_check_remember_me:SetCheck(self.owner.l_mgr:get_remember_me_from_registry())
self.btn_create_acc:Show (true)
self.btn_login:Show (true)
self.btn_create:Show (false)
self.active_page = "login_page"
self.create_account_page:Show (false)
self.login_page:Show (true)
focused_eb = 0
-- self:ChangeActiveEditBox()
end
function gamespy_page:OnBtnCancel()
if (self.active_page == "create_account_page") then
self:ShowLoginPage()
else
self:HideDialog ()
self.owner:ShowDialog (true)
self.owner:Show (true)
end
end
function gamespy_page:OnBtnRememberMe()
self.owner.l_mgr:save_remember_me_to_registry(self.lp_check_remember_me:GetCheck())
end
function gamespy_page:CheckAccCreationAbility()
self.btn_create:Enable(false)
if ((self.ca_email_valid == true) and
(self.ca_passwords_valid == true) and
(self.ca_unique_nick_valid == true)) then
self.btn_create:Enable(true)
end
end
function gamespy_page:OnBtnCreateAccount()
self.gs_message_box:InitMessageBox ("message_box_gs_acc_creation")
self.gs_message_box:SetText ("ui_mp_gamespy_creating_new_profile")
self.gs_message_box:ShowDialog (true)
self.owner.acc_mgr:create_profile (self.ca_email:GetText(), self.ca_unique_nick:GetText(), self.ca_email:GetText(), self.ca_password:GetText(), account_operation_cb(self, self.AccountCreationResult))
end
function gamespy_page:OnBtnShowCreateAccountPage()
local empty_text = ""
self.ca_email:SetText (empty_text)
self.ca_password:SetText (empty_text)
self.ca_confirm_password:SetText (empty_text)
self.ca_unique_nick:SetText (empty_text)
self.ca_email_valid = false
self.ca_passwords_valid = false
self.ca_unique_nick_valid = false
self.ca_st_email:InitTexture ("ui_inGame2_lamp_OFF")
self.ca_st_password:InitTexture ("ui_inGame2_lamp_OFF")
self.ca_st_confirm_password:InitTexture("ui_inGame2_lamp_OFF")
self.ca_st_unique_nick:InitTexture ("ui_inGame2_lamp_OFF")
self.ca_error:SetText (empty_text)
self.btn_create_acc:Enable (false)
self.active_page = "create_account_page"
self.create_account_page:Show (true)
self.btn_create_acc:Show (false)
self.ca_combo_aval_unique_nick:Show (false)
self.ca_combo_aval_unique_nick:ClearList()
self.btn_login:Show (false)
self.btn_create:Show (true)
self.login_page:Show (false)
focused_eb = 0
self:ChangeActiveEditBox()
self:CheckAccCreationAbility()
end
function gamespy_page:OnBtnLogin()
self.email = self.lp_email:GetText()
self.password = self.lp_password:GetText()
self.gs_login_mb_cancel:InitMessageBox ("message_box_gs_info")
self.gs_login_mb_cancel:SetText ("ui_mp_gamespy_getting_account_profiles")
self.gs_login_mb_cancel:ShowDialog (true)
self.profile_name = ""
self.owner.acc_mgr:search_for_email (self.email, found_email_cb(self, self.OnLoginEmailSearchComplete))
end
function gamespy_page:OnLoginEmailSearchComplete(founded, descr)
if (not founded) then
self.gs_login_mb_cancel:HideDialog ()
self.gs_login_mb_result:InitMessageBox ("message_box_gs_result")
if (descr=="") then
descr = game.translate_string ("mp_gp_unknown_email")
end
printf("Login error: %s", descr)
self.gs_login_mb_result:SetText (descr)
self.gs_login_mb_result:ShowDialog (true)
return
end
self.owner.acc_mgr:get_account_profiles(self.email, self.password, account_profiles_cb(self, self.GetAccountProfilesResult))
end
function gamespy_page:GetAccountProfilesResult(profiles_num, descr)
if(profiles_num==0) then
self.gs_login_mb_cancel:HideDialog()
self.gs_login_mb_result:InitMessageBox("message_box_gs_result")
if (descr=="") then
descr = game.translate_string("mp_gp_bad_password")
end
printf("Login error: %s", descr)
self.gs_login_mb_result:SetText (descr)
self.gs_login_mb_result:ShowDialog (true)
else
for i in (self.owner.acc_mgr:get_found_profiles()) do
if(self.profile_name=="") then
self.profile_name = i
end
if(i==self.email) then
self.gs_login_mb_cancel:SetText("ui_mp_gamespy_logining_to_profile")
self.owner.l_mgr:login(self.email, self.email, self.password, login_operation_cb(self, self.LoginOperationResult))
return
end
end
self.gs_login_mb_cancel:HideDialog()
self:LoginProfileUseExist ()
-- self.gs_login_mb_profnotfound:InitMessageBox ("message_box_gs_question")
-- self.gs_login_mb_profnotfound:SetText (game.translate_string("ui_mp_gamespy_use_existing_profile").." "..self.profile_name.."?")
-- self.gs_login_mb_profnotfound:ShowDialog (true)
end
end
function gamespy_page:LoginOperationResult(profile, descr)
self.gs_login_mb_cancel:HideDialog()
if(profile==nil) then
self.gs_login_mb_result:InitMessageBox("message_box_gs_result")
if (descr == "") then
descr = "mp_gp_login_error"
end
self.gs_login_mb_result:SetText (descr)
self.gs_login_mb_result:ShowDialog (true)
else
self.owner.gs_profile = profile
self.owner.shniaga:SetPage (CUIMMShniaga.epi_main, "ui_mm_main.xml", "menu_main_logout")
self.owner.shniaga:ShowPage (CUIMMShniaga.epi_main)
self.owner.profile_store:load_current_profile(store_operation_cb(self, self.LoadingProgress), store_operation_cb(self, self.LoadingComplete))
if(self.lp_check_remember_me:GetCheck()) then
self.owner.l_mgr:save_email_to_registry (self.email)
self.owner.l_mgr:save_password_to_registry (self.password)
end
end
end
function gamespy_page:TerminateLogin()
if (self.owner.gs_profile ~= nil) then
self.owner.profile_store:stop_loading();
self.owner.l_mgr:logout()
self.owner.shniaga:ShowPage(CUIMMShniaga.epi_new_network_game)
self.owner.shniaga:SetPage(CUIMMShniaga.epi_main, "ui_mm_main.xml", "menu_main")
elseif (self.profile_name == "") then
if (self.owner.acc_mgr:is_email_searching_active()) then
self.owner.acc_mgr:stop_searching_email()
elseif (self.owner.acc_mgr:is_get_account_profiles_active()) then
self.owner.acc_mgr:stop_fetching_account_profiles()
end
else
self.owner.l_mgr:stop_login()
end
self.owner.gs_profile = nil
end
function gamespy_page:LoginProfileUseExist()
self.gs_login_mb_cancel:InitMessageBox("message_box_gs_info")
self.gs_login_mb_cancel:SetText("ui_mp_gamespy_logining_to_profile")
self.gs_login_mb_cancel:ShowDialog(true)
self.owner.l_mgr:login(self.email, self.profile_name, self.password, login_operation_cb(self, self.LoginOperationResult))
end
function gamespy_page:LoginProfileNotFound()
self:OnBtnShowCreateAccountPage()
end
function gamespy_page:OnLoginResultOk()
if(self.owner.gs_profile) then
self:HideDialog()
self.owner:ShowDialog(true)
self.owner:Show(true)
self.owner:OnButton_multiplayer_clicked()
end
end
function gamespy_page:CreatedAccount()
self:ShowLoginPage()
self.lp_email:SetText(self.ca_email:GetText())
self.lp_password:SetText(self.ca_password:GetText())
--self:OnBtnLogin()
end
function gamespy_page:OnMsgYes()
self.gs_login_mb_cancel:InitMessageBox("message_box_gs_info")
self.gs_login_mb_cancel:SetText("ui_mp_gamespy_logining_to_profile")
self.gs_login_mb_cancel:ShowDialog(true)
self.owner.l_mgr:login(self.email, self.profile_name, self.password, login_operation_cb(self, self.LoginOperationResult))
end
function gamespy_page:OnMsgNo()
self.ca_email:SetText(self.email)
self.ca_st_email:InitTexture("ui_inGame2_lamp_GREEN")
self.ca_password:SetText(self.password)
self.ca_st_password:InitTexture("ui_inGame2_lamp_GREEN")
self.ca_confirm_password:SetText(self.password)
self.ca_st_confirm_password:InitTexture("ui_inGame2_lamp_GREEN")
self:OnBtnShowCreateAccountPage()
end
function gamespy_page:OnKeyboard(dik, keyboard_action)
CUIScriptWnd.OnKeyboard(self,dik,keyboard_action)
local bind = dik_to_bind(dik)
local console = get_console()
if keyboard_action == ui_events.WINDOW_KEY_RELEASED then
if dik == DIK_keys.DIK_LCONTROL then
ctrl = false
end
elseif keyboard_action == ui_events.WINDOW_KEY_PRESSED then
if dik == DIK_keys.DIK_LCONTROL then
ctrl = true
elseif dik == DIK_keys.DIK_ESCAPE then
self:OnBtnCancel()
elseif dik == DIK_keys.DIK_TAB then
if(ctrl) then
if(self.active_page=="login_page") then
self:OnBtnShowCreateAccountPage()
else
self:OnBtnLogin()
end
end
end
end
return true
end
function gamespy_page:OnEditLPEmailChanged()
-- self:OnBtnLogin()
end
function gamespy_page:OnEditLPPasswordChanged()
-- self:OnBtnLogin()
end
function gamespy_page:OnBtnLPForgotPassword()
self.owner.l_mgr:forgot_password("https://login.gamespy.com/lostpassword.aspx")
end
function gamespy_page:LoadingProgress(fake_bool, progress_string)
if(self.gs_login_mb_cancel:IsShown()) then
self.gs_login_mb_cancel:HideDialog()
end
self.gs_login_mb_cancel:InitMessageBox("message_box_gs_info")
self.gs_login_mb_cancel:SetText(progress_string)
self.gs_login_mb_cancel:ShowDialog(true)
end
function gamespy_page:LoadingComplete(load_result, descr)
self.gs_login_mb_cancel:HideDialog()
self.gs_login_mb_result:InitMessageBox("message_box_gs_result")
if(load_result == true) then
local tmp_unick = self.owner.gs_profile:unique_nick()
local hello_text = game.translate_string("ui_mp_gamespy_loading_rewards_hello").." "..tmp_unick.."!";
if (tmp_unick == "@unregistered") then
hello_text = game.translate_string("mp_gp_unique_nick_not_registred")
end
if (tmp_unick == "@expired") then
hello_text = game.translate_string("mp_gp_unique_nick_has_expired")
end
self.gs_login_mb_result:SetText(hello_text)
else
self.gs_login_mb_result:SetText(descr)
end
self.gs_login_mb_result:ShowDialog(true)
end
-- //////////////////////////////////////////////////////////////////////////////
function gamespy_page:ChangeActiveEditBox()
self.lp_email:CaptureFocus(false)
self.lp_password:CaptureFocus(false)
self.ca_email:CaptureFocus(false)
self.ca_password:CaptureFocus(false)
self.ca_confirm_password:CaptureFocus(false)
self.ca_unique_nick:CaptureFocus(false)
if (self.active_page=="login_page") then
self.lp_email:CaptureFocus(true)
else
self.ca_password:CaptureFocus(true)
end
end
function gamespy_page:OnEditCAEmailChanged()
printf("EmailChanged")
local email = self.ca_email:GetText()
if(email~="") then
if(self.owner.acc_mgr:verify_email(email)) then
self.gs_mb_create_vemail_cancel:InitMessageBox("message_box_gs_info")
self.gs_mb_create_vemail_cancel:SetText("ui_mp_gamespy_verify_email")
self.gs_mb_create_vemail_cancel:ShowDialog(true)
self.owner.acc_mgr:search_for_email(self.ca_email:GetText(), found_email_cb(self, self.OnEmailSearchComplete))
else
self.ca_st_email:InitTexture("ui_inGame2_lamp_RED")
self.ca_error:SetText(game.translate_string(self.owner.acc_mgr:get_verify_error_descr()))
end
end
self:CheckAccCreationAbility()
end
function gamespy_page:OnEditCAPasswordChanged()
printf("PasswordChanged")
local pass = self.ca_password:GetText()
if(self.owner.acc_mgr:verify_password(pass)) then
self.ca_st_password:InitTexture("ui_inGame2_lamp_GREEN")
self.ca_error:SetText("")
else
self.ca_st_password:InitTexture("ui_inGame2_lamp_RED")
self.ca_error:SetText(game.translate_string(self.owner.acc_mgr:get_verify_error_descr()))
self.ca_passwords_valid = false
end
self:CheckAccCreationAbility()
end
function gamespy_page:OnEditCAConfirmPasswordChanged()
printf("ConfirmPasswordChanged")
local pass = self.ca_password:GetText()
local conf_pass = self.ca_confirm_password:GetText()
if(pass==conf_pass) then
if(self.owner.acc_mgr:verify_password(pass)) then
self.ca_st_confirm_password:InitTexture("ui_inGame2_lamp_GREEN")
self.ca_error:SetText("")
self.ca_passwords_valid = true
else
self.ca_st_confirm_password:InitTexture("ui_inGame2_lamp_RED")
self.ca_error:SetText(game.translate_string(self.owner.acc_mgr:get_verify_error_descr()))
self.ca_passwords_valid = false
end
else
self.ca_st_confirm_password:InitTexture("ui_inGame2_lamp_RED")
self.ca_error:SetText(game.translate_string("ui_mp_gamespy_verify_password_error1"))
self.ca_passwords_valid = false
end
self:CheckAccCreationAbility()
end
function gamespy_page:OnEditCAUniqueNickChanged()
printf("UniqueNickChanged")
local nick = self.ca_unique_nick:GetText()
if (self.owner.acc_mgr:verify_unique_nick(nick)) then
self.gs_mb_create_vnick_cancel:InitMessageBox("message_box_gs_info")
self.gs_mb_create_vnick_cancel:SetText("ui_mp_gamespy_suggesting_unique_name")
self.gs_mb_create_vnick_cancel:ShowDialog(true)
self.owner.acc_mgr:suggest_unique_nicks(nick, suggest_nicks_cb(self, self.OnNickSuggestionComplete))
self.ca_combo_aval_unique_nick:Show(true);
self.ca_combo_aval_unique_nick:ClearList()
else
self.ca_st_unique_nick:InitTexture("ui_inGame2_lamp_RED")
self.ca_error:SetText(game.translate_string(self.owner.acc_mgr:get_verify_error_descr()))
end
end
function gamespy_page:TerminateVerifyEmail()
self.owner.acc_mgr:stop_searching_email()
self.ca_st_email:InitTexture("ui_inGame2_lamp_RED")
self.ca_email_valid = false
end
function gamespy_page:OnEmailSearchComplete(founded, descr)
self.gs_mb_create_vemail_cancel:HideDialog()
if (founded) then
self.ca_st_email:InitTexture("ui_inGame2_lamp_RED")
self.ca_error:SetText(game.translate_string("ui_mp_gamespy_email_already_exist"))
self.ca_email_valid = false
else
self.ca_st_email:InitTexture("ui_inGame2_lamp_GREEN")
self.ca_error:SetText("")
self.ca_email_valid = true
end
self:CheckAccCreationAbility()
end
function gamespy_page:TerminateVerifyNick()
self.owner.acc_mgr:stop_suggest_unique_nicks()
self.ca_st_unique_nick:InitTexture("ui_inGame2_lamp_RED")
self.ca_unique_nick_valid = false
end
function gamespy_page:OnNickSuggestionComplete(tmp, descr)
self.gs_mb_create_vnick_cancel:HideDialog()
self.btn_create_acc:Enable(false)
if(tmp>0) then
local num = 1
for i in (self.owner.acc_mgr:get_suggested_unicks()) do
if(i==self.ca_unique_nick:GetText()) then
self.ca_st_unique_nick:InitTexture("ui_inGame2_lamp_GREEN")
self.ca_unique_nick_valid = true
self.btn_create_acc:Enable(true)
self.ca_combo_aval_unique_nick:Show(false)
self:CheckAccCreationAbility()
return
end
self.ca_combo_aval_unique_nick:AddItem(i, num)
num = num + 1
end
local first_name = self.ca_combo_aval_unique_nick:GetTextOf(0)
self.ca_combo_aval_unique_nick:SetText(first_name)
self.ca_st_unique_nick:InitTexture("ui_inGame2_lamp_RED")
self.gs_message_box:InitMessageBox("message_box_gs_result")
self.gs_message_box:SetText("ui_mp_gamespy_verify_nickname_error1")
self.gs_message_box:ShowDialog(true)
self.ca_unique_nick_valid = false
else
self.ca_st_unique_nick:InitTexture("ui_inGame2_lamp_RED")
self.gs_message_box:InitMessageBox("message_box_gs_result")
self.gs_message_box:SetText(descr)
self.gs_message_box:ShowDialog(true)
self.ca_unique_nick_valid = false
end
self:CheckAccCreationAbility()
end
function gamespy_page:OnUniqueNickSelect()
self.ca_unique_nick:SetText(self.ca_combo_aval_unique_nick:GetText())
self:OnEditCAUniqueNickChanged()
self:CheckAccCreationAbility()
end
function gamespy_page:AccountCreationResult(tmp, descr)
self.gs_message_box:HideDialog()
if (descr=="") then
self.gs_create_mb_result:InitMessageBox("message_box_gs_result")
self.gs_create_mb_result:SetText("ui_mp_gamespy_profile_created")
self.gs_create_mb_result:ShowDialog(true)
else
self.gs_message_box:InitMessageBox("message_box_gs_result")
self.gs_message_box:SetText(descr)
self.gs_message_box:ShowDialog(true)
end
end
by_gangster, а можешь запаковать все файлы (мода?) и прикрепить архив?
by_gangster
01-05-2013, 21:52
lxa85, Все файлы ? Будет оочень много весить...
мода » лучше оригиналы
Могу только запаковать все скрипты и xml'ки
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.