Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   TrainZ — Об игре (http://www.trainsim.ru/forum/forumdisplay.php?f=22)
-   -   Исправление ошибок контента, старые дополнения (http://www.trainsim.ru/forum/showthread.php?t=9301)

antikiller_bmrf 13.02.2010 19:04

А чтоже это за скрипт такой, давайте спросим у него.

Скрипт: Я...[CODE]// Original script written by Dmitry Kovaliov aka Дмитрий К. with change by Jam aka Хохрев А.

include "common.gs"
include "Signal.gs"
include "gs.gs"

class jkmstolb isclass Signal {
Soup settings;
StringTable ST;
string kmnumber1, kmnumber2, kmnumber3;

string MakeProperty(string link, string text) {
string t;
if (text=="") {t=ST.GetString("none"); } else {t=text;}
return HTMLWindow.MakeLink("live://property/"+link,t);
}

public string GetDescriptionHTML(void) {
string ret="<HTML><body>";
string bgcol=ST.GetString("BGCOLOR");
string bgcol2=ST.GetString("BGCOLOR2");

ret=ret+HTMLWindow.StartTable();
ret=ret+HTMLWindow.MakeRow(HTMLWindow.MakeCell(ST.GetString("platetext")));
ret=ret+HTMLWindow.MakeRow(HTMLWindow.MakeCell(ST.GetString("platetext1"),bgcol)+HTMLWindow.MakeCell(MakeProperty("kmnumber1",kmnumber1),bgcol2));
ret=ret+HTMLWindow.MakeRow(HTMLWindow.MakeCell(ST.GetString("platetext2"),bgcol)+HTMLWindow.MakeCell(MakeProperty("kmnumber2",kmnumber2),bgcol2));
ret=ret+HTMLWindow.MakeRow(HTMLWindow.MakeCell(ST.GetString("platetext3"),bgcol)+HTMLWindow.MakeCell(MakeProperty("kmnumber3",kmnumber3),bgcol2));
ret=ret+HTMLWindow.EndTable();

ret=ret+"</Body></html>";
return ret;
}

public string GetPropertyType(string id) {
string[] tok=Str.Tokens(id,"/");
if (tok[0]=="kmnumber1") { return "string,0,4"; }
if (tok[0]=="kmnumber2") { return "string,0,4"; }
if (tok[0]=="kmnumber3") { return "string,0,4"; }
return "link";
}


public void SetPropertyValue(string id, string val) {
string[] tok=Str.Tokens(id,"/");

if (tok[0]=="kmnumber1") {
kmnumber1=val;
if (kmnumber1=="") {SetFXNameText("name0"," ");} else {SetFXNameText("name0",kmnumber1);}
}
if (tok[0]=="kmnumber2") {
kmnumber2=val;
if (kmnumber2=="") {SetFXNameText("name1"," ");} else {SetFXNameText("name1",kmnumber2);}
}
if (tok[0]=="kmnumber3") {
kmnumber3=val;
if (kmnumber3=="") {SetFXNameText("name2"," ");} else {SetFXNameText("name2",kmnumber3);}
}
}

public string GetPropertyName(string id) {
string[] tok=Str.Tokens(id,"/");
if (tok[0]=="kmnumber1") { return ST.GetString("platetext1"); }
if (tok[0]=="kmnumber2") { return ST.GetString("platetext2"); }
if (tok[0]=="kmnumber3") { return ST.GetString("platetext3"); }
return "";
}

public Soup GetProperties(void) {
Soup db=inherited();
db.SetNamedTag("kmnumber1",kmnumber1);
db.SetNamedTag("kmnumber2",kmnumber2);
db.SetNamedTag("kmnumber3",kmnumber3);
return db;
}

public void SetProperties(Soup db) {
kmnumber1=db.GetNamedTag("kmnumber1");
kmnumber2=db.GetNamedTag("kmnumber2");
kmnumber3=db.GetNamedTag("kmnumber3");

if (kmnumber1=="") {SetFXNameText("name0"," ");} else {SetFXNameText("name0",kmnumber1);}
if (kmnumber2=="") {SetFXNameText("name1"," ");} else {SetFXNameText("name1",kmnumber2);}
if (kmnumber3=="") {SetFXNameText("name2"," ");} else {SetFXNameText("name2",kmnumber3);}


PostMessage(me,"kdakm","Setup",0);
}

public void Init(void) {
inherited();
Asset self=GetAsset();
settings=self.GetConfigSoup().GetNamedSoup("settings-table");
ST=self.GetStringTable();
return;
}

};[/CODE]И мне тоже кажется, что меня запихнули туда не для чего.
;)

Добрый 13.02.2010 19:58

Если от скрипта отказаться, вокзалу нельзя прописать имена (там три вывески). Этот скрипт я тоже не понял, в том смысле, почему он тут, вот поэтому и интересуюсь...
Короче, с ним ошибка, а без него нельзя...

antikiller_bmrf 13.02.2010 19:59

Есть еще предположение, что ему не нравится категория scenery, возможно объекты со скриптом должны иметь другой "kind"

antikiller_bmrf 13.02.2010 20:27

Класс скрипта ссылается на строку в скрипте, заменять можно на что угодно, но ошибка не пропадет

Добрый 13.02.2010 21:03

Будем надеяться, кто-то из скриптовиков забежит подскажет...:o

TRam_ 13.02.2010 22:40

меняем

class jkmstolb isclass Signal {

на

class jkmstolb isclass MeshObject {

должно помочь

antikiller_bmrf 13.02.2010 22:42

Да, реально помогло

Добрый 14.02.2010 11:03

Спасибо, [B]TRam[/B], меня как раз и смущало, что, вроде бы скрипт должен относиться к траксайдам, а вокзал никак с ними не связан. Видно, каким требовательным стал ТС2010 по сравнению с предыдущими версиями - ругается на любую мелочь.

TRam_ 14.02.2010 11:35

зато менее глючен из-за этого:)

Arturmachinist 14.02.2010 13:04

Ребят, а назовите куид вокзала. Тоже его посмотрю и исправлю.

antikiller_bmrf 14.02.2010 13:28

Да введи в поиске просто Вокзал златоуст

Добрый 14.02.2010 18:15

[QUOTE=Arturmachinist;154178]Ребят, а назовите куид вокзала. Тоже его посмотрю и исправлю.[/QUOTE]
А вот не надо спешить. Ошибка убирается, но название вокзала больше не прописывается - скрипт не работает:confused: Этот орешек трудно расколоть...

TRam_ 14.02.2010 19:05

[QUOTE]но название вокзала больше не прописывается - скрипт не работает[/QUOTE]а надписи на английском/цифры?

antikiller_bmrf 14.02.2010 19:19

В свойствах объекта вообще ничего нет

Добрый 14.02.2010 21:17

Подтверждаю. Язык вводить некуда, а на самом вокзале появляются несменяемые вывески name0, name1, name2.


Текущее время: 21:18. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim