Peršokti į turinį

[Pagalbos] Vartai su Space


Recommended Posts

Sveiki, gal galite papasakoti arba nukreipti į pamoką kintamųjų kūrimo? Arba duokit pavyzdį vartų su tam tikru mygtuku atidarymo ir uždarymo. Nes man nelabai gaunasi padaryt vartų atidarymą ir uždarymą su tuo pačiu mygtuku - jie tik atsidaro.

Nuoroda į komentarą
Dalintis per kitą puslapį

susikuri

new bool:vatidaryti=false;

tada prie savo mygtuko prirašai

if(vatidaryti){
vatidaryti = false; 
//vartu uždarymo skriptas
} 
else{
vatidaryti = true; 
//vartų atidarymo skriptas
}
Redaguota , nario Dr.Arnas
Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)

Dėkoju, tačiau kažką ne taip surašiau turbūt. Kai bandau daryt juos tai išvis nesidaro.

if ( newkeys == KEY_HANDBRAKE )
	{
		if(IsPlayerInRangeOfPoint(playerid, 15.0 , -2085.6760253906, 747.04498291016, 72.949996948242))
			if(IsPlayerInAnyVehicle(playerid))
			{
        if(Test){
  	Test = false;
	MoveObject(TestGates[1], -2085.6760253906, 747.04498291016, 64.949996948242, 2.0);
	}
	GameTextForPlayer(playerid, "~G~ Atidaromi vartai", 2000, 5);
	}
	else
	{
	 if(Test){
	Test = true;
	MoveObject(TestGates[1], -2085.6760253906, 747.04498291016, 72.949996948242, 2.0);
	GameTextForPlayer(playerid, "~G~ Uždaromi vartai", 2000, 5);
	}
	}
	return 1;
	}
Redaguota , nario Erass_Alcaline
Nuoroda į komentarą
Dalintis per kitą puslapį

if ( newkeys == KEY_HANDBRAKE )
{
  if(IsPlayerInRangeOfPoint(playerid, 15.0 , -2085.6760253906, 747.04498291016, 72.949996948242) && IsPlayerInAnyVehicle(playerid))
  {
      if(Test)
      {
        Test = false;
        MoveObject(TestGates[1], -2085.6760253906, 747.04498291016, 64.949996948242, 2.0);
        GameTextForPlayer(playerid, "~G~ Atidaromi vartai", 2000, 5);
      }
      else
      {
        Test = true;
        MoveObject(TestGates[1], -2085.6760253906, 747.04498291016, 72.949996948242, 2.0);
        GameTextForPlayer(playerid, "~G~ Uždaromi vartai", 2000, 5);
      }
  }
  return true;
}

toks jausmas, kad tu net nesuvoki ką darai, paprasčiausių sąlygų ir bracketų rašyt nemoki.

Redaguota , nario MartynasK
Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)
if ( newkeys == KEY_HANDBRAKE )
{
  if(IsPlayerInRangeOfPoint(playerid, 15.0 , -2085.6760253906, 747.04498291016, 72.949996948242) && IsPlayerInAnyVehicle(playerid))
  {
      if(Test)
      {
        Test = false;
        MoveObject(TestGates[1], -2085.6760253906, 747.04498291016, 64.949996948242, 2.0);
        GameTextForPlayer(playerid, "~G~ Atidaromi vartai", 2000, 5);
      }
      else
      {
        Test = true;
        MoveObject(TestGates[1], -2085.6760253906, 747.04498291016, 72.949996948242, 2.0);
        GameTextForPlayer(playerid, "~G~ Uždaromi vartai", 2000, 5);
      }
  }
  return true;
}

toks jausmas, kad tu net nesuvoki ką darai, paprasčiausių sąlygų ir bracketų rašyt nemoki.

 

Nesigaudau aš su nelygiuotu tekstu, todėl ir neradau klaidos. O dariau iš pavyzdžio, todėl ir rašiau dar kartą tą sąlygą.

Pastaba: 1. Kodėl grįžti prie true o ne false? 2. Jeigu dėčiau daugiau nei vieną vartų atidarymą, su tavo įdėtais return'ais kitos komandos tiesiog neveiktų.

Redaguota , nario Erass_Alcaline
Nuoroda į komentarą
Dalintis per kitą puslapį

Nesigaudau aš su nelygiuotu tekstu, todėl ir neradau klaidos. O dariau iš pavyzdžio, todėl ir rašiau dar kartą tą sąlygą.

Pastaba: 1. Kodėl grįžti prie true o ne false? 2. Jeigu dėčiau daugiau nei vieną vartų atidarymą, su tavo įdėtais return'ais kitos komandos tiesiog neveiktų.

prie kokio dar true? kokio dar false? jeigu tu kalbi apie kintamąjį 'Test', tai jis nustato jo reikšmę, jeigu true - atidarys vartus, jeigu false - uždarys.

kažką tu čia labai giliai knisi, net nesuprantu ką tu bandai jam išaiškinti, jeigu žmogus tau viską gerai pateikė. tai susikuri naują kintamąjį ir jam priskirinėji kitų vartų reiškmes ir darai vėl tą patį. *Myliu SuperGames.lt*, jis tau padarė, davė pavyzdį, o tu toks jausmas, jog dar bandai išpizdavoti jį. 

Nuoroda į komentarą
Dalintis per kitą puslapį

Nesigaudau aš su nelygiuotu tekstu, todėl ir neradau klaidos. O dariau iš pavyzdžio, todėl ir rašiau dar kartą tą sąlygą.

Pastaba: 1. Kodėl grįžti prie true o ne false? 2. Jeigu dėčiau daugiau nei vieną vartų atidarymą, su tavo įdėtais return'ais kitos komandos tiesiog neveiktų.

Kad tu išvis nesigaudai. Pasidomėk apie boolean tipo kintamuosius, if/else sąlygas pirma. Įdėjau tik vieną returną, kuo jis tau trukdo nesuprantu? Kitų vartų kodus dedi virš to supisto vienintelio "return true;" ir viskas veiks.

Redaguota , nario MartynasK
Nuoroda į komentarą
Dalintis per kitą puslapį

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti Å¡ioje temoje...

×   Ä®klijuotas tekstas turi teksto formatavimą.   PaÅ¡alinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiÅ¡kai įterpta.   Ä®terpti nuorodą paprastai

×   JÅ«sų ankstesnis praneÅ¡imas buvo atkurtas.   IÅ¡valyti redaktorių

×   JÅ«s negalite įkelti nuotraukas tiesiogiai.Ä®kelkite arba įdėkite nuotraukas iÅ¡ URL.

  • Å iame puslapyje narÅ¡o:   0 nariai

    Nėra registruotų narių peržiūrinčių šį forumą.


×
×
  • Sukurti naują...