Administrátor Ewwe 434 Odesláno: 18. Duben, 2017 Administrátor Share Odesláno: 18. Duben, 2017 Předem bych rád upozornil, že v repo může být i napřed před návody. Už jen z toho důvodu , že si hodlám kód připravovat a nepsat ho přímo při návodu. Pojďme si založit nový mód. Ve složce php si vytvoříme složku s libovolným názvem. V mém případě se složka jmenuje samp-php-gamemode. Do ní vytvoříme soubor gamemode.php Do souboru gamemode.php si připravíme dva eventy prvním bude nastartování módu a druhým připojení hráče. <?php include "core/bootstrap.php"; Event::on('GameModeInit', function() { }); Event::on('PlayerConnect', function($player){ }); A začneme tím , že přivítáme hráče na našem serveru... Použijeme k tomu známou funkci SendClientMessage byť krapet pozměněnou po stránce argumentů. SendClientMessage( 0xFF00FF00 , "Hráč ".$player->getName()." se připojil na náš PHP server :)"); Asi se možná ptáte ale kde je id kterému se má message poslat ? Event si ho sám určí Respektive si ho najde z instance $player. Dále si můžeme nastavit nějaké ty informace o serveru.. Například GameModeText a PED animace Event::on('GameModeInit', function() { Server::setGameModeText( "Ewolutions PHP Gamemode" ); Server::usePlayerPedAnims(); }); Jména funkcí jsou nebo mohou být krapet odlišná. Ale veškeré funkce najdete ve složce php/core. Tímto dílem bych ve Vás chtěl probudit trošku zvědavosti a navnadit Vás co všechno by mohlo být možné V příštím už se vrhneme na něco komplexnějšího... Třeba registraci 1 Link to comment Share on other sites More sharing options...
Quiter 99 Odesláno: 18. Duben, 2017 Share Odesláno: 18. Duben, 2017 počkaj, ak správne chápem, tak ten GM čo si vytvoril v predchádzajúcom návode volá celú zložku PHP (všetky *.php čo sú v zložke PHP?? A druhá vec, je nutná nejaká kompilácia? nakoľko ak sa všetky príkazy "pridávajú" až po spustení kódu tak asi nie Ako presne to funguje? Ďalej, nejaký zoznam funkcií (resp. PUBLICov) pretože pozerám že sú mierne pozmenené oproti klasickému pawnu. A čo ma najviac zaujíma - ako určím iného hráča? Napr. chcem poslať správu že Hráč xxx zabil hráča yyy? Áno, vyzerá to zaujímavo Link to comment Share on other sites More sharing options...
Administrátor Ewwe 434 Odesláno: 18. Duben, 2017 Author Administrátor Share Odesláno: 18. Duben, 2017 1. v configu je samphpmode myslel jsem , že jsem to napsal ale zpětně zjištuji , že ne. Tzn , že při spuštění serveru se našte gamemode.php v této složce. Nic se nekompiluje.. resp ty nic nekompiluješ. V návodu je věta Jména funkcí jsou nebo mohou být krapet odlišná. Ale veškeré funkce najdete ve složce php/core. Jiného hráče určíš třeba tím , že ho máš nadefinovaného jako jinou instance v enventu. Ex Event::on('PlayerDeath', function($player, $killer, $reason) { SendClientMessage( 0xFF00FF00 , "Hráč ".$player->getName()." zabil hráče ".$killer->getName().":)"); }); Link to comment Share on other sites More sharing options...
Quiter 99 Odesláno: 18. Duben, 2017 Share Odesláno: 18. Duben, 2017 a keď chcem dajme tomu cyklus na všetkých hráčov? tak klasický for? Link to comment Share on other sites More sharing options...
Administrátor Ewwe 434 Odesláno: 18. Duben, 2017 Author Administrátor Share Odesláno: 18. Duben, 2017 a keď chcem dajme tomu cyklus na všetkých hráčov? tak klasický for? v dalším návodu bude... ale když už se ptáš foreach( Player:all() as $player ) { $player->isAdmin = true; } Link to comment Share on other sites More sharing options...
DNLS 31 Odesláno: 18. Duben, 2017 Share Odesláno: 18. Duben, 2017 Můžu se zeptat k čemu to vlastně využiju, nebo na co mi je to dobrý? Link to comment Share on other sites More sharing options...
Popular Post Lukasz 336 Odesláno: 18. Duben, 2017 Popular Post Share Odesláno: 18. Duben, 2017 Můžu se zeptat k čemu to vlastně využiju, nebo na co mi je to dobrý? například k napsání nějakého módu pro SAMP 5 Link to comment Share on other sites More sharing options...
DNLS 31 Odesláno: 18. Duben, 2017 Share Odesláno: 18. Duben, 2017 například k napsání nějakého módu pro SAMP A v čem to má výhodu před samotným pawnem? Link to comment Share on other sites More sharing options...
Lukasz 336 Odesláno: 18. Duben, 2017 Share Odesláno: 18. Duben, 2017 (upraveno) Když ti nevyhovuje pawn, tak hledáš alternativu. Weby, aplikace apod. taky můžeš psát ve více jazycích a vybereš si ten, který ti vyhovuje. Jednou výhodou (jestli to je v tomto případě vůbec potřeba) je, že php je, oproti pawn, objektově orientovaný jazyk. Mezi další alternativy patří například c, c++, c#, java, javascript, lua atd. Edited 18. Duben, 2017 by Lukasz Link to comment Share on other sites More sharing options...
Administrátor Ewwe 434 Odesláno: 19. Duben, 2017 Author Administrátor Share Odesláno: 19. Duben, 2017 Jak říká Lukas.. PHP oproti pawn má výhodu , že je objektové. A ušetří ti to práci .. Vem si jen message o připjení //PAWN new string[128],n[21]; GetPlayerName(playerid,n,21); format(string,128,"HRac %s se pripojil",n); SendClientMessageToAll(-1,string ); //SAMPHP sendClientMessageToAll(-1,"Hráč ".$player->getName()." se připojil"); Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now