Pitanje oko komande

Započeo Alexaa, Jun 13, 2022, 14:43:07 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 7 gostiju pregledaju ovu temu.

Pitanje/savjet: Cao svima imam jedno pitanje, naime radi se o komandi koju sam prebacio da se kako da kazem aktivira pomocu slova Y eh sad ranije u komandi je bilo SCM ako igrac nije na odredjenom mestu da izbaci da niste u opštini na primer. I sad kad stalno stisnem y meni izadje taj SCM da nije u opstini. Jel bih ja trebao samo da sklonim taj SCM da mi ne izlazi kad pritisnem Y ili trebam nešto jos da dodam da se ne bi ne znam nesto pozivalo kad igrac svaki put pritisne Y ?
Opširnije: Vaš odgovor
Dodatno: Hvala unapred
Poslednja Izmena: Jun 13, 2022, 21:22:08 POSLE PODNE od Deleted User

Provjeris da li je u odredjenom range-u kada pritisne Y?

SCM  ::)
HTML / CSS / Javascript / Inspect : Entry Masterclass.
ReactJS / Tailwind CSS / PWA / Axios / SCSS / Redux, ViteJS : Entry Masterclass.
C / C++ / C# / C-objective - kroz Pawn Lang : Entry Masterclass
Grupisano Pravljenje Objekata : Filterscript.


Sta je to web development?
To je nesto ono kao, kako bih to rekao, izgubis volju za zivotom i zelis da se ubijes, ali to je okej.
Onda jednostavno shvatis da si bio glup i resis problem, das sam sebi lajk,
skuvas NES 3u1 i pripremis se za sledeci projekat.

Citat: neshallon poslato Jun 13, 2022, 14:56:47 POSLE PODNE
SCM  ::)

Ja se izvinjavam ali nisam hteo da pisem SendClientMessage nego sam skratio

Citat: Galardo poslato Jun 13, 2022, 14:46:34 POSLE PODNE
Provjeris da li je u odredjenom range-u kada pritisne Y?

Kako to mogu da uradim sad mi je ovako

   if(PRESSED(KEY_YES))
   {
   if(IsPlayerInRangeOfPoint(playerid, 1.0, 822.6559,2522.5452,1144.7540))
   {
      SPD(playerid, D_SALTER, DSL, ""SRWBOJA"Salter:", ""BELA"Otkaz\nIzvadi licnu\nNapusti organizaciju\nVRTC", "Odaberi", "Izlaz");
   }
      else Error(playerid, "Niste u opstini");
   return 1;
   }

Moje misljenje je da ti je nepotrebno to da nije u opstini, jer kad god stisne tu tipku izacice mu niste u opstini, ukoliko odradis jos nesto vezano za tu tipku. Primer
Napravis posao sa fukcijom nekom na Y, i kad igrac krene da radi posao, odradice mu tu funkciju i izbaciti da nije u opstini
[pawn]if(PRESSED(KEY_YES))
   {
   if(IsPlayerInRangeOfPoint(playerid, 1.0, 822.6559,2522.5452,1144.7540))
   {
      SPD(playerid, D_SALTER, DSL, ""SRWBOJA"Salter:", ""BELA"Otkaz\nIzvadi licnu\nNapusti organizaciju\nVRTC", "Odaberi", "Izlaz");
   }
   return 1;
   }[/pawn]

Citat: #Montana poslato Jun 13, 2022, 17:55:47 POSLE PODNE
Moje misljenje je da ti je nepotrebno to da nije u opstini, jer kad god stisne tu tipku izacice mu niste u opstini, ukoliko odradis jos nesto vezano za tu tipku. Primer
Napravis posao sa fukcijom nekom na Y, i kad igrac krene da radi posao, odradice mu tu funkciju i izbaciti da nije u opstini
[pawn]if(PRESSED(KEY_YES))
   {
   if(IsPlayerInRangeOfPoint(playerid, 1.0, 822.6559,2522.5452,1144.7540))
   {
      SPD(playerid, D_SALTER, DSL, ""SRWBOJA"Salter:", ""BELA"Otkaz\nIzvadi licnu\nNapusti organizaciju\nVRTC", "Odaberi", "Izlaz");
   }
   return 1;
   }[/pawn]

Okej to ali Galardo je napisao da proverim da li je u odredjenom range-u kada pritisne Y
Zanima me kako to da uradim

Citat: Alexaa poslato Jun 13, 2022, 19:29:49 POSLE PODNE
Okej to ali Galardo je napisao da proverim da li je u odredjenom range-u kada pritisne Y
Zanima me kako to da uradim
Dato ti je iznad, IsPlayerInRangeOfPoint, to 1.0 je u stvari range, nakon toga X, Y, Z coordinate za koje se proverava da li je blizu nih...
I umesto ShowPlayerDialog, teleportujes ga, ukoliko nije na koordinatama, nikom nista, nastavlja dalje callback posto mogu biti druge stvari...

Citat: Deleted User poslato Jun 13, 2022, 20:12:55 POSLE PODNE
Dato ti je iznad, IsPlayerInRangeOfPoint, to 1.0 je u stvari range, nakon toga X, Y, Z coordinate za koje se proverava da li je blizu nih...
I umesto ShowPlayerDialog, teleportujes ga, ukoliko nije na koordinatama, nikom nista, nastavlja dalje callback posto mogu biti druge stvari...

Izvini, mozda ce ispasti malo nezahvalno ali otprilike sam razumeo sta si mi napisao ali nisam bas skroz. Da li bi mozda mogao da izmenis kod koji je gore napisan da bih ja mogao da vidim kako to treba. Ako mozes to da uradis bilo bi super a ako ne nema veze hvala svejedno

Imas na google lepo objasnjeno kako se koristi cemu sluzi itd itd...

Citat: Alexaa poslato Jun 13, 2022, 20:24:32 POSLE PODNE
Izvini, mozda ce ispasti malo nezahvalno ali otprilike sam razumeo sta si mi napisao ali nisam bas skroz. Da li bi mozda mogao da izmenis kod koji je gore napisan da bih ja mogao da vidim kako to treba. Ako mozes to da uradis bilo bi super a ako ne nema veze hvala svejedno

Nisi ti nimalo nezahvalan. Kad se osoba ponasa normalno, prati pravila i pokusa da da sto vise informacija da bi mu se pomoglo nije ni meni problem i da pokusam da objasnim i da dam primer (a sudeci po postovima iznad nije ni drugima tesko kao ni meni)
Da ljudi prvo traze sami resenje, daju detalje kad pitaju i ponasaju se normalno ovaj forum bi napredovao jako brzo posto bi pojedini poceli i da uce ponesto.

Ja cu ti dati primer za jedan ulaz, sve je isto i za vise ulaza, i za izlaze, pitanje je samo kako ces odraditi (niz i loop kroz njega je uvek najpametnije ali dacu ti ovako najprostije)

[pawn]
if(PRESSED(KEY_YES))
   {
   if(IsPlayerInRangeOfPoint(playerid, 1.0, 822.6559,2522.5452,1144.7540))
   {
      SetPlayerPos(playerid,....);
      SetPlayerInterior(playerid,....);
      SetPlayerVirtualWorld(playerid,...);
      return 1;//Igrac je pritisnuo dugme za ulaz, i nasli smo ulaz, znaci da nema potrebe da se kod poziva dalje i trosi CPU/RAM. Prekini callback funkciju.
   }
   }
[/pawn]

to je najjednostavnije ili mozese ovako nesto uradit


[pawn]stock NapraviInt(ime[], Float:XUlaz, Float:YUlaz, Float:ZUlaz, Float:XIzlaz, Float:YIzlaz, Float:ZIzlaz, eIntID, IntIDx, vwID, vwIDx)
{
   intide++;
   strmid(IntInfo[intide][iIme], ime, 0, strlen(ime), 255);
   IntInfo[intide][iXUlaz] = XUlaz;
   IntInfo[intide][iYUlaz] = YUlaz;
   IntInfo[intide][iZUlaz] = ZUlaz;
   IntInfo[intide][iXIzlaz] = XIzlaz;
   IntInfo[intide][iYIzlaz] = YIzlaz;
   IntInfo[intide][iZIzlaz] = ZIzlaz;
   IntInfo[intide][iIntID] = eIntID;
   IntInfo[intide][iIntIDSpolja] = IntIDx;
   IntInfo[intide][iVwID] = vwID;
   IntInfo[intide][iVwIDVanjski] = vwIDx;

    new string[128];
    format(string, sizeof(string), ""ZELENA"[ %s ]\n"col_white"Za ulaz pritisnite 'F' ili 'ENTER'", ime);
    Create3DandP(string, XUlaz, YUlaz, ZUlaz, IntIDx, vwIDx, 19133, 20.0);
    format(string, sizeof(string), ""ZELENA"[ %s ]\n"col_white"Za izlaz pritisnite 'F' ili 'ENTER'", ime);
    Create3DandP(string, XIzlaz, YIzlaz, ZIzlaz, eIntID, vwID, 19133, 20.0);
   return 1;
}[/pawn]

pa poslje samo kreiras interijere [pawn]NapraviInt("Neki ulaz", 1479.4249,-1799.7944,13.2859, 1362.5164,-23.4366,1000.9189, 0, 0, 12, 0);[/pawn]

sto znaci ide prva 3 ulaz di ce igrac stisnut f / ili sta god oces stavit i spawna se na kordinate ostale tri pa ti dolazi interijerid, pa virtualworld koji ces bit ako ce bit i virtualidvanjski to je malo kompliciranije ali bolje da neradis za svaki ulaz/izlaz  [pawn]if(IsPlayerInRangeOfPoint[/pawn]
CitatNe idite uokolo tumačeći kako vam svijet duguje život. Svijet vam ne duguje ništa. On je bio prvi ovdje.

Okeeej, da se ne zahvaljujem posebno hvala vam puno sto te mi pomogli :)