CustomGames.ru - Dota 2 пользовательские игры

Время в Доте

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн qofma

  • 81
  • Мощь: 0
Время в Доте
« : 06-07-2016, 11:22:03 »
Решил добавить свое время в доте.Скопировал всё с исходника петры реборн (панорама).Не робит.Что надо еще сделать ,что заработало ?
Моя кастомная карта:Shadow Fiend Wars

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12
Re: Время в Доте
« Ответ #1 : 06-07-2016, 13:21:53 »
Решил добавить свое время в доте.Скопировал всё с исходника петры реборн (панорама).Не робит.Что надо еще сделать ,что заработало ?
>У меня ничего не работает и я вам не покажу ни код, ничего, сами гадайте там, что у меня и почему не работает.

Оффлайн qofma

  • 81
  • Мощь: 0
Re: Время в Доте
« Ответ #2 : 06-07-2016, 14:32:47 »
>У меня ничего не работает и я вам не покажу ни код, ничего, сами гадайте там, что у меня и почему не работает.
Это я пихнул в layout (xml)
Код
<root>
<styles>
<include src="file://{resources}/styles/dotastyles.css" />
<include src="file://{resources}/styles/custom_game/timeofday.css" />
</styles>
<script>
var dayLength = 480;

function SetPositionRotation( element, position, rotation ) {
  var oldPosition = element.oldPosition || [0, 0];
  var oldRotation = element.oldRotation || 0;

  //Revert previous transformation
  element.style.transform = "translate3d(" +
          -oldPosition[0] + "px, " + -oldPosition[1] + "px, 0px) rotateZ("+(-oldRotation)+"deg)";

  //Apply new transformation
  element.style.transform = "rotateZ("+rotation+"deg) translate3d(" +
          position[0] + "px, " + position[1] + "px, 0px)";

  element.oldPosition = position;
  element.oldRotation = rotation;
}

function UpdateTime()
{
var time = Math.floor( Game.GetDOTATime( false, false) );
$( "#Time" ).text = new Date(0, 0, 0, 0, 0, time ).toTimeString().replace(/.*(\d{2}:\d{2}).*/, "$1");

var daySec = time % 480;
if ( daySec > 240 )
$( "#PetroTime" ).style.visibility = "visible;";
else
$( "#PetroTime" ).style.visibility = "collapse;";

SetPositionRotation($( "#TimeOfDayImage" ), [0, 0], -180 + daySec / 480 * 360);
//$( "#TimeOfDayImage" ).style["transform"] = "rotateZ(" + String( -180 + daySec / 480 * 360 ) + "deg );";

$.Schedule( 1, UpdateTime );
}

(function() {
SetPositionRotation($( "#TimeOfDayImage" ), [0, 0], -180);
    $.Schedule( 0.1, UpdateTime );
})();
</script>
<Panel class="TimeOfDay" >
<Image hittest="false" id="TimeOfDayImage" src="file://{images}/custom_game/timeofday/dayNight.png" />
<Image hittest="false" id="TimeOfDayBorderImage" src="file://{images}/custom_game/timeofday/border.png" />
<Label id="Time" text="00:00" />
<Image hittest="false" id="PetroTime" src="file://{images}/custom_game/timeofday/petrotime.png" />
</Panel>
</root>

А это я кинул в styles (css)
Код
.TimeOfDay
{
    width: 110px;
    height: 110px;
   
    margin-left: 1300px;
    horizontal-align: left;
}

.AspectRatio4x3 .TimeOfDay
{
    margin-left: 1180px;
}

.AspectRatio5x4 .TimeOfDay
{
    margin-left: 1080px;
}

#TimeOfDayImage
{
    width: 75%;
    height: 75%;

    margin-top: -40%;

    horizontal-align: center;
}


#TimeOfDayBorderImage
{
    width: 100%;
    height: 58%;
}

#Time
{
    font-weight: bold;
    font-size: 17px;
    color: #FFFFFF;

    text-shadow: 0px 0px 3px 4 #000000ff;

    horizontal-align: center;

    margin-top: 10px;
}

#PetroTime
{
    width: 38px;
    height: 38px;

    margin-bottom: 40%;

    vertical-align: bottom;
    horizontal-align: center;

    visibility: collapse;
}
В папку script я ничего не кинул,потому что не нашел ничего в Петрах
Моя кастомная карта:Shadow Fiend Wars

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12
Re: Время в Доте
« Ответ #3 : 06-07-2016, 16:18:18 »
А ты в манифесте указал этот файл с временем?

Оффлайн -ErøtiC-

  • Администратор
  • 335
  • Мощь: 3
  • Забанен
Re: Время в Доте
« Ответ #4 : 06-07-2016, 22:27:43 »
qofma, а как он тебе без JS будет считать секунды? Естественно никак. Возьми с Pimp My Peon как пример:

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12
Re: Время в Доте
« Ответ #5 : 07-07-2016, 04:45:24 »
qofma, а как он тебе без JS будет считать секунды? Естественно никак. Возьми с Pimp My Peon как пример:
Таймер с вызовом функции UpdateTime через 1 сек.
Код
$.Schedule( 1, UpdateTime );