DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ RunEnscriptServer()

void OnSelected::RunEnscriptServer ( )
protected

См. определение в файле ScriptConsoleEnfScriptTab.c строка 427

428{
429 protected static ScriptConsoleEnfScriptTab m_Instance;
430 protected int m_EnscriptHistoryRow;
431 protected int m_EnscriptHistoryRowServer;
434 protected PluginLocalEnscriptHistory m_ModuleLocalEnscriptHistory;
435 protected PluginLocalEnscriptHistoryServer m_ModuleLocalEnscriptHistoryServer;
436 protected MultilineEditBoxWidget m_EnfScriptEdit;
437 protected ButtonWidget m_EnfScriptRun;
438 protected ButtonWidget m_EnfScriptClear;
439 protected TextListboxWidget m_ScriptOutputListbox;
440 protected bool m_AllowScriptOutput;
441 protected int m_RunColor;
442
444
445 void ScriptConsoleEnfScriptTab(Widget root, ScriptConsole console, Widget button, ScriptConsoleTabBase parent = null)
446 {
447 m_Instance = this;
448 m_ModuleLocalEnscriptHistory = PluginLocalEnscriptHistory.Cast(GetPlugin(PluginLocalEnscriptHistory));
449 m_ModuleLocalEnscriptHistoryServer = PluginLocalEnscriptHistoryServer.Cast(GetPlugin(PluginLocalEnscriptHistoryServer));
452 m_EnfScriptEdit = MultilineEditBoxWidget.Cast(root.FindAnyWidget("MultilineEditBoxWidget0"));
453 m_EnfScriptRun = ButtonWidget.Cast(root.FindAnyWidget("RunButton"));
454 m_EnfScriptClear = ButtonWidget.Cast(root.FindAnyWidget("ClearButton"));
455 m_ScriptOutputListbox = TextListboxWidget.Cast(root.FindAnyWidget("ScriptOutputListbox"));
456 m_RunColor = m_EnfScriptRun.GetColor();
457 }
458
460 {
461 m_Instance = null;
462 }
463
464 override void OnSelected()
465 {
466 int index = m_EnscriptConsoleHistory.Count() - m_EnscriptHistoryRow - 1;
467 if (m_EnscriptConsoleHistory.IsValidIndex(index))
468 {
469 string text = m_EnscriptConsoleHistory.Get(index);
470 m_EnfScriptEdit.SetText(text);
471 }
473 }
474
475 static void PrintS(string message)
476 {
477 Print(message);
478 if (m_Instance)
479 m_Instance.Add(message);
480 }
481
482 static void PrintS(bool message)
483 {
484 PrintS(message.ToString());
485 }
486
487 static void PrintS(int message)
488 {
489 PrintS(message.ToString());
490 }
491
492 static void PrintS(float message)
493 {
494 PrintS(message.ToString());
495 }
496
497 static void PrintS(vector message)
498 {
499 PrintS(message.ToString());
500 }
501
502 static void PrintS(Object message)
503 {
504 PrintS(message.ToString());
505 }
506
507
508 void Add(string message, bool isReload = false)
509 {
510 if (message != string.Empty)
511 {
513 {
514 if (!isReload)
515 m_ScriptOutputHistory.Insert(message);
516 m_ScriptOutputListbox.AddItem(String(message), NULL, 0);
517 m_ScriptOutputListbox.EnsureVisible(m_ScriptOutputListbox.GetNumItems());
518 }
519 }
520 }
521
522 protected void Clear(bool clearFile = false)
523 {
524 if(clearFile)
526 m_ScriptOutputListbox.ClearItems();
527 }
528
529
530
531 protected void ReloadScriptOutput()
532 {
533 m_ScriptOutputListbox.ClearItems();
534 m_AllowScriptOutput = true;
535 foreach ( string s: m_ScriptOutputHistory)
536 {
537 Add(s, true);
538 }
539 m_AllowScriptOutput = false;
540 }
541
542 void HistoryBack()
543 {
544
546 }
547
548 void HistoryForward()
549 {
551 }
552
553 protected void RunEnscript()
554 {
555 #ifdef DEVELOPER
556 string code;
557 m_EnfScriptEdit.GetText(code);
558 string codeNoReplace = code;
560 m_AllowScriptOutput = true;
561 code.Replace("Print(","ScriptConsoleEnfScriptTab.PrintS(");
562 code.Replace("Print (","ScriptConsoleEnfScriptTab.PrintS(");
563 bool success = GetGame().ExecuteEnforceScript("void scConsMain() \n{\n" + code + "\n}\n", "scConsMain");
564 m_AllowScriptOutput = false;
565 ColorRunButton(success);
566
567 m_EnscriptConsoleHistory.Insert(codeNoReplace);
568 m_ModuleLocalEnscriptHistory.AddNewLine(codeNoReplace);
569 #endif
570 }
571
572 protected void ColorRunButton(bool success)
573 {
574 if (success)
575 {
576 m_EnfScriptRun.SetColor(ARGB(255,0,255,0));
577 }
578 else
579 {
580 m_EnfScriptRun.SetColor(ARGB(255,255,0,0));
581 }
583 }
584
585 protected void ResetRunButtonColor()
586 {
587 m_EnfScriptRun.SetColor(m_RunColor);
588 }
589
590 protected void RunEnscriptServer()
591 {
592 string code;
593 m_EnfScriptEdit.GetText(code);
595 m_ModuleLocalEnscriptHistoryServer.AddNewLine(code);
597 GetGame().RPCSingleParam(GetGame().GetPlayer(), ERPCs.DEV_RPC_SERVER_SCRIPT, CachedObjectsParams.PARAM1_STRING, true, GetGame().GetPlayer().GetIdentity());
598 }
599
600 protected void EnscriptHistoryBack()
601 {
602 int history_index;
603 if (m_EnfScriptEdit)
604 {
606 history_index = m_EnscriptConsoleHistory.Count() - m_EnscriptHistoryRow - 1;
607 if (history_index > -1)
608 {
609 m_EnfScriptEdit.SetText(m_EnscriptConsoleHistory.Get(history_index));
610 }
612 }
613 }
614
615
616 protected void EnscriptHistoryForward()
617 {
618 if (m_EnfScriptEdit)
619 {
620 int history_index;
622 history_index = m_EnscriptConsoleHistory.Count() - m_EnscriptHistoryRow - 1;
623 if (history_index < m_EnscriptConsoleHistory.Count())
624 {
625 m_EnfScriptEdit.SetText(m_EnscriptConsoleHistory.Get(history_index));
626 }
628 }
629 }
630
631 override void OnRPCEx(int rpc_type, ParamsReadContext ctx)
632 {
633 super.OnRPCEx(rpc_type, ctx);
634 #ifdef DIAG_DEVELOPER
635 switch (rpc_type)
636 {
637 case ERPCs.DEV_RPC_SERVER_SCRIPT_RESULT:
638 {
640 {
642 }
643 break;
644 }
645 }
646 #endif
647 }
648
649 override bool OnClick(Widget w, int x, int y, int button)
650 {
651 super.OnClick(w,x,y,button);
652 if (w == m_EnfScriptRun)
653 {
654 RunEnscript();
655 return true;
656 }
657 else if (w == m_EnfScriptClear)
658 {
659 m_ScriptOutputListbox.ClearItems();
660 m_ScriptOutputHistory.Clear();
661 return true;
662 }
663
664 return false;
665 }
666
667 override bool OnChange(Widget w, int x, int y, bool finished)
668 {
669 super.OnChange(w, x, y, finished);
670 return false;
671 }
672
673
674 override void Show(bool show, ScriptConsoleTabBase selectedHandler)
675 {
676 if (!show && (selectedHandler.Type() == ScriptConsoleEnfScriptTab || selectedHandler.Type() == ScriptConsoleEnfScriptServerTab))
677 {
678 //do nothing
679 }
680 else
681 {
682 m_Root.Show(show);
683 m_Root.Enable(show);
684 }
685 }
686
687}
688
689class ScriptConsoleEnfScriptServerTab : ScriptConsoleEnfScriptTab
690{
691 override void OnSelected()
692 {
694 if (m_EnscriptConsoleHistoryServer.IsValidIndex(index))
695 {
696 string text = m_EnscriptConsoleHistoryServer.Get(index);
697 m_EnfScriptEdit.SetText(text);
698 }
700 }
701
702 override protected void EnscriptHistoryBack()
703 {
704 int history_index;
705 if (m_EnfScriptEdit)
706 {
709 if (history_index > -1)
710 {
711 m_EnfScriptEdit.SetText(m_EnscriptConsoleHistoryServer.Get(history_index));
712 }
714 }
715 }
716
717 override protected void EnscriptHistoryForward()
718 {
719 if (m_EnfScriptEdit)
720 {
721 int history_index;
722
725 if (history_index < m_EnscriptConsoleHistoryServer.Count())
726 {
727 m_EnfScriptEdit.SetText(m_EnscriptConsoleHistoryServer.Get(history_index));
728 }
730 }
731 }
732
733 override bool OnClick(Widget w, int x, int y, int button)
734 {
735 if (w == m_EnfScriptRun)
736 {
738 return true;
739 }
740 else if (w == m_EnfScriptClear)
741 {
742 m_ScriptOutputListbox.ClearItems();
743 m_ScriptOutputHistory.Clear();
744 return true;
745 }
746
747 return false;
748 }
749
750}
void Show()
Определения DayZGame.c:162
ERPCs
Определения ERPCs.c:2
Empty
Определения Hand_States.c:14
Icon x
Icon y
PlayerBase GetPlayer()
Определения ModifierBase.c:51
PluginBase GetPlugin(typename plugin_type)
Определения PluginManager.c:316
PlayerBase _player
Определения QuickBarBase.c:18
static ref RadialMenu m_Instance
Определения RadialMenu.c:55
ref TStringArray m_EnscriptConsoleHistoryServer
Определения ScriptConsoleEnfScriptTab.c:270
int m_EnscriptHistoryRowServer
Определения ScriptConsoleEnfScriptTab.c:268
override void OnRPCEx(int rpc_type, ParamsReadContext ctx)
Определения ScriptConsoleEnfScriptTab.c:468
ButtonWidget m_EnfScriptClear
Определения ScriptConsoleEnfScriptTab.c:275
ScriptConsoleEnfScriptTab ScriptConsoleTabBase OnSelected()
Определения ScriptConsoleEnfScriptTab.c:265
void ResetRunButtonColor()
Определения ScriptConsoleEnfScriptTab.c:422
void Add(string message, bool isReload=false)
Определения ScriptConsoleEnfScriptTab.c:345
void HistoryForward()
Определения ScriptConsoleEnfScriptTab.c:385
TextListboxWidget m_ScriptOutputListbox
Определения ScriptConsoleEnfScriptTab.c:276
void ScriptConsoleEnfScriptTab(Widget root, ScriptConsole console, Widget button, ScriptConsoleTabBase parent=null)
Определения ScriptConsoleEnfScriptTab.c:282
bool m_AllowScriptOutput
Определения ScriptConsoleEnfScriptTab.c:277
static ref TStringArray m_ScriptOutputHistory
Определения ScriptConsoleEnfScriptTab.c:280
int m_RunColor
Определения ScriptConsoleEnfScriptTab.c:278
static void PrintS(string message)
Определения ScriptConsoleEnfScriptTab.c:312
void RunEnscriptServer()
Определения ScriptConsoleEnfScriptTab.c:427
void ~ScriptConsoleEnfScriptTab()
Определения ScriptConsoleEnfScriptTab.c:296
override bool OnClick(Widget w, int x, int y, int button)
Определения ScriptConsoleEnfScriptTab.c:486
PluginLocalEnscriptHistoryServer m_ModuleLocalEnscriptHistoryServer
Определения ScriptConsoleEnfScriptTab.c:272
void Clear(bool clearFile=false)
Определения ScriptConsoleEnfScriptTab.c:359
void ReloadScriptOutput()
Определения ScriptConsoleEnfScriptTab.c:368
ButtonWidget m_EnfScriptRun
Определения ScriptConsoleEnfScriptTab.c:274
void EnscriptHistoryBack()
Определения ScriptConsoleEnfScriptTab.c:437
override bool OnChange(Widget w, int x, int y, bool finished)
Определения ScriptConsoleEnfScriptTab.c:504
void RunEnscript()
Определения ScriptConsoleEnfScriptTab.c:390
int m_EnscriptHistoryRow
Определения ScriptConsoleEnfScriptTab.c:267
void HistoryBack()
Определения ScriptConsoleEnfScriptTab.c:379
PluginLocalEnscriptHistory m_ModuleLocalEnscriptHistory
Определения ScriptConsoleEnfScriptTab.c:271
ref TStringArray m_EnscriptConsoleHistory
Определения ScriptConsoleEnfScriptTab.c:269
void ColorRunButton(bool success)
Определения ScriptConsoleEnfScriptTab.c:409
MultilineEditBoxWidget m_EnfScriptEdit
Определения ScriptConsoleEnfScriptTab.c:273
void EnscriptHistoryForward()
Определения ScriptConsoleEnfScriptTab.c:453
Widget m_Root
Определения SizeToChild.c:91
proto native void RPCSingleParam(Object target, int rpc_type, Param param, bool guaranteed, PlayerIdentity recipient=null)
see CGame.RPC
override ScriptCallQueue GetCallQueue(int call_category)
Определения DayZGame.c:1187
proto native bool ExecuteEnforceScript(string expression, string mainFnName)
Delevoper only: Executes Enforce Script expression, if there is an error, is printed into the script ...
static ref Param1< bool > PARAM1_BOOL
Определения UtilityClasses.c:12
static ref Param1< string > PARAM1_STRING
Определения UtilityClasses.c:14
static void ClearLogs()
Определения Debug.c:557
Определения Debug.c:2
Определения ObjectTyped.c:2
Определения PlayerBaseClient.c:2
proto void CallLater(func fn, int delay=0, bool repeat=false, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
adds call into the queue with given parameters and arguments (arguments are held in memory until the ...
override void OnSelected()
Определения ScriptConsoleEnfScriptTab.c:38
override bool OnClick(Widget w, int x, int y, int button)
Определения ScriptConsoleEnfScriptTab.c:223
proto bool Read(void value_in)
Определения EnWidgets.c:190
string ToString()
Определения EnConvert.c:3
proto string ToString(bool simple=true)
proto string ToString(bool beautify=true)
Vector to string.
Определения EnConvert.c:106
Serializer ParamsReadContext
Определения gameplay.c:15
proto native CGame GetGame()
proto void Print(void var)
Prints content of variable to console/log.
array< string > TStringArray
Определения EnScript.c:685
string String(string s)
Helper for passing string expression to functions with void parameter. Example: Print(String("Hello "...
Определения EnScript.c:339
proto int Replace(string sample, string replace)
Replace all occurrances of 'sample' in 'str' by 'replace'.
const int CALL_CATEGORY_SYSTEM
Определения tools.c:8
WorkspaceWidget Widget
Defined in code.
int ARGB(int a, int r, int g, int b)
Определения proto.c:322