Witam!
Chciałbym zacząć pisanie skryptów do samp( na swój serwer), nie wiem za bardzo od czego zacząć, znam podstawy c++, mógłby mnie ktoś nakierować?
Witaj Karoles357! Aby zacząć przygodę z tworzeniem serwera SAMP musisz nauczyć się programowania w języku PAWN. Jest to język bardzo podobny do C++ lecz łatwiejszy . Podstawą serwera jest tzw. “gamemod” a skrypty to tylko dodatki. Pełno skryptów znajdziesz na forum gtao. Szybkie porady z mojego własnego doświadczenia:
-
Skrypt/gamemod ZAWSZE jest zaczynany linijką #include <a_samp> ponieważ jest to główna biblioteka w PAWN.
-
Tutaj w programowaniu masz tzw. callbacki, np “public OnGameModeInit()” wykonuje się on gdy serwer/gamemod się uruchomi itp.
-
Do tworzenia własnych obiektów na serwerze (domy,drzewa,bazy) używaj programu SA:MP Map Construction lub MTA San Andreas. Wyeksportowane obiekty konwertujesz na stronie convertffs.com.
-
Jeśli chcesz tworzyć komendy, użyj callbacku OnPlayerCommandText lecz większość programistów używa tzw. procesorów komend. Najpopularniejszym procesorem komend jest ZCMD by ZeeX.
-
Do tworzenia grafik na ekranie, pasku statów, licznika itd używaj TextDrawów. Weź skrypt z jakiegoś forum na tworzenie TextDrawów i wgraj go, wpisz /text lub /td lub /tdeditor i pojawi ci się menu tworzenia grafik na ekranie tzw. textdrawów.
To tyle A i jak masz za dużo obiektów, bo SA:MP limit to 1000 użyj streamera obiektów.
Na wiki sampa znajdziesz id broni,pickupów,obiektów,samochodów.
Najprostrzy skrypt jaki może napisać…
#include <a_samp> //Główna biblioteka samp
#include //include do tworzenia komend CMD:komenda mozna dac tez dcmd ale zcmd jest lepsze
#define WIADOMOSC_DO_KONSOLI “Chcesz się dowiedzieć więcej na temat pawn for samp? Pisz śmiało :D” //Będzie to widoczne też w konsoli… Na dole będzie opisane
main() //Main musi być w każdym GameMode
{
print("[GM]: Polski Serwer Dobrej zabawy zostal wlaczony powodzeniem!"); //Dodaje wiadomosc do konsoli
printf("%s", WIADOMOSC_DO_KONSOLI); //Mozna to zrobić właśnie także przez >> PRINTF << Żeby fajne działało, dajesz w środku tych " " >> “%s” i po przecinku dajesz se na przyklad wlasnie to: WIADOMOSC_DO_KONSOLI potem zeby wyświetliło ci się ta wiadomość z
//potem zeby wyświetliło ci się ta wiadomość z tego, dajesz przed MAIN #define WIADOMOSC_DO_KONSOLI “Twój text :D” Łatwe czyż nie?
}
public OnGameModeInit() //callback OnGameModeInit()
{
print(“mozna tu dac se jakis text, choc nie jest ten print wymagany do callbacka :D”); //Nie jest to wymagane, jak napisałem w środku
return 1; //Return 1 = true, żeby się wykonało
}
//MOŻNA DAĆ TAKŻE JAKĄŚ KOMENDE TESTOWĄ NP:
CMD:givearmor(playerid, params[]) //CMD:givearmor będzie slużyć jako komenda na dawanie ci armoru… playerid to ID GRACZA a params[] to parametr
{
SetPlayerArmour(playerid, 100); //TO będzie dawać ci armor 100%
GivePlayerMoney(playerid, -300); //TO będzie ci odbierać 300 $ za zakup armora
SendClientMessage(playerid, -1, “Dostałeś Kamizelke za 300 $ !”); //Wiadomość którą dostaniesz po zakupie tej kamizelki
return 1; //return 1; = true … Nie wiem jak to wytłumaczyć… po prostu zwraca wartość na “PRAWDA” że to ma się wykonać :x
}
Polecam na początek pawno … ponieważ możesz także robić skrypty do MTA (MULTI THEFT AUTO) ale jest tojuż inny język… Jest to LUA a jest on trudniejszy od jezyka PAWN ;x
Choć językiem LUA możesz także skryptować do GTA V z tego co się dowiedziałem
ale *LUA to nie moja bajka Pawn jest spoko więc polecam na początki z językami programistycznymi
Pozdrawiam z Rosji !
NICK: CrashDetect