DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
WrittenNoteData.c
См. документацию.
2{
4 protected ItemBase m_Paper;
5 //protected int m_Handwriting = -1;
6 protected string m_SimpleText;
7
9 {
10
11 }
12
13 void OnRPC( PlayerIdentity sender, int rpc_type, ParamsReadContext ctx)
14 {
15 Param1<string> param = new Param1<string>("");
16
17 //sent from server, executed on client
18 if (rpc_type == ERPCs.RPC_WRITE_NOTE)
19 {
20 if (ctx.Read(param))
21 {
22 SetNoteText(param.param1);
23 }
24
25 g_Game.GetMission().SetNoteMenu(g_Game.GetUIManager().EnterScriptedMenu(MENU_NOTE, GetGame().GetUIManager().GetMenu())); //NULL means no parent
26
27 ItemBase pen;
28 ItemBase paper;
29 //int handwriting;
30
31 if (GetNoteInfo(pen,paper))
32 {
33 g_Game.GetMission().GetNoteMenu().InitNoteWrite(paper,pen,m_SimpleText);
34 }
35 }
36 //sent from client (NoteMenu), executed on server
37 if (rpc_type == ERPCs.RPC_WRITE_NOTE_CLIENT)
38 {
39 if (ctx.Read(param))
40 {
41 string old_string = m_SimpleText;
42 SetNoteText(param.param1);
44 }
45 }
46 if (rpc_type == ERPCs.RPC_READ_NOTE)
47 {
48 if (ctx.Read(param))
49 {
50 SetNoteText(param.param1);
51 }
52
53 g_Game.GetMission().SetNoteMenu(g_Game.GetUIManager().EnterScriptedMenu(MENU_NOTE, GetGame().GetUIManager().GetMenu())); //NULL means no parent
54 g_Game.GetMission().GetNoteMenu().InitNoteRead(m_SimpleText);
55 }
56 }
57
58 void InitNoteInfo(ItemBase pen = null, ItemBase paper = null)
59 {
61 m_Paper = paper;
62 //m_Handwriting = handwriting;
63 }
64
65 bool GetNoteInfo(out ItemBase pen, out ItemBase paper)
66 {
68 paper = m_Paper;
69 //handwriting = m_Handwriting;
70 return pen && paper;
71 }
72
73 string GetNoteText()
74 {
75 return m_SimpleText;
76 }
77
78 void SetNoteText(string text)
79 {
80 m_SimpleText = MiscGameplayFunctions.SanitizeString(text);
81 }
82
83 void DepleteWritingImplement(notnull ItemBase pen,string old_text,string new_text)
84 {
85 float qty_per_char = 1.0;
86 float decrease = Math.Clamp((new_text.Length() - old_text.Length()),0,pen.GetQuantityMax());
87 pen.AddQuantity(-(qty_per_char * decrease));
88 }
89}
90
91//-----------------------
DayZGame g_Game
Определения DayZGame.c:3868
ERPCs
Определения ERPCs.c:2
Определения InventoryItem.c:731
Определения EnMath.c:7
The class that will be instanced (moddable)
Определения gameplay.c:389
proto bool Read(void value_in)
void DepleteWritingImplement(notnull ItemBase pen, string old_text, string new_text)
Определения WrittenNoteData.c:83
void InitNoteInfo(ItemBase pen=null, ItemBase paper=null)
Определения WrittenNoteData.c:58
void OnRPC(PlayerIdentity sender, int rpc_type, ParamsReadContext ctx)
Определения WrittenNoteData.c:13
void WrittenNoteData(ItemBase parent)
Определения WrittenNoteData.c:8
string GetNoteText()
Определения WrittenNoteData.c:73
bool GetNoteInfo(out ItemBase pen, out ItemBase paper)
Определения WrittenNoteData.c:65
string m_SimpleText
Определения WrittenNoteData.c:6
void SetNoteText(string text)
Определения WrittenNoteData.c:78
ItemBase m_Paper
Определения WrittenNoteData.c:4
ItemBase m_WritingImplement
Определения WrittenNoteData.c:3
Serializer ParamsReadContext
Определения gameplay.c:15
proto native CGame GetGame()
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.
const int MENU_NOTE
Определения constants.c:190
proto native int Length()
Returns length of string.