Would you like to react to this message? Create an account in a few clicks or log in to continue.
Добре дошли!
Регистрирайте се БЕЗПЛАТНО, ще ви отнеме само няколко секунди!

    [TUT] SA Real Time

    HristoBG
    HristoBG
    Администратор
    Администратор


    Брой мнения : 136
    Репутация : 0
    Дата на регистрация : 2009-08-24
    Местожителство : Hawaii

    GTA SA [TUT] SA Real Time

    Post by HristoBG Sat Dec 12, 2009 1:20 am

    Програми, които ще ни трябват:

    В този урок ще се научим как да направим така, че времето в играта да съвпада с времето на компютъра (реално време).

    1.Отворете Sanny Builder (ако е за първи път, въведете пътя до San Andreas папката и следвайте инструкциите)

    2.Намерете
    Code:
    004F: create_thread @MS_BIKE_MISSIONS
    2.1. И след него, на нов ред, добавете това:
    Code:
    004F: create_thread @RTMOD

    2.2. Намерете това:
    Code:
    //-------------Mission 0---------------
    2.3. И след него копирайте (CTRL+C) и поставете (CTRL+V) това:
    Code:
    :RTMOD
    03A4: name_thread 'RTMOD' // This is the name of the thread.
     
    :RTMOD_11
    0001: wait 0 ms // The code is in loop so you need a wait here to prevent a crash.
    00BF: 0@ = current_time_hours, 1@ = current_time_minutes // This stores the game's current time in hours as 0@ and in minutes as 1@.
    00C0: set_current_time_hours_to 0@ minutes_to 1@ // This forces the time to stay still.
    01B6: set_weather 0 // Because of the manipulation of time in loop, the weather would change constantly. This prevents the weather from doing that.
    00D6: if
    0019:  32@ > 59999 // Checks if 59999 milliseconds has passed (1 minute).
    004D: jump_if_false @RTMOD_11 // If not, loop back up. If yes, continue.
    0006: 32@ = 0 // Internal timer 32@ is reset so it can check if one minute has passed again later on.
    000A: 1@ += 1 // One game minute is added.
    00D6: if
    0019:  1@ > 59 // Checks if time in minutes passed 59 minutes.
    004D: jump_if_false @RTMOD_128 // If not, jump to next label. If yes, continue.
    0006: 1@ = 0 // Resets the minute.
    000A: 0@ += 1 // One game hour is added because 59 minutes has passed.
    00D6: if
    0019:  0@ > 23 // Checks if time in hours passed 23 hours.
    004D: jump_if_false @RTMOD_128 // If not, jump to next label. If yes, continue.
    0006: 0@ = 0 // Resets the hour.
     
    :RTMOD_128
    00C0: set_current_time_hours_to 0@ minutes_to 1@ // Game time is forced to set at those values.
    0002: jump @RTMOD_11 // Loops back up.

    Усмивка

      Current date/time is Fri Apr 19, 2024 8:13 pm