Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: ShomyTKD poslato Januar 22, 2018, 22:43:42 POSLE PODNE

Naslov: Kako podici barijeru?
Poruka od: ShomyTKD poslato Januar 22, 2018, 22:43:42 POSLE PODNE
Detaljan opis problema: Pozdrav svima. Napravio sam rampu i sad je pokusavam podici, ali mi nikako ne ide. Ne znam zasto, barijera je na istom mestu, jedino sto menjam je rotacija. Ako je rotX 270 znaci da je zatvorena. Ja je setujem na 0 i opet nece. Trazio sam po netu, ali svi pomeraju nekako po koordinatama, niko ne pomera po osi. Inace koristim Streamer plugin, poslednju verziju! Hvala unapred na pomoci :)
Dio skripte: https://pastebin.com/ZSmPviX2
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Naslov: Odg: Kako podici barijeru?
Poruka od: Stifler ツ poslato Januar 22, 2018, 22:54:35 POSLE PODNE
x ili y koordinatu stavis +90 ili -90,bar tako ja radim,sad provjeri kako tacno i kako ti odgovara
Naslov: Odg: Kako podici barijeru?
Poruka od: ShomyTKD poslato Januar 22, 2018, 23:05:07 POSLE PODNE
Nece.. MoveDynamicObject funkcija nece da ga pomeri ni po X,Y,Z osi, a kamoli da ga rotira.
Naslov: Odg: Kako podici barijeru?
Poruka od: Xladen poslato Januar 22, 2018, 23:08:07 POSLE PODNE
Moras napraviti timer to moras naci negde drugde ja ne znam za YCMD a ovo za return te zeza probaj ovako kod.

// INGAMEMODEINIT
CreateDynamicObject(2920, 2205.8999, -34.5, 26.12, 270, 0, 0);
// KOMANDA
YCMD:openbar(playerid, params[], help) {
   #pragma unused help
   //CreateDynamicObject(2920, 2205.8999, -34.5, 26.12, 270, 0, 0); // KOORDINATE ZATVORENE BARIJERE
   //CreateDynamicObject(2920, 2205.8999, -34.5, 26.12, 0, 0, 0); // KOORDINATE OTVORENE BARIJERE
   if(!IsPlayerInRangeOfPoint(playerid, 5, 2205.8999, -34.4, 25.4))
        {
                  MoveDynamicObject(2920, 2205.8999, -34.5, 26.12, 4, 0, 0, 0);
        }
        else return SendClientMessage(playerid, COLOR_RED, "Niste pored kapije!");
   return 1;
}
Naslov: Odg: Kako podici barijeru?
Poruka od: Stifler ツ poslato Januar 22, 2018, 23:09:46 POSLE PODNE
cek jel tebi treba da se podigne rampa?
Naslov: Odg: Kako podici barijeru?
Poruka od: ShomyTKD poslato Januar 22, 2018, 23:14:22 POSLE PODNE
Citat: Xladen poslato Januar 22, 2018, 23:08:07 POSLE PODNE
Moras napraviti timer to moras naci negde drugde ja ne znam za YCMD a ovo za return te zeza probaj ovako kod.

// INGAMEMODEINIT
CreateDynamicObject(2920, 2205.8999, -34.5, 26.12, 270, 0, 0);
// KOMANDA
YCMD:openbar(playerid, params[], help) {
   #pragma unused help
   //CreateDynamicObject(2920, 2205.8999, -34.5, 26.12, 270, 0, 0); // KOORDINATE ZATVORENE BARIJERE
   //CreateDynamicObject(2920, 2205.8999, -34.5, 26.12, 0, 0, 0); // KOORDINATE OTVORENE BARIJERE
   if(!IsPlayerInRangeOfPoint(playerid, 5, 2205.8999, -34.4, 25.4))
        {
                  MoveDynamicObject(2920, 2205.8999, -34.5, 26.12, 4, 0, 0, 0);
        }
        else return SendClientMessage(playerid, COLOR_RED, "Niste pored kapije!");
   return 1;
}

Nece ni ovo. Inace u if ne treba ! ispred :D

Citat: Stifler ãƒ,, poslato Januar 22, 2018, 23:09:46 POSLE PODNE
cek jel tebi treba da se podigne rampa?

Da. Spustio sam je tako sto mi je RotX na 270. Kada ga stavim na 0, ona je podignuta. Ali ne znam kako sa MoveDynamicObject da pomerim po rotaciji. Probao sam i nece..
Naslov: Odg: Kako podici barijeru?
Poruka od: Stifler ツ poslato Januar 22, 2018, 23:15:23 POSLE PODNE
pa kazem ti ne preko rotx,nego preko x samo kontas?
Naslov: Odg: Kako podici barijeru?
Poruka od: Xladen poslato Januar 22, 2018, 23:16:11 POSLE PODNE
Pa u tvom pastebin stoji ! u if.
Moras napraviti timer i napisi koji ti error izbacuje ako ne izbacuje ovako proveri u konzoli pise li sta.
Naslov: Odg: Kako podici barijeru?
Poruka od: ShomyTKD poslato Januar 22, 2018, 23:19:25 POSLE PODNE
Citat: Stifler ãƒ,, poslato Januar 22, 2018, 23:15:23 POSLE PODNE
pa kazem ti ne preko rotx,nego preko x samo kontas?

Probao sam. Kazem ti, promenim ovo: MoveDynamicObject(2920, 2205.8999, -34.5, 26.12, 4, 0, 0, 0); u MoveDynamicObject(2920, 2205.8999+90, -34.5, 26.12, 4, 0, 0, 0); ili izmenim koordinate, ono uopste ne pomeri barijeru, ni levo, ni desno, ni gore, ni dole..

Citat: Xladen poslato Januar 22, 2018, 23:16:11 POSLE PODNE
Pa u tvom pastebin stoji ! u if.
Moras napraviti timer i napisi koji ti error izbacuje ako ne izbacuje ovako proveri u konzoli pise li sta.
Timer je ako hocu da se automatski spusti.. Meni to ne treba.. A sto se tice errora, ne dobijam nistu u konzoli niti u igri. MoveDynamicObject funkcija prodje, ali nista se ne desi..
Naslov: Odg: Kako podici barijeru?
Poruka od: Stifler ツ poslato Januar 22, 2018, 23:21:00 POSLE PODNE
new orgkapija;


tamo gdje su ti mape stavis


orgkapija = CreateDynamicObject(............................


YCMD:otvori(playerid, params[], help)
{
if(IsPlayerInRangeOfPoint(................................
{
MoveDynamicObject(orgkapija,............... i na x dodaj 90
}
return1;
}


naravno uz ostale provjere za org i te kurceve
Naslov: Odg: Kako podici barijeru?
Poruka od: Stifler ツ poslato Januar 22, 2018, 23:23:11 POSLE PODNE
cek sad sam vidjeo tvoj kod



[pawn]YCMD:openbar(playerid, params[], help) {
    #pragma unused help
    //CreateDynamicObject(2920, 2205.8999, -34.5, 26.12, 270, 0, 0); // KOORDINATE ZATVORENE BARIJERE
    //CreateDynamicObject(2920, 2205.8999, -34.5, 26.12, 0, 0, 0); // KOORDINATE OTVORENE BARIJERE
    if(!IsPlayerInRangeOfPoint(playerid, 5, 2205.8999, -34.4, 25.4)) return SendClientMessage(playerid, COLOR_RED, "Niste pored kapije!");
   {
    MoveDynamicObject(2920, 2205.8999, -34.5, 26.12, 4, 0, 0, 0);
   }
    return 1;
}[/pawn]




i tako kopiraj komandu i dodaj na x 90 ako vec nisi,mzd i y nez tacno provjeri
Naslov: Odg: Kako podici barijeru?
Poruka od: ShomyTKD poslato Januar 22, 2018, 23:29:17 POSLE PODNE
Citat: Stifler ãƒ,, poslato Januar 22, 2018, 23:23:11 POSLE PODNE
cek sad sam vidjeo tvoj kod



[pawn]YCMD:openbar(playerid, params[], help) {
    #pragma unused help
    //CreateDynamicObject(2920, 2205.8999, -34.5, 26.12, 270, 0, 0); // KOORDINATE ZATVORENE BARIJERE
    //CreateDynamicObject(2920, 2205.8999, -34.5, 26.12, 0, 0, 0); // KOORDINATE OTVORENE BARIJERE
    if(!IsPlayerInRangeOfPoint(playerid, 5, 2205.8999, -34.4, 25.4)) return SendClientMessage(playerid, COLOR_RED, "Niste pored kapije!");
   {
    MoveDynamicObject(2920, 2205.8999, -34.5, 26.12, 4, 0, 0, 0);
   }
    return 1;
}[/pawn]




i tako kopiraj komandu i dodaj na x 90 ako vec nisi,mzd i y nez tacno provjeri

Nebitno, uspeo sam. Hvala u svakom slucaju.
Morao sam dodati sdramp = CreateDynamicObject(2920, 2205.8999, -34.5, 26.12, 270, 0, 0); i onda u MoveDynamicObject dodati to, plus iste koordinate samo sa drugom x rotacijom.

[pawn]YCMD:sdopen(playerid, params[], help) {
   #pragma unused help
   //CreateDynamicObject(2920, 2205.8999, -34.5, 26.12, 270, 0, 0); // gate closed
   //CreateDynamicObject(2920, 2205.8999, -34.5, 26.12, 0, 0, 0); // gate open
   if(!IsPlayerInRangeOfPoint(playerid, 5, 2205.8999, -34.4, 25.4)) return SendClientMessage(playerid, COLOR_RED, "Niste pored kapije!");
   MoveDynamicObject(sdramp, 2205.8999, -34.5, 26.12, 4, 0, 0, 0);
   return 1;
}[/pawn]