MoveObject

Iš GTA-Online Wikipedia.
Peršokti į: navigaciją, paiešką

MoveObject

Funkcijos pavadinimas MoveObject
Sintaksė
Reikalavimai nėra
Kategorija Objektų Funkcijos.png Objektų Funkcijos
Biblioteka a_objects.inc
Atsiradimas 0.2
Pakeitimai 0.3d RC3, 0.3d RC3-2, 0.3d RC4, 0.3d RC5-2

Aprašymas

Funkcija skirta judinti objektą, t.y. pakeisti jo poziciją sklandžiu judėjimu.

Sintaksė

(objectid, Float:X, Float:Y, Float:Z, Float:Speed, Float:RotX = -1000.0, Float:RotY = -1000.0, Float:RotZ = -1000.0)

Privalomi parametrai

Šis parametras yra privalomas.objectid Objekto ID, kuris judinamas.
Šis parametras yra privalomas.Float:X Naujos pozicijos X koordinatė.
Šis parametras yra privalomas.Float:Y Naujos pozicijos Y koordinatė.
Šis parametras yra privalomas.Float:Z Naujos pozicijos Z koordinatė.
Šis parametras yra privalomas.Float:Speed Objekto judėjimo greitis (vienetai per sekundę).

Neprivalomi parametrai

Šis parametras nėra privalomas.Float:RotXNauji objekto pasisukimo laipsniai X ašies atžvilgiu. Numatytoji reikšmė -1000.0.
Šis parametras nėra privalomas.Float:RotYNauji objekto pasisukimo laipsniai Y ašies atžvilgiu. Numatytoji reikšmė -1000.0.
Šis parametras nėra privalomas.Float:RotZNauji objekto pasisukimo laipsniai Z ašies atžvilgiu. Numatytoji reikšmė -1000.0.


Grąžinama reikšmė:
Laikas milisekundėmis, per kurį objekto pozicija pakis iki nurodytosios.

Pavyzdys

Elementarus objekto judinimas

Komanda skirta judinti objektą.

Blantas 17:02, 4 rugsėjo 2012 (EEST)

new objektas; // Kintamasis skirtas saugoti konkretaus objekto ID.
 
public OnGameModeInit()
{
        // Kintamasis „objektas“ įgauna sukurto objekto ID reikšmę.
        objektas = CreateObject(980, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); // Sukuriamas objektas...
                                                                    // Pozicijoje:         0.0 0.0 0.0
                                                                    // Pasisukimo laipsn.: 0.0 0.0 0.0
        return 1;
}
 
public OnPlayerCommandText(playerid, cmdtext[])
{
        if(strcmp(cmdtext, "/moveobject", true) == 0)
        {
                new string[50];
 
                new laikas = MoveObject(obj, 0, 0, 10, 2.00, 0, 0, 0); // Objektas priverčiamas judėti į poziciją: 0.0 0.0 10.0
                // Kadangi objekto pradiniai pasisukimo laipsniai sutampa su šioje...  
                // ... funkcijoje nurodytais - objektas judėdamas nesisukios.
 
                format(string, sizeof(string), "Objektas baigs judėti už %d ms.", laikas);
                SendClientMessage(playerid, 0xFF000000, string);
                return 1;
        }
        return 0;
}

Papildoma

  • Objekto judėjimo greitis - vienetai per sekundę. Nurodžius šią reikšmę, pavyzdžiui, lygią 10, objektas per vieną sekundę pajudės per 10 žaidimo atstumo vienetų (pavyzdžiui, nuo [0,0,0] iki [0,0,10]).
  • Objektą judinant į tą pačią poziciją, objektas nejudės, nors ir pasisukimo laipsniai bus skirtingi.

Istorija

Release
0.2 Pridėta galimybė judinti objektus.
Release Candidate
0.3d RC3 Patobulinta MoveObject funkcija. Nuo šiol bus įmanoma pasukti objektą.
0.3d RC3-2 Nuo šiol panaudojus MoveObject funkciją su objektų, kuri judėjo iki funkcijos panaudojimo, ankstesnioji objekto judėjimo trajektorija bus sustabdyta bei pratęsta naująją.
0.3d RC4 MoveObject funkcija nuo šiol nekontroliuos objekto sukimosi, jei parametrai nustatantys objekto sukimosi koordinates nebus panaudoti. Taip pat ši funkcija neįtakos SetObjectRot funkcijos.
0.3d RC5-2 Tam tikri pataisimai su objektų pozicijų keitimu. Nuo šiol panaudojus MoveObject funkciją su objektu, kuris jau jau juda, objektas akimirksniu bus nukeliamas į prieš tai nustatytą MoveObject funkcijos galutinę padėtį bei po to bus pradėta judinamo objekto sekantis pozicijos keitimas. Norint, jau judinamą objektą pajudinti iš jo realios pozicijos, prieš antrąjį judinimą būtina panaudoti StopObject funkciją. Tuomet objektas bus judinamas iš paskutinės realios pozicijos, t.y. ne iš galutinės, kuri buvo nustatyta panaudojant MoveObject funkciją pirmąjį kartą.

Rekomenduojama

Siūlome patikrinti žemiau išvardintas funkcijas, kurios susijusios su MoveObject veikimu.

Globalūs objektai
  • CancelEdit: Nutraukti objekto redagavimo rėžimą.
  • EditObject: Leisti žaidėjui redaguoti globalų objektą.
  • GetObjectPos: Išgauti globalaus objekto pozicijos koordinates.
  • GetObjectRot: Išgauti globalaus objekto pasisukimo laipsnius.
  • MoveObject: Judinti globalų objektą į naują poziciją.
  • SetObjectRot: Nustatyti globalaus objekto pasisukimo laipsnius.
  • StopObject: Sustabdyti judantį globalų objektą.
Žaidėjų objektai

Serverio iškviečiamos funkcijos
  • OnObjectMoved: Iškviečiama globaliam objektui baigus judėti.
Asmeniniai įrankiai
San Andreas Multiplayer