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
Provjeris da li je u odredjenom range-u kada pritisne Y?
SCM ::)
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]
Okeeej, da se ne zahvaljujem posebno hvala vam puno sto te mi pomogli :)