Słuchaj się Jona bo dobrze prawi
Domyślny kanał komunikacji MP komunikatów SideChat w żadnym wypadku nie podlegają w/w korelacji. Jedyny kierunek dziłania to logika gry -> komunikat Sidechat.
Przypadek o którym mówisz wynikał z zaprojektowania aktywnego tekstu w description.ext . Jest to jednak wyjątkowo czasochłonne.
Kiedyś testowałem takie rozwiązanie dla sprawdzenia jak wygladają obiekty poprzez podanie ich nazwy (nie daje gwarancji że działa) :
description.ext
- Kod: Zaznacz cały
#define FontM "tahomaB36"
#define FontHTML "CourierNewB64"
#define ST_LEFT 0
#define ST_RIGHT 1
#define ST_CENTER 2
#define ST_FRAME 64
#define CT_STATIC 0
#define CT_BUTTON 1
#define CT_EDIT 2
#define CT_ACTIVETEXT 11
class RscText
{
type = CT_STATIC;
idc = -1;
style = ST_LEFT;
colorBackground[] = {0, 0, 0, 0};
colorText[] = {0.5, 0.5, 0.5, 1};
font = FontM;
sizeEx = 0.04;
};
class RscActiveText
{
type = CT_ACTIVETEXT;
idc = -1;
style = ST_LEFT;
color[] = {1, 1, 1, 1};
colorActive[] = {1, 0, 0, 1};
font = FontM;
sizeEx = 0.04;
soundEnter[] = {"ui\ui_over", 0.2, 1};
soundPush[] = {, 0.2, 1};
soundClick[] = {"ui\ui_ok", 0.2, 1};
soundEscape[] = {"ui\ui_cc", 0.2, 1};
default = false;
};
class RscButton
{
type = CT_BUTTON;
idc = -1;
style = ST_CENTER;
colorText[] = {0, 0, 0, 1};
font = FontHTML;
sizeEx = 0.025;
soundPush[] = {, 0.2, 1};
soundClick[] = {"ui\ui_ok", 0.2, 1};
soundEscape[] = {"ui\ui_cc", 0.2, 1};
default = false;
};
class RscEdit
{
type = CT_EDIT;
idc = -1;
style = ST_LEFT;
font = FontHTML;
sizeEx = 0.02;
colorText[] = {0, 0, 0, 1};
colorSelection[] = {0.5, 0.5, 0.5, 1};
autocomplete = false;
text = ;
};
class Text
{
idd = -1;
movingEnable = true;
objects[] = { };
controls[] = { CLICK_ME, MY_BUTTON, MY_EDIT };
class CLICK_ME : RscActiveText
{
idc = 101;
style = ST_CENTER;
x = 0.2;
y = 0.85;
w = 0.2;
h = 0.04;
text = "Wykonaj";
action = "WL = true; TEXT = ctrlText 104";
default = true;
};
class MY_BUTTON : RscButton
{
idc = 102;
x = 0.5;
y = 0.85;
w = 0.2;
h = 0.04;
text = "Wylacz";
action = "closeDialog 0";
};
class MY_EDIT : RscEdit
{
idc = 104;
x = 0.2;
y = 0.8;
w = 0.4;
h = 0.05;
};
};
w init gracza:
- Kod: Zaznacz cały
[] exec "wyw.sqs"; ok = createDialog "Text"
wyzwalacz wywołania radiem:
aktywacja:
- Kod: Zaznacz cały
ok = createDialog "Text"
i plik "wyw.sqs":
- Kod: Zaznacz cały
#krok
@WL
WL = false
_model = format ["%1", TEXT]
_pos = getpos player
_dir = getdir player
_ob = _model createVehicle [getpos obj select 0, getpos obj select 1, (getpos obj select 2) +10]
player globalchat format ["%1, %2", TEXT, _ob]
~10
deletevehicle _ob
goto "krok"