GTA 3, GTA Vice City, GTA SA, GTA IV, GTA V, mapy, skrypty, pluginy, wszystko o gta, multiplayery do GTA.
Autor : Maksiu ja
Poziom : Łatwy
Na sam początek dajemy dwa includki.
Kod:
#include <a_samp> //Nasz podstawowy include
#include <zcmd>//Include zCMD, do komend !
Następnie definiojemy kolory
Kod:
#define CZERWONY 0xFF0000AA //definicja koloru czerwonego
#define NIEBIESKI 0x0000FFAA //definicja koloru zielonego
#define CIEMNOSZARY 0xA9A9A9AA //definicja koloru ciemno-szarego
#define BEZOWY 0xFFFFADAA //definicja koloru beżowego
Aby nie pisać długich wyrazów (SendClientMessage..) to dajemy :
Kod:
#define SCM SendClientMessage
#define SCMTA SendClientMessageToAll
Następnie tworzymy public, który odpowiada za wejście na serwer, czyli :
Kod:
public OnPlayerConnect(playerid)
i w nim możemy dać
Kod:
SendClientMessage(playerid, czerwony, "Witamy na serwie :!"); //Jest to nasz text, który pojawi się graczowi przy połączeniu z serwerem !
Teraz dajemy public, który będzie odpowiadał, za to co będzie się działo przy odłączeniu gracza od serwera.
Kod:
public OnPlayerDisconnect(playerid, reason)
a w nim :
Kod:
new string[256];
switch(reason)
{
case 0: format(string, sizeof(string), "Gracz : %s rozłączył się. (połączenie zerwane)", PlayerName(playerid)); //Jeżeli gracz stracił połączenie z serwem
case 1: format(string, sizeof(string), "Gracz : %s rozłączył się. (wyszedł)", PlayerName(playerid));//Jeżeli gracz wyszedł
case 2: format(string, sizeof(string), "Gracz : %s rozłączył się. (kick/ban)", PlayerName(playerid)); //Jeżeli gracz dostał bana albo kicka
default: format(string, sizeof(string), "Gracz: %s rozłączył się. (nieznany powód)", PlayerName(playerid)); //Jeżeli gracz dostał CRASHA
}
SCMTA(CZERWONY, string);//same formaty nam nic nie dają , tym musimy wysłać wiadomość
Dzięki powyższemu kodowi, dowiemy się jakim sposobem gracz wyszedł z serwera
Następny public który utworzymy, będzie odpowiadał, co ma się dziać przy spawnie, czyli po kliknięciu SPAWN w wybierałce !
Kod:
public OnplayerSpawn(playerid)//Jest to nasz public
Żeby gracz miał jakąś broń, oraz kasę to :
Kod:
GivePlayerMoney(playerid, 5000); //Daje nam 5000 $
GivePlayerWeapon(playerid, 24, 250);//daje nam Desert Eagle + 250 ammo
Jeszcze najlepiej dać funkcję SetPlayerPos(playerid, X,Y,Z); aby gdzieś nas teleportowało
Teraz chyba robimy najważniejszy public, jakim jest OnGameModeInit, bez niego mapa będzie błędnie chodzić!
Kod:
public OnGameModeInit()
w nim powinniśmy umieścić 2 moim zdaniem podstawowe rzeczy (ustawić nazwę GameModa + zrobić aby skin normalnie biegał ) )
Kod:
SetGameModeText("NazwaGamemoda"); //Ustawiamy nazwę GameModa
UsePlayerPedAnims();//Ustawia nam normalne bieganie
Teraz musi zrobić wybierałke
No więc tak :
Public który odpowiada za wybierałkę to :
Kod:
public OnPlayerRequestClass(playerid, classid)
{
Do niego musimy dać pozycję gracza, pozycję kamery oraz gdzie ma patrzeć kamera, można dodać jeszcze jakieś bajery, np. Animację, ale to nie jest o tym poradnik
Kod:
SetPlayerPos(playerid, 2348.110351, -1494.548461, 24.000000); //Pozycja gracza
SetPlayerFacingAngle(playerid, 86.658676); //Ustawia nas na północ
SetPlayerCameraLookAt(playerid, 2348.110351, -1494.548461, 24.000000); //Gdzie ma patrzeć kamera
SetPlayerCameraPos(playerid, 2348.110351 + (5 * floatsin(-86.658676, degrees)), -1494.548461 + (5 * floatcos(-86.658676, degrees)), 24.000000); //Gdzie ma leżeć kamera.
Teraz na samym dole mapy, musimy dać :
Kod:
stock PlayerName(playerid)
{
new name[MAX_PLAYER_NAME]; //Tablica name
GetPlayerName(playerid, name, MAX_PLAYER_NAME); //Pobiera nazwę gracza.
return name;
}
A teraz dajemy 2 podstawowe komendy na życie oraz armor
Kod:
CMD:100hp(playerid, params[]) //Nazwa komenda
{ //klamra
if(GetPlayerMoney(playerid) < 15000) //Sprawdzenie czy gracz ma podaną ilość kasy
return SCM(playerid, niebieski, "(Błąd) Nie masz tylu kasy"); //Jeżeli nie to wysyła wiadomość
SetPlayerHealth(playerid, 100.0); //Daje nam 100 HP
GivePlayerMoney(playerid, -15000); //Zabiera 15000 $
SCM(playerid, bezowy, "(Info) Dostałeś życie "); //Wysyła wiadomość, że kupiłeś życie
SCMTA(niebieski, "(Info) {A327ED}%s [id %d] {FF9900}kupił zycie komendą {99001F}/100hp {A327ED} (15000$)"); //Wysyła wiadomość do wszystkich że gracz kupił życie
return 1;
}
Tej komendy nie będę opisywał, ponieważ tu się zmienia tylko z SetPlayerHealth na SetPlayerArmour, czyli da nam kamizelkę
CMD:armor(playerid, params[])
{
if(GetPlayerMoney(playerid) < 15000)
return SCM(playerid, niebieski, "(Błąd) Nie masz tylu kasy");
SetPlayerArmour(playerid, 100.0);
GivePlayerMoney(playerid, -15000);
SCM(playerid, ciemnoszary, "(Info) Dostałeś armor ");
SCMTA(niebieski, "(Info) {A327ED}%s [id %d] {FF9900}kupił zycie komendą {99001F}/100hp {A327ED} (15000$)");
return 1;
}
Offline
Dobra robota daje ci punkt + :good
Offline
Napracowałeś sie dlatego resp stary
Offline
Dzięx za takie miłe komentarze napisze inne poradniki
Offline
Dzięki za ten poradnik, dopiero zaczynam się uczyć pawn, ale dzięki tam poradnikom zaczynam rozumieć
Offline