Kapija

Započeo Robertoo_Salgadoo, Jun 16, 2017, 12:24:20 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim:Meine
Detaljan opis problema:Nije problem nego jel zna neko neki tut kako da napravim kapiju npr kada stanem ispred svirnem i ona se otvori ali da se polako otvara i onda po nekoliko sekundi da se zatvori
Dio skripte: \
Neke slike/video za lakse dobivanje pomoci(neobavezno):\

http://balkan-samp.com/forum/index.php?topic=105217.0


Samo umjesto komande napravi sebi da kad igrac stisne npr. H da mu se otvori kapija,ako ne znas pisi ovdje pa cemo ti pomoci

  http://imgur.com/a/M0Q8c izlazi mi ovo ali devinisao sam na pocetku ono new kapijatrb;

Nije to to,posalji mi skriptu ako zelis i ja cu ti srediti

Koji dek od skripte da ti posaljem

U callbacku OnPlayerKeyStateChange dodas uvijet ukoliko igrac pritisce slovo h, ukoliko je u vozilu i ukoliko je u blizini, to mozes napisati u svega 5 redova. Valjda znas koristiti MoveObject / MoveDynamicObject ( ako koristis streamer ). Tu bi bilo pozeljno napraviti timer koji ce moveati objekat nazad nakon izvjesnog vremena.


bilo je lijepo dok je trajalo.


if(newkeys & KEY_YES)
    {
         if(IsPlayerInRangeOfPoint(playerid, 3.0, 980, 1812.85522, -2071.76001, 13.75786))
	     {
	     MoveDynamicObject(kapijatrb,980, 1812.77161, -2062.55542, 13.74290, 2.00);
	     ZalediOdlediTimer[playerid] = SetTimer("Kapije", 7000, 0);
	     }
    }


Evo cmd i ono kad stisnes da se otvori 

forward kapijatrb();
public kapijatrb()
{
	 MoveDynamicObject(kapijatrb, 980, 1812.85522, -2071.76001, 13.75786, 2.0);
	 return 1;
}


Onda Forward

Citat: Robertoo_Salgadoo poslato Jun 17, 2017, 00:01:46 PRE PODNE
if(newkeys & KEY_YES)
    {
         if(IsPlayerInRangeOfPoint(playerid, 3.0, 980, 1812.85522, -2071.76001, 13.75786))
	     {
	     MoveDynamicObject(kapijatrb,980, 1812.77161, -2062.55542, 13.74290, 2.00);
	     ZalediOdlediTimer[playerid] = SetTimer("Kapije", 7000, 0);
	     }
    }


Evo cmd i ono kad stisnes da se otvori 

forward kapijatrb();
public kapijatrb()
{
	 MoveDynamicObject(kapijatrb, 980, 1812.85522, -2071.76001, 13.75786, 2.0);
	 return 1;
}


Onda Forward
sta je ovdje problem? zamjeni KEY_CTRL_BACK sa KEY_YES i ubaci provjeru ispred ovih bracketa:
if( IsPlayerInVehicle( playerid, GetPlayerVehicleID( playerid ) ) ) {


if(newkeys & KEY_YES) {
	if( IsPlayerInVehicle( playerid, GetPlayerVehicleID( playerid ) ) ) {
	    {
	         if(IsPlayerInRangeOfPoint(playerid, 3.0, 980, 1812.85522, -2071.76001, 13.75786))
		     {
		     MoveDynamicObject(kapijatrb,980, 1812.77161, -2062.55542, 13.74290, 2.00);
		     ZalediOdlediTimer[playerid] = SetTimer("Kapije", 7000, 0);
		     }
	    }
	}


bilo je lijepo dok je trajalo.


Sad nema erora ali ne radi
kada idem ig ne pomera se

Citat: Robertoo_Salgadoo poslato Jun 17, 2017, 00:40:52 PRE PODNE
Sad nema erora ali ne radi
kada idem ig ne pomera se
Vjerovatno su to koordinate kapije kada je zatvorena...


bilo je lijepo dok je trajalo.


Pokusaj ovako

if(newkeys & KEY_YES) {
	         if(IsPlayerInRangeOfPoint(playerid, 3.0, 1812.85522, -2071.76001, 13.75786))
		     {
		     MoveDynamicObject(kapijatrb,980, 1812.77161, -2062.55542, 13.74290, 2.00);
		     SetTimer("zatvaranjekapijetrb", 5000, 0); // 5000 - 5 sekundi - zatvaranje kapije
		     }
	}


forward zatvaranjekapijetrb();
public zatvaranjekapijetrb()
{
	 MoveDynamicObject(kapijatrb, 980, 1812.85522, -2071.76001, 13.75786, 2.0);
	 return 1;
}
Poslednja Izmena: Jun 17, 2017, 17:10:46 POSLE PODNE od Slade

MoveDynamicObject(promenljiva, idobjekta, X, Y,Z, BRZINA);

Takodje koristis proveru IsPlayerInRangeOfPoint i tajmer :)

A kako da namalim da se malo sporije otvara

ovako ovaj zadnji kod ovdje ovo 2.0
MoveDynamicObject(kapijatrb,980, 1812.77161, -2062.55542, 13.74290, //->to tu 2.00);


ako oces sporije stavis 1 ako oces jos sporije stavis 0.5 ja msm da more tak al ne vjerujem
-propo-