Ovako pošto sam primarno programer za web i mobilne aplikacije mogu ti pomoći i pojasniti.
Postoji puno naÄina na koji možeÅ¡ napraviti svoju web aplikaciju koja je povezana na istu bazu kao i SAMP mod.
Prvo pitanje je kako spremaÅ¡ podatke u gamemodeu? (MySQL, SQLlite, obiÄan ini file?)
Ukoliko je INI izvedivo je, međutim problem nastaje kada ti moraš uzeti podatke, a to izgleda ovako:
1. Spajanje na FTP od SAMP servera
2. Lociranje datoteke koju želiÅ¡ otvoriti (ini file od igraÄa npr.)
3. Otvaranje file-a
4. ÄŒitanje iz tog file-a
5. Zatvaranje tog file-a
NajviÅ¡e je problem na toÄkama koje su ti boldane. Problem iz razloga Å¡to ovo guta neÅ¡to memorije i dosta je sporo (golom oku nije, meÄ‘utim ukoliko će ti 100 ljudi kliknuti i to se mora dogoditi dolazi do problema)
Do problema do kojih može doći je da ti se jako uspori server, a na kraju i samog crasha. Sve ovisi koliko jaku mašinu imaš, ako je neki shared hosting moguće da te i suspendiraju ako ćeš gutati dosta memorije i proca.
ZnaÄi generalno ukoliko želiÅ¡ napraviti neÅ¡to kvalitetno, izbjegni ovaj naÄin.
Druga dva naÄina (MySQL, SQLlite) i opÄenito bilo koja SQL opcija je najbolja i jednostavnija, iako bi ipak dao prednost MySQLu od SQLlitea, jer je sqllite, a i joÅ¡ jednom jednostavnije je ukoliko nemaÅ¡ puno iskustva ili ga nemaÅ¡ uopće iz Äisto praktiÄnih razloga.
MoÄna solucija iako je tehniÄki najzahtjevnija i traži dobro programersko znanje i iskustvo je definitivno REST API.
Kocepiran je na ovaj naÄin:
1. ImaÅ¡ web aplikaciju koja nema nikakvo suÄelje (obiÄan backend) nego jednostavno rute na koje kada pristupiÅ¡ server radi upite, upise, brisanja, kreiranja i sl. u bazi to se toÄnije zove (CRUD)
2. Na SAMP strani (gamemodeu) napraviš novi include u kojem ćeš napraviti funkcije za pristupanje tim rutama, npr:
- ŽeliÅ¡ kreirati igraÄa (u bazi) imaÅ¡ funkciju "CreateNewUser(...)" i unutar nje se radi HTTP request sa odreÄ‘enim parametrima u nekom obliku (POST, GET, DELETE, PUT...) i pravi se zahtjev na backend i server odnosno web aplikacija ili-ti REST API radi u bazi Å¡to treba
3. Kada god želiš nešto implementirati, ajmo reći želiš napraviti nativnu mobilnu aplikaciju za mobitel preko koje ćeš imati iste opcije kao i na SAMPu, također se spajaš na taj ISTI REST API
4. Sada dolazi dio gdje radiÅ¡ WEB SA SUÄŒELJEM i takoÄ‘er na isti naÄin kao i na 2. i 3. toÄki dohvaÄaÅ¡ podatke ili manipuliraÅ¡ s njima i onda ih prikazujeÅ¡
Ugl. ovo je ozbiljno rjeÅ¡enje koje ti koriste ogromni sustavi (facebook, google...), ofc i manji igraÄi ali ugl. ozbiljni timovi i svakako nije da je to toliko neophodno u sampu jer iziskuje dosta vremena, a i treba paziti na skalabilnost i sl. tako da ukoliko tražiÅ¡ neÅ¡to jednostavno (Å¡to pretpostavljam), mysql, php, neki dizajn i to je to.
Å to se tiÄe samih tehnologija u kojem ćeÅ¡ raditi to, već smo naveli PHP ali htio bi ti i taj dio pojasniti.
PHP
C# (sa ili bez .NET platforme ali ASP)
NodeJS
Javascript (AngularJS npr. ali jedino ako koristiš REST API)
...
Ti se odluÄi u cemu ces raditi, ono Å¡to ima najviÅ¡e tutorijala za poÄetnike je PHP, odma kreni raditi na nekom framework-u ako želiÅ¡ nauÄiti pisati kvalitetan i Äitljiv kod savjetujem neki MVC framework ja osobno koristim Symfony2 i Laravel - ali ima i manjih i jednostavnijih npr. CodeIgniter, CakePHP... Sve ovisi o samom programerskom znanju i sl.
Ako ćeÅ¡ trebati neki savjet i sl. slobodno se javi, pod to ne mislim da ti ja pokažem kako gdje, tutorijala ima samo treba sjest i ugrijat stolicu, a kada doÄ‘eÅ¡ do nekog konkretnog problema (tehniÄke prirode) opet se slobodno javi ali normalno opiÅ¡i problem poÅ¡alji kodove koje imaÅ¡, slike i sl. i rado ću pomoći
Pozdrav i sretno