Форум Trainsim  

Вернуться   Форум Trainsim > Auran TrainZ > TrainZ — Об игре

Ответ
 
Опции темы Опции просмотра
Старый 16.02.2010, 15:21   #76
antikiller_bmrf
Матёрый пользователь
 
Регистрация: 21.10.2008
Адрес: Минск
Сообщений: 780
Вы сказали Спасибо: 8
Поблагодарили 40 раз(а) в 14 сообщениях
antikiller_bmrf стоит на развилке (репутация по умолчанию)
По умолчанию

оф
В электропоезде:
Осторожно, двери закрываются, следующая станция неймнуль.
__________________
Знаете, кто пляшет, как имбецилы, когда сделают что-нибудь ничтожное?
Люди!

Последний раз редактировалось antikiller_bmrf; 16.02.2010 в 15:24.
antikiller_bmrf вне форума   Ответить с цитированием
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


Реклама показывается изредка по случайному принципу
По умолчанию РЕКЛАМА

 
Старый 16.02.2010, 16:16   #77
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,705
Вы сказали Спасибо: 1,424
Поблагодарили 2,367 раз(а) в 1,320 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию

Златоуст перепроверил

в шапке после строки авторства

include "common.gs"
include "MapObject.gs"
include "gs.gs"

class jkmstolb isclass MapObject {


если не помогает, то jkmstolb тут и в конфиге меняем на jkmstolb2
__________________
местный зомбяк
TRam_ вне форума   Ответить с цитированием
Старый 16.02.2010, 20:02   #78
Добрый
Матёрый пользователь
 
Аватар для Добрый
 
Регистрация: 12.04.2008
Сообщений: 938
Вы сказали Спасибо: 5
Поблагодарили 16 раз(а) в 15 сообщениях
Добрый стоит на развилке (репутация по умолчанию)
Радость

Совсем другое дело! Спасибо!
__________________
Среди тех, кто учит жить, преобладают теоретики...
Добрый вне форума   Ответить с цитированием
Старый 19.02.2010, 00:41   #79
Iva
Новичок
 
Регистрация: 25.07.2007
Сообщений: 20
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Iva стоит на развилке (репутация по умолчанию)
По умолчанию

Доброго времени суток
У меня случилась одна проблемка
При попытке редактировать Driver command вылазит такая вот гадость http://floomby.ru/content/kque0lfUOr/ http://floomby.ru/content/kPgAGQuyUO/
Решил переустановить траинз, вроде как заработало, но до тех пор пока не залил назад весь контент. После того тоже самое вылазить начинает
В ТС2009 с этим контентом всё работает
Может кто в курсе чего ему не хватает и как с этим бороться
Iva вне форума   Ответить с цитированием
Старый 19.02.2010, 00:47   #80
antikiller_bmrf
Матёрый пользователь
 
Регистрация: 21.10.2008
Адрес: Минск
Сообщений: 780
Вы сказали Спасибо: 8
Поблагодарили 40 раз(а) в 14 сообщениях
antikiller_bmrf стоит на развилке (репутация по умолчанию)
По умолчанию

Посмотри ошибки в CMP, там понятнее будет.
__________________
Знаете, кто пляшет, как имбецилы, когда сделают что-нибудь ничтожное?
Люди!
antikiller_bmrf вне форума   Ответить с цитированием
Старый 19.02.2010, 20:14   #81
Iva
Новичок
 
Регистрация: 25.07.2007
Сообщений: 20
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Iva стоит на развилке (репутация по умолчанию)
По умолчанию

В СМП никаких ошибок нету
Iva вне форума   Ответить с цитированием
Старый 22.02.2010, 01:45   #82
Iva
Новичок
 
Регистрация: 25.07.2007
Сообщений: 20
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Iva стоит на развилке (репутация по умолчанию)
По умолчанию

Хм, а нельзя ли сделать так, чтоб по дефолту все команды из правила driver commands были доступны в списке команд driver setup(просто даже при нерабочем правиле driver command работают команды wait, load и т.д.). Это конечно было бы неудобно, но всё же лучше чем ничего
Iva вне форума   Ответить с цитированием
Старый 22.02.2010, 01:57   #83
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,705
Вы сказали Спасибо: 1,424
Поблагодарили 2,367 раз(а) в 1,320 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию

в общем, когда-то давно (точнее этим летом) я это правило себе чинил. Примерно так...

1) открыл куид Driver command на редактрование
2) скрипт там шифрованный, поэтому скопировал скрипт какого-то локомотива с переименованием на DriverCommandRule.gs

3) вставил скрипт этого правила из АПИ 2006

как я помню, заработало

Код HTML:
//
// DriverCommandRule.gs
//
//  Copyright (C) 2002 Auran Developments Pty Ltd
//  All Rights Reserved.
//

include "ScenarioBehavior.gs"
include "World.gs"
include "Browser.gs"
include "KUID.gs"


//
// This rule allows the scenario-designer to edit the driver commands available in a profile.
//
class DriverCommandRule isclass ScenarioBehavior
{
  KUID[] driverCommands;  // array of KUIDs of the driver commands currently in this rule
  bool isDefault = true;      // set to true if this rule's properties have not been customised


  //
  // Resets the commands in the Trainz world to the ones this rule has.  Called by Pause()
  // when this behavior is unpaused to reset driver commands.
  //
  void CreateCommandsNow(void);
  
  void FillDefaults(void);

  
  //
  // ScenarioBehavior methods
  //

  //
  // Initialization method that sets the driver command array to being empty.  
  //
  public void Init(Asset p_self)
  {
    inherited(p_self);

    driverCommands = new KUID[0];
  }

  //
  // Pause/unpause this behavior.  When unpaused, CreateCommandsNow() is called to reset 
  // driver commands.
  //
  public void Pause(bool paused)
  {
    if (paused == IsPaused())
      return;
    
    SetStateFlags(PAUSED, paused);

    if (!paused)
      CreateCommandsNow();
  }


  //
  // PropertyObject methods
  // 

  //
  // Initializes the driver commands list of this rule from the given database.
  //
  public void SetProperties(Soup soup)
  {
    inherited(soup);

    //
    // Clear any existing data
    //
    driverCommands = new KUID[0];
    
    //
    // Reload from the specified soup
    //
    Soup commands = soup.GetNamedSoup("commands");
    
    int i, count = commands.CountTags();
    for (i = 0; i < count; i++)
    {
      Soup commandInfo = commands.GetNamedSoup((string)i);
      driverCommands[i] = commandInfo.GetNamedTagAsKUID("kuid");
    }
    Interface.Log("DriverCommandRule.SetProperties> " + driverCommands.size() + " commands loaded");

    
    isDefault = !count and !soup.GetNamedTagAsInt("DriverCommandRule.modified");



    
    
      // this is a helper in case someone needs to know what commands are available
      // it may cause inconsistancies if multiple DriverCommandRules are present!
      // THIS IS A HACK - DONT RELY ON THIS IF AT ALL POSSIBLE
    if (World.GetCurrentModule() == World.SURVEYOR_MODULE)
      CreateCommandsNow();
  }

  //
  // Saves the KUIDs of the driver commands in this rule to a database and returns it.
  //
  public Soup GetProperties(void)
  {
    Soup soup = inherited();

    Soup commands = Constructors.NewSoup();
    int i, count = driverCommands.size();
    for (i = 0; i < count; i++)
    {
      Soup commandInfo = Constructors.NewSoup();
      commandInfo.SetNamedTag("kuid", driverCommands[i]);
      commands.SetNamedSoup((string)i, commandInfo);
    }
    soup.SetNamedSoup("commands", commands);
    
    soup.SetNamedTag("DriverCommandRule.modified", !isDefault);
    
    Interface.Log("DriverCommandRule.GetProperties> " + driverCommands.size() + " commands saved");

    return soup;
  }
  

  public bool ListContainsKUID(KUID[] list, KUID it)
  {
    int i;
    for (i = 0; i < list.size(); i++)
      if (list[i] == it)
        return true;

    return false;
  }
  
  public bool ListRemoveKUID(KUID[] list, KUID it)
  {
    int i;
    for (i = 0; i < list.size(); i++)
      if (list[i] == it)
      {
        list[i, i+1] = null;
        return true;
      }

    return false;
  }

  public void ListAddKUID(KUID[] list, KUID it)
  {
    list[list.size()] = it;
  }


  //
  // Returns HTML code with hyperlinks that allows commands in this rule to be added/deleted.
  //
  public string GetDescriptionHTML(void)
  {
    if (isDefault)
      FillDefaults();

    StringTable strTable = GetAsset().GetStringTable();
    string list = "";
    int i;

    list = list + "<table>";
    
    Asset[] commandAssets = World.GetAssetList("DriverCommand");

    for (i = 0; i < commandAssets.size(); i++)
    {
      Asset commandAsset = commandAssets[i];
      KUID commandKUID = commandAsset.GetKUID();
      string commandName = commandAsset.GetName();
      string commandIcon = commandKUID.GetHTMLString();
      string description = commandAsset.GetStringTable().GetString("description");
      string url = "live://property/" + (string)i;
      string link = "<a href='" + url + "'>";

      if (description.size())
        description = BrowserInterface.Quote(description);
      else
        description = strTable.GetString("no-description");
      
      
      list = list + "<tr>";
      

      list = list + "<td>" + link;
      list = list + HTMLWindow.CheckBox( url, ListContainsKUID(driverCommands, commandKUID) );
      /*if (ListContainsKUID(driverCommands, commandKUID))
        list = list + "<img src='checkbox-on.tga'>";
      else
        list = list + "<img src='checkbox-off.tga'>";*/
      list = list + "</td>";

      
      list = list + "<td>" + link;
      list = list + "<img kuid='" + commandIcon + "' width=48 height=48>";
      list = list + "</a></td>";
      
      list = list + "<td>" + link;
      list = list + "<font color=#000000>" + BrowserInterface.Quote(commandName) + "</font></a><br>";
      list = list + "<font color=#000000 size=-4>" + description + "</font>";
      list = list + "</td>";


      list = list + "</tr>";

    }

/*

    for (i = 0; i < driverCommands.size(); i++)
    {
      Asset commandAsset = World.FindAsset(driverCommands[i]);
      KUID kuid = commandAsset.GetKUID();
      string icon = kuid.GetHTMLString();

      string commandName;
      
      if (commandAsset)
        commandName = commandAsset.GetName();
      else
        commandName = "<not installed>";

      list = list + "<tr><td width=5></td><td>";
      list = list + "<img kuid='" + icon + "' width=32 height=32> </td><td width=5></td><td><font color=#000000>" + BrowserInterface.Quote(commandName) + "</font>";
      list = list + "</td>";
      list = list + "<td width=5></td><td>";
      list = list + "<font color=#000000><a href=live://property/" + ((string)i) + ">" + strTable.GetString("html_description3") + "</a></font>";
      list = list + "</td></tr>";
    }
    */
    
    list = list + "</table>";

    
    //if (driverCommands.size() < 20)
//      list = list + strTable.GetString("html_description1");

    return "<html><body><font color=#000000>" + strTable.GetString("html_description2") + list + "</font></body></html>";
  }

  //
  // Gets user-friendly readable name for the named property.
  //
  string GetPropertyName(string p_propertyID)
  {
    StringTable strTable = GetAsset().GetStringTable();    
    //if (p_propertyID == "add-object")
    //  return strTable.GetString("property_name_add");

    return "<null>";
  }

  //
  // Gets user-friendly readable description of named property.
  //
  string GetPropertyDescription(string p_propertyID)
  {
    StringTable strTable = GetAsset().GetStringTable();    
    //if (p_propertyID == "add-object")
    //  return strTable.GetString("property_desc_add");

    return "<null>";
  }

  //
  // Gets the type for the named property.
  //
  string GetPropertyType(string p_propertyID)
  {
    //if (p_propertyID == "add-object")
    //  return "list";

    return "link";
  }

  //
  // Called by SetPropertValue and GetPropertyElementList to get the names of all of the
  // commands in the array.
  //
  /*void GetCommandNameKUIDList(string[] names, KUID[] kuids)
  {
    Asset[] commandAssets = World.GetAssetList("DriverCommand");
    
    int i, out = 0;
    for (i = 0; i < commandAssets.size(); i++)
    {
      KUID kuid = commandAssets[i].GetKUID();
      int n;

      for (n = 0; n < driverCommands.size(); n++)
        if (driverCommands[n] == kuid or driverCommands[n].GetName() == commandAssets[i].GetName() )
        {
          kuid = null;
          break;
        }

      if (kuid)
      {
        if (names)
          names[out] = commandAssets[i].GetName();
        if (kuids)
          kuids[out] = kuid;

        out++;
      }
    }
  }*/

  //
  // Sets the value of the named property.
  //
  /*void SetPropertyValue(string p_propertyID, string p_value)
  {
    if (p_propertyID == "add-object")
    {
      string[] names = new string[0];
      KUID[] kuids = new KUID[0];

      GetCommandNameKUIDList(names, kuids);
      int i;

      for (i = 0; i < names.size(); i++)
        if (names[i] == p_value)
        {
          driverCommands[driverCommands.size()] = kuids[i];
          return;
        }
    }
  }*/

  //
  // Respond to a hyper-link click on the named property.
  //
  void LinkPropertyValue(string p_propertyID)
  {
    isDefault = false;
    
    int index = Str.ToInt(p_propertyID);
    //driverCommands[index, index + 1] = null;

    Asset[] commandAssets = World.GetAssetList("DriverCommand");
    KUID commandKUID = commandAssets[index].GetKUID();

    if (ListRemoveKUID(driverCommands, commandKUID))
    {
      // an item was removed
    }
    else
    {
      // add an item
      ListAddKUID(driverCommands, commandKUID);
    }

    
      // this is a helper in case someone needs to know what commands are available
      // it may cause inconsistancies if multiple DriverCommandRules are present!
      // THIS IS A HACK - DONT RELY ON THIS IF AT ALL POSSIBLE
    CreateCommandsNow();
  }

  //
  // Gets a list of elements the user can select for the named property.
  //
  public string[] GetPropertyElementList(string p_propertyID)
  {
    string[] ret = new string[0];

    //if (p_propertyID == "add-object")
    //  GetCommandNameKUIDList(ret, null);

    return ret;
  }


  //
  // Resets the commands in the Trainz world to the ones this rule has.  Called by Pause()
  // when this behavior is unpaused to reset driver commands.
  //
  void CreateCommandsNow(void)
  {
    if (isDefault)
      FillDefaults();

    //
    // Reset the driver commands list
    //
    int i, count = driverCommands.size();

    DriverCommand[] dcs = World.GetDriverCommandList();
    for (i = 0; i < dcs.size(); i++)
      World.RemoveDriverCommand(dcs[i]);

    Interface.Log("DriverCommandRule.CreateCommandsNow> " + dcs.size() + " commands removed");
    

    for (i = 0; i < count; i++)
    {
      Asset commandAsset = World.FindAsset(driverCommands[i]);
      
      if (commandAsset)
        World.AddDriverCommand(commandAsset);
    }

    Interface.Log("DriverCommandRule.CreateCommandsNow> " + driverCommands.size() + " commands added");
  }

  void FillDefaults(void)
  {
    Asset asset = GetAsset();
    
    driverCommands = new KUID[11];
    
    driverCommands[0] = asset.LookupKUIDTable("drive-to-command");
    driverCommands[1] = asset.LookupKUIDTable("drive-to-trackmark-command");
    driverCommands[2] = asset.LookupKUIDTable("drive-via-trackmark-command");
    driverCommands[3] = asset.LookupKUIDTable("drive-schedule-command");
    driverCommands[4] = asset.LookupKUIDTable("load-command");
    driverCommands[5] = asset.LookupKUIDTable("unload-command");
    driverCommands[6] = asset.LookupKUIDTable("couple-command");
    driverCommands[7] = asset.LookupKUIDTable("decouple-command");
    driverCommands[8] = asset.LookupKUIDTable("runaround-command");
    driverCommands[9] = asset.LookupKUIDTable("wait-for-command");
    driverCommands[10] = asset.LookupKUIDTable("notify-command");

    isDefault = true;
  }

  
  public void AppendDependencies(KUIDList io_dependencies)
  {
    inherited(io_dependencies);
    
    int i;
    for (i = 0; i < driverCommands.size(); i++)
      io_dependencies.AddKUID(driverCommands[i]);
  }

};
TRam_ вне форума   Ответить с цитированием
Старый 22.02.2010, 02:00   #84
antikiller_bmrf
Матёрый пользователь
 
Регистрация: 21.10.2008
Адрес: Минск
Сообщений: 780
Вы сказали Спасибо: 8
Поблагодарили 40 раз(а) в 14 сообщениях
antikiller_bmrf стоит на развилке (репутация по умолчанию)
По умолчанию

Ты попробуй правило установить снова, когда ты его скоммитишь, у тебя скорее всего появятся ошибки, т.к. трс 2010 дрянь прячет ошибки встроенного контента
__________________
Знаете, кто пляшет, как имбецилы, когда сделают что-нибудь ничтожное?
Люди!
antikiller_bmrf вне форума   Ответить с цитированием
Старый 23.02.2010, 01:42   #85
Iva
Новичок
 
Регистрация: 25.07.2007
Сообщений: 20
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Iva стоит на развилке (репутация по умолчанию)
По умолчанию

antikiller_bmrf:
У меня не получается скоммитить это правило, ругается СМП(видимо из-за того что пиратка), но если сделать клон, его открыть для редактирования, а потом скоммитить, то ошибок никаких нету.

TRam_
Сделал всё как ты написал(открыл для редактирования, взял левый скрипт, вставил в него то что ты написал, переименовал, скоммитил) но команды всёравно не отображаются((
Только делал это так же с клоном driver commands, так как потом бы не скоммитилось если бы был оригинал
Iva вне форума   Ответить с цитированием
Старый 23.02.2010, 01:49   #86
Arturmachinist
Матёрый пользователь
 
Аватар для Arturmachinist
 
Регистрация: 07.11.2008
Адрес: Волгоград
Сообщений: 1,815
Вы сказали Спасибо: 115
Поблагодарили 36 раз(а) в 18 сообщениях
Arturmachinist стоит на развилке (репутация по умолчанию)
По умолчанию

Хмм, блин. как я до клона-то не додумался...
Iva, это не из-за пиратки. Это чёртов Ауран внедрил такую систему, которая хрен коммитит встроенные куиды, которые уже открывались на редактирование. Можно только вернуть к оригиналу этот куид. А вот клон - хорошая идея.
Arturmachinist вне форума   Ответить с цитированием
Старый 23.02.2010, 02:01   #87
antikiller_bmrf
Матёрый пользователь
 
Регистрация: 21.10.2008
Адрес: Минск
Сообщений: 780
Вы сказали Спасибо: 8
Поблагодарили 40 раз(а) в 14 сообщениях
antikiller_bmrf стоит на развилке (репутация по умолчанию)
По умолчанию

Я вижу один выход, устанавливать допы по порядку, пока проблема не проявит себя.
Сначала по категориям сохраняешь свой контент, и устанавливаешь.
Потом в конкретной категории ищешь объект, приводящий к проблеме.
Начинай искать со всякой хрени мелкой, правил, скриптов и т.д. (не думаю что виной этому здания или рельсы))
__________________
Знаете, кто пляшет, как имбецилы, когда сделают что-нибудь ничтожное?
Люди!
antikiller_bmrf вне форума   Ответить с цитированием
Старый 23.02.2010, 22:42   #88
Iva
Новичок
 
Регистрация: 25.07.2007
Сообщений: 20
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Iva стоит на развилке (репутация по умолчанию)
По умолчанию

Да, пожалуй придётся так и сделать
(Пошёл запасаться терпением)
Iva вне форума   Ответить с цитированием
Старый 24.02.2010, 02:45   #89
Iva
Новичок
 
Регистрация: 25.07.2007
Сообщений: 20
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Iva стоит на развилке (репутация по умолчанию)
По умолчанию

Ура!
Заработало!
А всё было из-за карявой команды autodrive
подправил в ней конфиг и всё стало отображаться и работать
Iva вне форума   Ответить с цитированием
Старый 24.02.2010, 02:46   #90
antikiller_bmrf
Матёрый пользователь
 
Регистрация: 21.10.2008
Адрес: Минск
Сообщений: 780
Вы сказали Спасибо: 8
Поблагодарили 40 раз(а) в 14 сообщениях
antikiller_bmrf стоит на развилке (репутация по умолчанию)
По умолчанию

Так там ошибка была в смр?
__________________
Знаете, кто пляшет, как имбецилы, когда сделают что-нибудь ничтожное?
Люди!
antikiller_bmrf вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


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


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim
TopList Нажми для появления дома Trainsim на карте Intermap
Что это?