[PAWN] - Teleportacija vozila

Započeo Joldx
25. Feb. 2025.
2,368
pregleda
18
postova
Joldx
2
Street Runner
25. Feb. 2025.
Jednostavna SA-MP komanda za teleportovanje vozila do sebe!

Potrebni include:
#include 
#include
#include


Potrebne boje:
#define COLOR_RED  0xAA3333AA


Komanda za teleportaciju:
CMD:tpveh(playerid, params[]) {
    if(!IsPlayerAdmin(playerid)) // Provjera da li je RCON admin
        return SendClientMessage(playerid, COLOR_RED, "Nemate dozvolu za ovu komandu!");

    new vehicleid;
    if(sscanf(params, "d", vehicleid))
        return SendClientMessage(playerid, COLOR_RED, "KORISTI: /tpveh [ID vozila]");

    if(vehicleid < 1 || vehicleid > 1999 || GetVehicleModel(vehicleid) == 0) // Provjera da li vozilo postoji
        return SendClientMessage(playerid, COLOR_RED, "To vozilo ne postoji!");

    // Ako je sve ispravno, prikaži poruku i pokreni teleportaciju
    GameTextForPlayer(playerid, "~b~~h~Vozilo stiže...", 3000, 3);

    SetTimerEx("TeleportVehicle", 3000, false, "ii", vehicleid, playerid);
    return 1;
}


Potrebne fukcije
forward TeleportVehicle(vehicleid, playerid);
public TeleportVehicle(vehicleid, playerid) {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    SetVehiclePos(vehicleid, x + 2.0, y, z);
    return 1;
}


Nadam se da vam se komanda sviđa i da će vam biti korisna. Dodano je da samo RCON administratori mogu koristiti teleportaciju. Slobodno ga dodajte u svoju skriptu i testirajte, već je provjeren u radu. Ja sam ovo samo napravio i testirao, nisam nešto specijalno uređivao. Sretno kod korištenja!
Mladjo558
4
Shot Caller
26. Feb. 2025.
lepo  😉
ivanboskic1
9
Underboss
🔥63
26. Feb. 2025.
Cool

Ja sam Ivo Dev, bager koji razgrće sve oko skripti – poznat i kao Zbager

Gagule
4
Made Man
26. Feb. 2025.


Ja kako bih uradio, na tako jednostavnu CMD ne bih komplikovao i dodavao timere i dodatnu funkciju s dve naredbe... Sve bih ja to spakovao u jednu CMD. Opet, svkao radi kako zna i ume. Na kraju, bitno da radi, jelte.  😎
Gagule
4
Made Man
26. Feb. 2025.
Jos jedna ispravka, jeste ta da ako se pravi tutorial, potrebno je objasniti svaku liniju koda.
Gde koristis COLOR_BLUE?

Tvoj tutorial bi ovako trebalo da izgleda:

CMD:tpveh(playerid, params[]) { // Definicija komande tpveh
    if(!IsPlayerAdmin(playerid)) // Provjera da li je RCON admin
        return SendClientMessage(playerid, COLOR_RED, "Nemate dozvolu za ovu komandu!");

    new vehicleid; // Deklaracija varijable za ID vozila
    if(sscanf(params, "d", vehicleid)) // Provera da li su parametri ispravno uneseni
        return SendClientMessage(playerid, COLOR_RED, "KORISTI: /tpveh [ID vozila]");

    if(vehicleid < 1 || vehicleid > 1999 || GetVehicleModel(vehicleid) == 0) // Provera da li vozilo postoji
        return SendClientMessage(playerid, COLOR_RED, "To vozilo ne postoji!");

    // Ako je sve ispravno, prikazi poruku i pokreni teleportaciju
    GameTextForPlayer(playerid, "~b~~h~Vozilo stiže...", 3000, 3);

    SetTimerEx("TeleportVehicle", 3000, false, "ii", vehicleid, playerid); // Postavljanje tajmera za teleportaciju
    return 1; // Izadji ovde
}

forward TeleportVehicle(vehicleid, playerid); // Deklaracija funkcije za teleportaciju vozila
public TeleportVehicle(vehicleid, playerid) {
    new Float:x, Float:y, Float:z; // Deklaracija varijabli za poziciju igraca
    GetPlayerPos(playerid, x, y, z); // Dobijanje trenutne pozicije igraca
    SetVehiclePos(vehicleid, x + 2.0, y, z); // Postavljanje pozicije vozila blizu igraca
    return 1; // Izadji ovde
}


Evo i od mene free tut samo kontra:

CMD:gotoveh(playerid, params[]) // Definicija komande gotoveh by Dragi (Dragan Avdic)
{
if(!IsPlayerAdmin(playerid)) // Provera da li je igrac admin
            return SendClientMessage(playerid, COLOR_RED, "Nemate dozvolu za ovu komandu!"); // Slanje poruke o nedostatku dozvole

new carid; // Deklaracija varijable za ID vozila
if(sscanf(params, "d", carid)) // Provera da li su parametri ispravno uneseni
            return SendClientMessage(playerid, COLOR_RED, "KORISTI: /gotoveh [ID vozila]"); // Slanje poruke o pravilnoj upotrebi komande

new Float:x,Float:y,Float:z; // Deklaracija varijabli za koordinate vozila
GetVehiclePos(carid, x, y, z); // Dobijanje pozicije vozila na osnovu ID-a

if (GetPlayerState(playerid) == 2) { // Provera da li je igrac u vozilu
    new tmpcar = GetPlayerVehicleID(playerid); // Dobijanje ID-a vozila u kojem se igrac nalazi
    SetVehiclePos(tmpcar, x, y, z); // Postavljanje pozicije vozila na nove koordinate
}
else SetPlayerPos(playerid, x, y, z); // Ako igrac nije u vozilu, postavi njegovu poziciju

SendClientMessage(playerid, COLOR_BLUE, "Teleportovani ste!"); // Slanje poruke o teleportaciji

return 1; // Izadji ovdeNa
}
neshallon
5
Kingpin
26. Feb. 2025.
Kao sto je rekao @Dragi sve ovo moze i bez boja, bez funkcije, timera...

Lepo
Gagule
4
Made Man
26. Feb. 2025.
@markosimic Pa da, samo da ne pomisli da ga mrzimo. 😁 Pokusavam samo dati neke konstruktivne replike. Lepo je sto je podelio i potrudio se da napise tutorial kako je znao vec.
Joldx
2
Street Runner
26. Feb. 2025.
Dragi wrote on February 26, 2025, 11:28 am:
Jos jedna ispravka, jeste ta da ako se pravi tutorial, potrebno je objasniti svaku liniju koda.
Gde koristis COLOR_BLUE?

Tvoj tutorial bi ovako trebalo da izgleda:

CMD:tpveh(playerid, params[]) { // Definicija komande tpveh
    if(!IsPlayerAdmin(playerid)) // Provjera da li je RCON admin
        return SendClientMessage(playerid, COLOR_RED, "Nemate dozvolu za ovu komandu!");

    new vehicleid; // Deklaracija varijable za ID vozila
    if(sscanf(params, "d", vehicleid)) // Provera da li su parametri ispravno uneseni
        return SendClientMessage(playerid, COLOR_RED, "KORISTI: /tpveh [ID vozila]");

    if(vehicleid < 1 || vehicleid > 1999 || GetVehicleModel(vehicleid) == 0) // Provera da li vozilo postoji
        return SendClientMessage(playerid, COLOR_RED, "To vozilo ne postoji!");

    // Ako je sve ispravno, prikazi poruku i pokreni teleportaciju
    GameTextForPlayer(playerid, "~b~~h~Vozilo stiže...", 3000, 3);

    SetTimerEx("TeleportVehicle", 3000, false, "ii", vehicleid, playerid); // Postavljanje tajmera za teleportaciju
    return 1; // Izadji ovde
}

forward TeleportVehicle(vehicleid, playerid); // Deklaracija funkcije za teleportaciju vozila
public TeleportVehicle(vehicleid, playerid) {
    new Float:x, Float:y, Float:z; // Deklaracija varijabli za poziciju igraca
    GetPlayerPos(playerid, x, y, z); // Dobijanje trenutne pozicije igraca
    SetVehiclePos(vehicleid, x + 2.0, y, z); // Postavljanje pozicije vozila blizu igraca
    return 1; // Izadji ovde
}


Evo i od mene free tut samo kontra:

CMD:gotoveh(playerid, params[]) // Definicija komande gotoveh by Dragi (Dragan Avdic)
{
    if(!IsPlayerAdmin(playerid)) // Provera da li je igrac admin
            return SendClientMessage(playerid, COLOR_RED, "Nemate dozvolu za ovu komandu!"); // Slanje poruke o nedostatku dozvole

    new carid; // Deklaracija varijable za ID vozila
    if(sscanf(params, "d", carid)) // Provera da li su parametri ispravno uneseni
            return SendClientMessage(playerid, COLOR_RED, "KORISTI: /gotoveh [ID vozila]"); // Slanje poruke o pravilnoj upotrebi komande

    new Float:x,Float:y,Float:z; // Deklaracija varijabli za koordinate vozila
    GetVehiclePos(carid, x, y, z); // Dobijanje pozicije vozila na osnovu ID-a

    if (GetPlayerState(playerid) == 2) { // Provera da li je igrac u vozilu
        new tmpcar = GetPlayerVehicleID(playerid); // Dobijanje ID-a vozila u kojem se igrac nalazi
        SetVehiclePos(tmpcar, x, y, z); // Postavljanje pozicije vozila na nove koordinate
    }
    else SetPlayerPos(playerid, x, y, z); // Ako igrac nije u vozilu, postavi njegovu poziciju

    SendClientMessage(playerid, COLOR_BLUE, "Teleportovani ste!"); // Slanje poruke o teleportaciji

    return 1; // Izadji ovdeNa
}

Hvala na ispravci! Za objašnjavanje svake linije nisam znao da treba, jer sam prvi put postavio i više sam gledao da li sve valja i to. Ali ubuduće ću sve detaljno objašnjavati.
Joldx
2
Street Runner
26. Feb. 2025.
markosimic wrote on February 26, 2025, 12:02 pm:
Kao sto je rekao @Dragi sve ovo moze i bez boja, bez funkcije, timera...

Lepo

Znaš kako, timer sam dodao čisto da prođe malo vremena prije nego što vozilo stigne, jer sam stavio tekst 'Vozilo stiže...', pa mi je imalo smisla da ne dođe odmah. Možda je tako ljepše – sad kako kome.
neshallon
5
Kingpin
26. Feb. 2025.
Joldx wrote on February 26, 2025, 2:05 pm:
Znaš kako, timer sam dodao čisto da prođe malo vremena prije nego što vozilo stigne, jer sam stavio tekst 'Vozilo stiže...', pa mi je imalo smisla da ne dođe odmah. Možda je tako ljepše – sad kako kome.


Nisam rekao nista. Dobro je sve. Kazem samo da je moglo biti jednostavnije, cak i bez funkcije sa timerom se to moglo uraditi. Funkcija nema poente osim ako nece raditi automatizaciju necega u buducnosti, ako me razumes.
Joldx
2
Street Runner
26. Feb. 2025.
markosimic wrote on February 26, 2025, 3:31 pm:
Nisam rekao nista. Dobro je sve. Kazem samo da je moglo biti jednostavnije, cak i bez funkcije sa timerom se to moglo uraditi. Funkcija nema poente osim ako nece raditi automatizaciju necega u buducnosti, ako me razumes.

Razumijem te.
Gagule
4
Made Man
26. Feb. 2025.
Joldx wrote on February 26, 2025, 2:00 pm:
Hvala na ispravci! Za objašnjavanje svake linije nisam znao da treba, jer sam prvi put postavio i više sam gledao da li sve valja i to. Ali ubuduće ću sve detaljno objašnjavati. Plavu boju sam dodao samo kod GameTextForPlayer [~b~]. Hvala još jednom na pomoći! 😄


Nisam te pitao za specijalni tag GameText color (~b~) nego za #define COLOR_BLUE 0x0000BBAA.

Nadam se da razumes razliku izmedju specijalnog taga i #define funkcije.

markosimic wrote on February 26, 2025, 3:31 pm:
Nisam rekao nista. Dobro je sve. Kazem samo da je moglo biti jednostavnije, cak i bez funkcije sa timerom se to moglo uraditi. Funkcija nema poente osim ako nece raditi automatizaciju necega u buducnosti, ako me razumes.


Tako je. Hajde to sve na stranu, mene najvise plasi ovo iznad sto napisah. 
😮
Joldx
2
Street Runner
26. Feb. 2025.
Dragi wrote on February 26, 2025, 4:19 pm:
Nisam te pitao za specijalni tag GameText color (~b~) nego za #define COLOR_BLUE 0x0000BBAA.

Nadam se da razumes razliku izmedju specijalnog taga i #define funkcije.

Tako je. Hajde to sve na stranu, mene najvise plasi ovo iznad sto napisah.
😮

Evo, uklonio sam. Sretan sad? I dalje nešto? Ako imaš još primjedbi, slobodno reci.
RomaNn
6
Made Man
🔥14
26. Feb. 2025.
Gde ti je provera da li je opste kreirano vozilo na serveru? Ja portam id 1345 i ne porta mi nista. Dodaj tu proveru isto.
Gagule
4
Made Man
26. Feb. 2025.
roman42O wrote on February 26, 2025, 6:58 pm:
Gde ti je provera da li je opste kreirano vozilo na serveru? Ja portam id 1345 i ne porta mi nista. Dodaj tu proveru isto.


🚀 Vec ulazimo u raketnu nauku. 🚀

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha