Balkan SA:MP

San Andreas Multiplayer - www.sa-mp.com => Tutorijali u vezi SA-MPa => Temu započeo: Joldx poslato Februar 26, 2025, 00:06:03 PRE PODNE

Naslov: [PAWN] - Teleportacija vozila
Poruka od: Joldx poslato Februar 26, 2025, 00:06:03 PRE PODNE
Jednostavna SA-MP komanda za teleportovanje vozila do sebe! [ADMIN]

Potrebni include:
#include <a_samp>
#include <sscanf2>
#include <zcmd>

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!
Naslov: Odg: [PAWN] - Teleportacija vozila
Poruka od: Đ J Ø ₥ Ⱡ ₳ poslato Februar 26, 2025, 05:43:08 PRE PODNE
lepo  ;)
Naslov: Odg: [PAWN] - Teleportacija vozila
Poruka od: iv0dev poslato Februar 26, 2025, 10:31:12 PRE PODNE
Cool
Naslov: Odg: [PAWN] - Teleportacija vozila
Poruka od: Dragi poslato Februar 26, 2025, 12:02:02 POSLE PODNE
(https://image.spreadshirtmedia.net/image-server/v1/products/T1459A839PA4459PT28D188778079W6350H6350/views/1,width=800,height=800,appearanceId=839,backgroundColor=F2F2F2/cool-sticker.jpg)

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.  8)
Naslov: Odg: [PAWN] - Teleportacija vozila
Poruka od: Dragi poslato Februar 26, 2025, 12:28:54 POSLE PODNE
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
}
Naslov: Odg: [PAWN] - Teleportacija vozila
Poruka od: markosimic poslato Februar 26, 2025, 13:02:19 POSLE PODNE
Kao sto je rekao @Dragi sve ovo moze i bez boja, bez funkcije, timera...

Lepo
Naslov: Odg: [PAWN] - Teleportacija vozila
Poruka od: Dragi poslato Februar 26, 2025, 13:10:32 POSLE PODNE
@markosimic Pa da, samo da ne pomisli da ga mrzimo. ;D Pokusavam samo dati neke konstruktivne replike. Lepo je sto je podelio i potrudio se da napise tutorial kako je znao vec.
Naslov: Odg: [PAWN] - Teleportacija vozila
Poruka od: Joldx poslato Februar 26, 2025, 15:00:46 POSLE PODNE
Citat: Dragi poslato Februar 26, 2025, 12:28:54 POSLE PODNEJos 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.
Naslov: Odg: [PAWN] - Teleportacija vozila
Poruka od: Joldx poslato Februar 26, 2025, 15:05:02 POSLE PODNE
Citat: markosimic poslato Februar 26, 2025, 13:02:19 POSLE PODNEKao 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.
Naslov: Odg: [PAWN] - Teleportacija vozila
Poruka od: markosimic poslato Februar 26, 2025, 16:31:32 POSLE PODNE
Citat: Joldx poslato Februar 26, 2025, 15:05:02 POSLE PODNEZnaš 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.
Naslov: Odg: [PAWN] - Teleportacija vozila
Poruka od: Joldx poslato Februar 26, 2025, 16:42:31 POSLE PODNE
Citat: markosimic poslato Februar 26, 2025, 16:31:32 POSLE PODNENisam 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.
Naslov: Odg: [PAWN] - Teleportacija vozila
Poruka od: Dragi poslato Februar 26, 2025, 17:19:41 POSLE PODNE
Citat: Joldx poslato Februar 26, 2025, 15:00:46 POSLE PODNEHvala 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.

Citat: markosimic poslato Februar 26, 2025, 16:31:32 POSLE PODNENisam 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. 
:o
Naslov: Odg: [PAWN] - Teleportacija vozila
Poruka od: Joldx poslato Februar 26, 2025, 18:16:58 POSLE PODNE
Citat: Dragi poslato Februar 26, 2025, 17:19:41 POSLE PODNENisam 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.
:o
Evo, uklonio sam. Sretan sad? I dalje nešto? Ako imaš još primjedbi, slobodno reci.
Naslov: Odg: [PAWN] - Teleportacija vozila
Poruka od: roman42O poslato Februar 26, 2025, 19:58:24 POSLE PODNE
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.
Naslov: Odg: [PAWN] - Teleportacija vozila
Poruka od: Dragi poslato Februar 26, 2025, 20:02:31 POSLE PODNE
Citat: roman42O poslato Februar 26, 2025, 19:58:24 POSLE PODNEGde 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. 🚀
Naslov: Odg: [PAWN] - Teleportacija vozila
Poruka od: roman42O poslato Februar 26, 2025, 22:53:57 POSLE PODNE
Citat: Dragi poslato Februar 26, 2025, 20:02:31 POSLE PODNE🚀 Vec ulazimo u raketnu nauku. 🚀

Nauka

Ovaj Tajmer mi isto nema smisla ako vec radis "SIMPLE".

Ako si vec koristio tajmer iskoristi ga sa nekom idejom.

Naprimer evo ti jedan kao zoves Valet i valet ti donosi vozilo. itd itd....
Naslov: Odg: [PAWN] - Teleportacija vozila
Poruka od: Dragi poslato Februar 26, 2025, 23:06:13 POSLE PODNE
Citat: roman42O poslato Februar 26, 2025, 22:53:57 POSLE PODNENauka

Ovaj Tajmer mi isto nema smisla ako vec radis "SIMPLE".

Ako si vec koristio tajmer iskoristi ga sa nekom idejom.

Naprimer evo ti jedan kao zoves Valet i valet ti donosi vozilo. itd itd....

Slazem se, gospodine, Romane. Rekoh, hajde da ja ne kudim sve, pomislice ljudi da sam picajzla. Sve je tako...
Naslov: Odg: [PAWN] - Teleportacija vozila
Poruka od: markosimic poslato Februar 27, 2025, 13:54:27 POSLE PODNE
Ako vec tako gledamo onda moze ovo i bez zcmd i sscanf i boja, ako vec hocete simple simple ono do koske.

Simple jeste, ovaj sistem moze biti komplikovan mnogo tako da ovo i jeste simple cak i originalno napisano kako jeste.