O kakvom savjetu se radi: Stock ili Public
Detaljan opis savjeta: Potreban mi je jedan savet u vezi ovoga, cuo sam da je Stock za neke stvari bolji od Publica, malo sam i prosao kroz google medjutim nisam nasao ono sto mene bas zanima za ovo a ono sto mene zanima jeste to da ja sada imam u glavi da ne pravim Publice za neke moje stvari vec da radim to sa Stock. E sada u velikoj sam dilemi dali u Stock mogu da idu bukvalno sve stvari... Recimo dali je on namenjen za nesto malo linija u njemu i ako sam procitao da dosta toga moze da se slobodno stavi u njega. Znaci sad dali ja da za sve sto pravim radim u Stocku ili samo nesto da ide u Stock a nesto u Public ?
Komentar: /
[Savet] Stock
415
pregleda
15
postova
OG Legend
Novi Član
246 / 250 XP
🌱Početnik(0)
2,678
Postovi:
133
Teme:
Pridružio se:Maj 2012
1. Jun 2014.
1. Jun 2014.
stock nije bolji od public-a i sl. - stock je prefix koji zaobilazi upozorenja kompajlera da se ta funkcija nigdje u kodu ne koristi (praktiÄki, stock prefix je u 90% sluÄajeva bespotreban, bolji je od public vrste funkcije jer u argumentima funkcije može imati default vrijednosti (poÄetnu vrijednost), i onda to može pomoći uvijek kada ne moraÅ¡ unositi odreÄ‘en argument/e u funkciju, ali to isto Äesto nije potrebno
public logika je naslijeÄ‘ena iz objektno orijentalnog programiranja i znaÄi da se metodi odnosno u pawnu, funkciji može pristupiti s bilo koje pozicije, a u pawnu bi to bilo iz bilo koje skripte, recimo kada radiÅ¡ include skriptu i sada želiÅ¡ da korisnici tvog include-a ima callback neki koji neÅ¡to radi, ta funkcija mora biti public vrste jer se iz skripte u kojoj će se koristiti mogućnosti tog include-a pristupa datoteku s kodom includea...
znaÄi, bolji naÄin ne postoji... sve koristiÅ¡ po potrebi, a ako naÄin ispuni tvoje potrebe onda je bolji od naÄina koji ne bi to ispunio,kada bi uzeli prosjek jedne procedure ili algoritma najÄešće bi ovakava izgled funkcije ispunio sve potrebe
funkcija()
{
}
jednostavno,bez prefiksa
public logika je naslijeÄ‘ena iz objektno orijentalnog programiranja i znaÄi da se metodi odnosno u pawnu, funkciji može pristupiti s bilo koje pozicije, a u pawnu bi to bilo iz bilo koje skripte, recimo kada radiÅ¡ include skriptu i sada želiÅ¡ da korisnici tvog include-a ima callback neki koji neÅ¡to radi, ta funkcija mora biti public vrste jer se iz skripte u kojoj će se koristiti mogućnosti tog include-a pristupa datoteku s kodom includea...
znaÄi, bolji naÄin ne postoji... sve koristiÅ¡ po potrebi, a ako naÄin ispuni tvoje potrebe onda je bolji od naÄina koji ne bi to ispunio,kada bi uzeli prosjek jedne procedure ili algoritma najÄešće bi ovakava izgled funkcije ispunio sve potrebe
funkcija()
{
}
jednostavno,bez prefiksa
1. Jun 2014.
Evo probacu i ja da objasnim.
Stock- On ti sluzi za opozivanje u nekom odrednjenom trenutku koji je propisan nekom komandom. Znaci on nije stalno aktivan vec se pokrece po potrebi i pod odredjenoj naredbi.
Primer:
Public-Public=Javnost. On je stalno aktivan, i ne zavisi od pokreranja igraca, znaci uvek radi i samo je pitanje kada ce ga igrac koristiti i "uci" u njega. Primer ti je pustanje muzike na loginu. Znaci cim si se logovao on ti pusta muziku, ali dokle to traje? Trajalo bi u nedogled da ga ti u nekoj situaciju (publicu) nisi ugasio. Stock-om ga ne bi mogao ugasiti jer on cega na opozivanje, ali public je javan i ne ceka da se opozove vec uvek radi, s toga ubacio bi gasenje muzike u OnPlayerSpawn.
Moras malo da se pustis u mastu i da kroz neke eksperimente uocis razliku. Ja sam ti ovako slikovito opisao, ali probaj sam i videces..
Stock- On ti sluzi za opozivanje u nekom odrednjenom trenutku koji je propisan nekom komandom. Znaci on nije stalno aktivan vec se pokrece po potrebi i pod odredjenoj naredbi.
Primer:
stock ObrisiChat(playerid)
{
for(new i=0;i<=10;i++)
{
SCM(playerid,-1,"");
}
return 1;
}
////////////////
CMD:cc(playerid, params[])
{
ObrisiChat(playerid);
return 1;
}
Public-Public=Javnost. On je stalno aktivan, i ne zavisi od pokreranja igraca, znaci uvek radi i samo je pitanje kada ce ga igrac koristiti i "uci" u njega. Primer ti je pustanje muzike na loginu. Znaci cim si se logovao on ti pusta muziku, ali dokle to traje? Trajalo bi u nedogled da ga ti u nekoj situaciju (publicu) nisi ugasio. Stock-om ga ne bi mogao ugasiti jer on cega na opozivanje, ali public je javan i ne ceka da se opozove vec uvek radi, s toga ubacio bi gasenje muzike u OnPlayerSpawn.
Moras malo da se pustis u mastu i da kroz neke eksperimente uocis razliku. Ja sam ti ovako slikovito opisao, ali probaj sam i videces..
OG Legend
Novi Član
246 / 250 XP
🌱Početnik(0)
2,678
Postovi:
133
Teme:
Pridružio se:Maj 2012
1. Jun 2014.
Ti si mi sad Denise jos i najbolje objasnio, nego sta sa tajmerom njega da koristim u publicu ili stocku ?
1. Jun 2014.
U publicu. Sad cu da ti objasnim. Kao sto sam i rekao stock ceka na opozivanje, i sada koja je sustina koristiti timer u stocku ObrisiChat(playerid) ako on nije opozvan. Nema logike. A kada bi recimo radio na primer neki sistem koju se pokrece nakon nekoliko sekundi posle komande, ti bi morao da ga uradis u publicu jer ce on pokrenuti niz radnji.
Da ti bude jasnije. Stock ti je kao precica i skracenica. Zasto bi svuda kucao SCM po 10 puta da bi obrisao chat, kada mozes da stavis u stck i da ga sano opozivas po potrebi. A Public je aktivan stalno, ali zavisi od uslova unutar njega sta ce on raditi.
Da ti bude jasnije. Stock ti je kao precica i skracenica. Zasto bi svuda kucao SCM po 10 puta da bi obrisao chat, kada mozes da stavis u stck i da ga sano opozivas po potrebi. A Public je aktivan stalno, ali zavisi od uslova unutar njega sta ce on raditi.
OG Legend
Novi Član
246 / 250 XP
🌱Početnik(0)
2,678
Postovi:
133
Teme:
Pridružio se:Maj 2012
1. Jun 2014.
Aha, sada su mi neke stvari dosta jasnije 😄 nego jos jedno pitanje sigurno znas sta rade publici poput SearchingHit, ExtortionBiz, SetPlayerCriminal.
Sad me zanima jel publice poput navedenih mogu da radim isto u stocku ili ovako nesto treba ipak da ostane kao public ?
Sad me zanima jel publice poput navedenih mogu da radim isto u stocku ili ovako nesto treba ipak da ostane kao public ?
1. Jun 2014.
â–… â–† â–ˆ Zyzz â–ˆ â–† â–… wrote on June 1, 2014, 8:58 pm:
Aha, sada su mi neke stvari dosta jasnije 😄 nego jos jedno pitanje sigurno znas sta rade publici poput SearchingHit, ExtortionBiz, SetPlayerCriminal.
Sad me zanima jel publice poput navedenih mogu da radim isto u stocku ili ovako nesto treba ipak da ostane kao public ?
Sad me zanima jel publice poput navedenih mogu da radim isto u stocku ili ovako nesto treba ipak da ostane kao public ?
Stock. U principu sve funkcije su ti stock ili još bolje da nemaju nikakav prefix osim kad koristiš timere ili tak još neke stvari koje zahtjevaju public funkciju.
1. Jun 2014.
Ajde da se nadovezem na ExtortionBiz. Predpostavljsm da se Biz dnosi na biznise. Ne, msm ne bi trebalo raditi ih u stocku jer se oni stalno updatuju tj. stalno stvaraju neke promene koje sa stockom nemas gde da smestis jer biznis u pawno ne znaci nista te on ne moze da podrzi update preko stock. Ne mogu ovako da ti objasnim, moras da cackas i ekperimentises. Jednostavno stock mora da ima pokretac, a public je sam pokretac..
OG Legend
Novi Član
246 / 250 XP
🌱Početnik(0)
2,678
Postovi:
133
Teme:
Pridružio se:Maj 2012
1. Jun 2014.
Malo me zbunjuje to "pokretac" za primer ExtortionBiz to mu je u koliko neki igrac ima reket na firmi pa da dobija odredjen novac od ulaza, i sada ovo se pokrece samo u koliko neki igrac udje u firmu jel to znaci da bi moglo da bude u stoku jer se pokrece samo kada neko ulazi u firmu ili da ipak ostane kao public, jeste da smaram ali jbg trudim se da skontam od prilike sve kako i sta da ne bi pravio neke greske bezveze.
1. Jun 2014.
Denis_Lapi wrote on June 1, 2014, 9:11 pm:
Ajde da se nadovezem na ExtortionBiz. Predpostavljsm da se Biz dnosi na biznise. Ne, msm ne bi trebalo raditi ih u stocku jer se oni stalno updatuju tj. stalno stvaraju neke promene koje sa stockom nemas gde da smestis jer biznis u pawno ne znaci nista te on ne moze da podrzi update preko stock. Ne mogu ovako da ti objasnim, moras da cackas i ekperimentises. Jednostavno stock mora da ima pokretac, a public je sam pokretac..
Ti si djelomiÄno u pravu. GovoriÅ¡ da bi se public funkcije trebale koristit samo kao trigger za neki odreÄ‘eni event Å¡ta je pogreÅ¡no. Public funkcije se koriste samo kod timera ili nekih posebnih sluÄaja u kojem sam PAWN zahtjeva da je funkcija public, u svim ostalim sluÄajevima se koristi stock ili normalna funkcija bez prefixa.
Uzmimo za primjer ExtortionBiz. Ta funkcija služi da kad igraÄ uÄ‘e u neku firmu da mu naplati ulaz. To znaÄi da bi se trebala pozvat kad igraÄ uÄ‘e u firmu, odnosno unutar OnPlayerKeyStateChange ili OnPlayerCommandText callbacka (ovisno kako je u modu napravljen ulaz u firme). A poziv funkcije izgleda jednostavno ovako (ne znam toÄno sve argumente, tako da je ovo samo za primjer):
// ostatak koda u callbacku je prije ovog
ExtortionBiz(playerid, bizID);
I tu nema apsolutno nikakve potrebe za public funkcijom.
1. Jun 2014.
A kom ces publicu posle pokrenuti stock kada ne postoji public koji prepoznaje biznis? Mozda mozes preko komande ako se ulazi u biznis preko nje, paa da ubacis stock, ali logicno je po mene raditi u public jer je on pokretac niza aktivnosti. Ne znam kako da ti objasnim, ziv razgovor bi bio mnogo laksi. U ovakvim sllucajevima crtanje mnogo pomaze. Eksperimentisi i videces..
OG Legend
Novi Član
246 / 250 XP
🌱Početnik(0)
2,678
Postovi:
133
Teme:
Pridružio se:Maj 2012
1. Jun 2014.
Nista ljudi hvala vam pomogli ste mi mnogo ostalo je na meni kao sto kazes da eksperimentisem 😄 moze LOCK
1. Jun 2014.
Denis_Lapi wrote on June 1, 2014, 9:31 pm:
A kom ces publicu posle pokrenuti stock kada ne postoji public koji prepoznaje biznis? Mozda mozes preko komande ako se ulazi u biznis preko nje, paa da ubacis stock, ali logicno je po mene raditi u public jer je on pokretac niza aktivnosti. Ne znam kako da ti objasnim, ziv razgovor bi bio mnogo laksi. U ovakvim sllucajevima crtanje mnogo pomaze. Eksperimentisi i videces..
Pa napraviÅ¡ funkciju preko koje dobijeÅ¡ ID najbliže igraÄeve firme (recimo: GetPlayerNearBiz) i taj ID poÅ¡aljeÅ¡ ExtortionBiz. Public funkcije nije dobro koristiti bilo Å¡ta osim za ono Å¡ta su predviÄ‘ene.
Vince lijepo objasnio: http://forum.sa-mp.com/showpost.php?p=3041201&postcount=3
Također možeš potražit neke Y_Lessove postove u kojim govori da je besmisleno koristiti public funkcije za ono za šta nisu predviđene.
1. Jun 2014.
Slazem se sa tobom Joey. Ovaj poslednji vitat koji si postavio se odnosi na Zyzz-a nego smo objavili post u isto vreme pa su nam se musljenja poklopila tj. moj upit njemu sa tvojom konstatacijom. Razumem sta hoces da kazes.
Lock na zahtev autora
Lock na zahtev autora
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava