Перейти к содержанию
Авторизация  
Na'Vi

Время в TexDraw

Рекомендуемые сообщения

Na'Vi

Помогите сделать вот такие часики
 

 3740f23169c1896b24c11118400a5540b031e226

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
hteppl
http://cr-mp.ru/forum/topic/8237-sozdanie-krasivykh-chasov-pri-pomoschi-tekstdrava/?hl=часы

 

 

Цвет изменишь сам.

TextDrawColor(Clock, 0x33AA33AA);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

В том уроке что-то не так, были жалобы. Можно использовать FS который идет из коробки с сервером - gl_realtime

Правда не помню, идет ли он с крмп сервером в комплекте. Помню, что с самп сервером - идет.

Изменено пользователем Веб

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vsergeenko

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Врятли, смахивает на gl_realtime

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

Я так понимаю у меня есть часы текстовые просто нужно тексдрав создать и поместить его и добавить функицю так ведь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

Вот взял паблик помогите перевести для CRMP

 

public Clock(playerid)
{
new string[256];
new hour, minute, second;
gettime(hour,minute,second);
if(hour < 10 && minute < 10)
  {
   format(string, sizeof(string), "0%d:0%d", hour, minute);
   }
   else if(hour < 10 && minute > 9)
   {
    format(string, sizeof(string), "0%d:%d", hour, minute);
   }
   else if(hour > 9 && minute < 10)
   {
    format(string, sizeof(string), "%d:0%d", hour, minute);
   }
   else
   {
   format(string, sizeof(string), "%d:%d", hour, minute);
}
TextDrawSetString(Text:Clock, string);
SetWorldTime(hour);
}

Вот такие ошибки лезут

(598) : warning 235: public function lacks forward declaration (symbol "Clock")
(619) : error 076: syntax error in the expression, or invalid function call
Изменено пользователем Na'Vi

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
hteppl


forward Clock();


public Clock(playerid)
{
new string[256];
new hour, minute, second;
gettime(hour,minute,second);
if(hour < 10 && minute < 10)
{
format(string, sizeof(string), "0%d:0%d", hour, minute);
}
else if(hour < 10 && minute > 9)
{
format(string, sizeof(string), "0%d:%d", hour, minute);
}
else if(hour > 9 && minute < 10)
{
format(string, sizeof(string), "%d:0%d", hour, minute);
}
else
{
format(string, sizeof(string), "%d:%d", hour, minute);
}
TextDrawSetString(Text:Clock, string);
SetWorldTime(hour);
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

Вот другие ошибки вылезли

(599) : error 025: function heading differs from prototype
(620) : error 076: syntax error in the expression, or invalid function call

Вот строки

599 - public Clock(playerid)

620 - TextDrawSetString(Text:Clock, string);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
hteppl

@Na'Vi,ты forward куда вставил? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

,Над пабликом 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
hteppl

@Na'Vi,

error 076: syntax error in the expression, or invalid function call 

У тебя нет TextDraw`а часов под названием " Clock ".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

Добавил TextDraw полезло кучас синтаксисов

(599) : error 025: function heading differs from prototype
(620) : error 076: syntax error in the expression, or invalid function call
(6581) : error 017: undefined symbol "playerid"
(6582) : error 076: syntax error in the expression, or invalid function call
(6583) : error 076: syntax error in the expression, or invalid function call
(6584) : error 076: syntax error in the expression, or invalid function call
(6586) : error 076: syntax error in the expression, or invalid function call
(6587) : error 076: syntax error in the expression, or invalid function call
(6588) : error 076: syntax error in the expression, or invalid function call
(6589) : error 076: syntax error in the expression, or invalid function call
(6590) : error 076: syntax error in the expression, or invalid function call

TextDraw

TextDrawShowForPlayer(playerid,Clock);
Clock = TextDrawCreate(547.000000,24.000000,"00:00");
TextDrawAlignment(Clock,0);
TextDrawBackgroundColor(Clock,0x000000ff); 
TextDrawFont(Clock,3);
TextDrawLetterSize(Clock,0.6,1.9);
TextDrawColor(Clock,0x474AF9FF);
TextDrawSetOutline(Clock,2);
TextDrawSetProportional(Clock,1);
TextDrawSetShadow(Clock,1);
SetTimer("Clock", 1000, 1);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

@Na'Vi, Можешь использовать как FS или вписать в мод:

//
// Keeps the in game time synced to the server's time and
// draws the current time on the player's hud using a textdraw/
// (1 minute = 1 minute real world time)
//
//  (c) 2009-2012 SA-MP Team

#include <a_samp>
#pragma tabsize 0

//--------------------------------------------------

new Text:txtTimeDisp;
new hour, minute;
new timestr[32];

forward UpdateTimeAndWeather();

//--------------------------------------------------

new fine_weather_ids[] = {1,2,3,4,5,6,7,12,13,14,15,17,18,24,25,26,27,28,29,30,40};
new foggy_weather_ids[] = {9,19,20,31,32};
new wet_weather_ids[] = {8};

stock UpdateWorldWeather()
{
    new next_weather_prob = random(100);
    if(next_weather_prob < 70)         SetWeather(fine_weather_ids[random(sizeof(fine_weather_ids))]);
    else if(next_weather_prob < 95) SetWeather(foggy_weather_ids[random(sizeof(foggy_weather_ids))]);
    else                            SetWeather(wet_weather_ids[random(sizeof(wet_weather_ids))]);
}

//--------------------------------------------------

//new last_weather_update=0;

public UpdateTimeAndWeather()
{
    // Update time
    gettime(hour, minute);
       format(timestr,32,"%02d:%02d",hour,minute);
       TextDrawSetString(txtTimeDisp,timestr);
       SetWorldTime(hour);
       
    new x=0;
    while(x!=MAX_PLAYERS) {
        if(IsPlayerConnected(x) && GetPlayerState(x) != PLAYER_STATE_NONE) {
            SetPlayerTime(x,hour,minute);
         }
         x++;
    }

    /* Update weather every hour
    if(last_weather_update == 0) {
        UpdateWorldWeather();
    }
    last_weather_update++;
    if(last_weather_update == 60) {
        last_weather_update = 0;
    }*/
}

//--------------------------------------------------

public OnGameModeInit()
{
    // Init our text display
    txtTimeDisp = TextDrawCreate(605.0,25.0,"00:00");
    TextDrawUseBox(txtTimeDisp, 0);
    TextDrawFont(txtTimeDisp, 3);
    TextDrawSetShadow(txtTimeDisp,0); // no shadow
    TextDrawSetOutline(txtTimeDisp,2); // thickness 1
    TextDrawBackgroundColor(txtTimeDisp,0x000000FF);
    TextDrawColor(txtTimeDisp,0xFFFFFFFF);
    TextDrawAlignment(txtTimeDisp,3);
    TextDrawLetterSize(txtTimeDisp,0.5,1.5);
    
    UpdateTimeAndWeather();
    SetTimer("UpdateTimeAndWeather",1000 * 60,1);

    return 1;
}

//--------------------------------------------------

public OnPlayerSpawn(playerid)
{
    TextDrawShowForPlayer(playerid,txtTimeDisp);
    
    gettime(hour, minute);
    SetPlayerTime(playerid,hour,minute);
    
    return 1;
}

//--------------------------------------------------

public OnPlayerDeath(playerid, killerid, reason)
{
    TextDrawHideForPlayer(playerid,txtTimeDisp);
     return 1;
}

//--------------------------------------------------

public OnPlayerConnect(playerid)
{
    gettime(hour, minute);
    SetPlayerTime(playerid,hour,minute);
    return 1;
}

//--------------------------------------------------

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.