| Az alábbi tartalomban előfordulhat hogy 2x is fent van a weblapon. A tartalom http://pawno-tutorial.fw.hu/ ról származik!
Tutorialok
Szerver készítés
Először is töltsünk le egy Windows-os Szervert
Ha letöltöted csomagold ki.
A szerver mappájában találsz egy filterscripts mappát ide a filterscripteket kell be rakni. Ebbe van pár alap filterscript amit a szerverhez adnak
A következő mappa a gamemodes mappa ide a gamemod-ot kell rakni ami a szervereden fog futtni.Ebben is van pár alap mod.
Aztán találunk benne egy pawno nevű mappát,ebben van a pawno program amivel mdokat,scripteket…stb lehet csinálni.
Van egy scriptfiles mappa ide az Admin script-et,stb… kell rakni(pl.:XtremeAdmin) és majd itt fogod tudni beállítani a szerveredre feljövő játékosok adatait.PL.: Ha az XtremeAdmint használod akkor abban a scriptfiles/xadmin/Users mappában van ez. Ott ez lesz:
IP=0 – ha regisztrál akkor a játékos IP címét fogja ide kiírni
Registered=0 – ide azt írja ki,hogy regisztrált a játékos vagy nem
Level=0 – ide az admin szintét irja ki
Cash=0
Kills=0
Deaths=0
Password=0 – ide a regisztrációkor beirt jelszót írja ki
Wired=0
WiredWarnings=0
Jailed=0
Ezt be kell állítani mert ha nem állítjuk be akkor a szerver nem fog elindulni:
echo Executing Server Config...
lanmode 0 – itt azt lehet beállítani,hogy a szerverkeresőbe látszodjon-e a szerver vagy nem(ha 0-ra állítod akkor nem lesz látható a keresőbe ha 1-re akkor látható lesz)
rcon_password - ide az rcon jelszót kell irni,használata: /rcon login <jelszó>
maxplayers 32 – ide a max játékosok számát kell írni (200 a max)
port 7777 - ide a portot kell írni amit a szerver IP cime után fog ki írni
hostname – ide a szerver nevét kell írni (HUN-t írj a szerver neve elé,hogy a magyar szerverek közé tegye)
gamemode0 – Ide a gamemods mappába lévő mod nevét kell irnod amit a szervereden fog futni
filterscripts – ide a filterscripts mappában lévő filterscriptek nevét kell írni (az admin script nevét ird a legelejére)
announce 1
query 1
weburl - ha van weboldalad akkor anak a címét ird ide
anticheat 0
A szervert úgy tudod bekapcsolni hogy a szerver mappájában lévő samp-server fájlra kattintasz ,ha bejöt egy fekete ablak akkor eddig jó.(ha eltünik akkor valami hiba van)
Most a samp-ba a narancssárga pipába ird be a portot amit kiválasztotál és kiadja a szervered.
_________________________
Jármű berakás
Először menjunk fel egy szerverre és ott mencsük el a kocsikat.Oda álsz a kocsival ahova akarod,hogy legyen és beirod minden egyes kocsinál,hogy /save
Vagy Debugal is beraghatod. c/Program Files/Rockstar Games/GTA San Andreas-ban a samp-debug-ra kattintasz, ki jön egy ablak ott a Launch Debug-ra katt.Ha betöltöt ki rak Madd Dog házánál.Elmész oda ahova a kocsit akarod rakni és ott beirod, hogy: /vsel
Ki választod a járművet és minden egyes lerakot kocsi után beírod,hogy: /save
Ha leragtad a járműveket akkor ki lépsz és a c/Program Files/Rockstar Games/GTA San Andreas-ba mész.Ott a savedpositions.txt fájlba van lementve az összes autó.Ílyesmi lesz bene:
AddStaticVehicle(433,-1784.0811,-2384.9531,34.3430,49.6050,43,0);
Ha átakarod színezni akkor az utolsó két számot kell átálítanod.
Ez után a mododat megnyítod Pawno-ba,megkeresed apublic OnGameModeInit() fügvényt és az alá bemásold a lementet autókat.(AddStaticVehicle)
Aztán a pawno-ba fent találsz egy kék nyilat(Compile/Run)arra rákatintasz ha nem ír ki errort akkor jól csináltál mindent.Utána elmented: File/Save.
Ha igy csináltál mindent akkor a szerveredbe benne lesznek a járművek.
_________________________
Menü készítés
Ebben a menüben most egy jármű spawnolott csinálok.
Mod elejére:
new Menu:car; //car helyére írhatsz mást de akkor azt használd később is.
Utána:
public OnGameModeInit()
{
car = CreateMenu("Jármű Menü", 1, 50.0, 180.0, 200.0, 200.0); //Menü neve és elhelyezkedése
SetMenuColumnHeader(car, 0, "Jarmuvek:");//alnév
AddMenuItem(car, 0, "Sultan"); //Jármű neve
AddMenuItem(car, 0, "Elegy"); //Jármű neve
return 1;
}
Írhatsz több járművet is.
Tovább:
public OnPlayerSelectedMenuRow(playerid, row)
{
if(GetPlayerMenu(playerid) == car) //ide azt amit fent a new-hez irtunk (car)
{
if(row == 0)
{
new Float:X;
new Float:Y;
new Float:Z;
new Float:ang;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,ang);
CreateVehicle(560,X,Y,Z +1,ang,-1,-1,-1);
SetPlayerPos(playerid,X,Y,Z +3);//lespawnol
}
else if(row == 1)
{
new Float:X;
new Float:Y;
new Float:Z;
new Float:ang;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,ang);
CreateVehicle(562,X,Y,Z +1,ang,-1,-1,-1);
SetPlayerPos(playerid,X,Y,Z +3);//lespawnol
}
}
return 0;
}
560 és 562 a jármű ID-je
Parancsra bejön a menü:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/parancs", true) == 0) {
ShowMenuForPlayer(car, playerid);//behozza a menüt(car)
return 1;
}
return 0;
}
_________________________
Teleport készítés
Fel megyünk egy szerverre,lementjuk a koordinátákat: /save
Aután a c/Program Files/GTA San Andreas/Rockstar Games mappában találunk egy savedpositions.txtfájlt.Ebben vannak az elmentet koordináták:
Ilyesmit fogsz kapni:
AddPlayerClass(29,332.8983,-1772.2555,4.9635,180.1024,0,0,0,0,0,0);
Ebből csak a 3 koordináta kell.(X,Y,Z)
Ezek:
332.8983,-1772.2555,4.9635
Így lesz a teleport:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/parancs", true) == 0) {
SetPlayerPos(playerid,332.8983,-1772.2555,4.9635);
return 1;
}
return 0;
}
Ki írásos teleport:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/parancs", true) == 0) {
SetPlayerPos(playerid,332.8983,-1772.2555,4.9635); //koordináta
new pName[MAX_PLAYER_NAME];
new string[256];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "%s szöveg", pName);//kiírás(mindenki látja)
SendClientMessageToAll(0x993300AA, string); //Szín
return 1;
}
return 0;
}
Parancsra kiír szöveget:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/parancs", true) == 0) {
SendClientMessage(playerid, 0x49B659FF, "szöveg");
return 1;
}
return 0;
}
0x49B659FF = szín
szöveg = ha be írod a parancsot akkor ezt fogja ki írni.
--------------------------------------------------------------
Kiírások:
1. SendClientMessage(playerid,0x00AA00AA,"szöveg");
2. SendClientMessageToAll(0x00AA00AA, "szöveg");
3. GameTextForPlayer(playerid,"~y~szöveg",5000,5);
4. GameTextForAll(playerid,"~y~szöveg",5000,5);
1. Csak az látja aki be írja a parancsot.(ha parancsba csinálod)
2. Ezt az összes szerveren lévő játékos látja
3. Ezt a képernyőre írja ki,csak az látja aki be írja a parancsot.(ha parancsba csinálod)
4. Ezt a képernyőre írja ki,mindenki látja.
0x00AA00AA = szín
~y~ = Szín
szöveg = szöveged,amit akarsz,hogy ki írjon
5000 = ennyi ídeig fogja ki írni a szöveget
5 = betűtipus
Game Text Színek
~y~ = sárga
~b~ = kék
~r~ = piros
~g~ = zöld
~w~ = fehér
Színek:
#define COLOR_DARKORANGE 0xFF7318FF
#define COLOR_SYSTEM 0xEFEFF7AA
#define COLOR_BLUE 0x0000FFAA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_WITHE 0xFFFFFFAA
#define COLOR_PURPLE 0x9900FFAA
#define COLOR_BROWN 0x993300AA
#define COLOR_ORANGE 0xFF9933AA
#define COLOR_CYAN 0x99FFFFAA
#define COLOR_TAN 0xFFFFCCAA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_KHAKI 0x999900AA
#define COLOR_LIME 0x99FF00AA
#define COLOR_BLACK 0x000000AA
#define COLOR_TURQ 0x00A3C0AA
#define COLOR_LIGHTBLUE 0x00BFFFAA
#define COLOR_GREENISHGOLD 0xCCFFDD56
#define COLOR_LIGHTBLUEGREEN 0x0FFDD349
#define COLOR_NEUTRALBLUE 0xABCDEF01
#define COLOR_LIGHTCYAN 0xAAFFCC33
#define COLOR_LEMON 0xDDDD2357
#define COLOR_AQUA 0x7CFC00AA
#define COLOR_WHITEYELLOW 0xFFE87DAA
#define COLOR_BLUEAQUA 0x7E60FFAA
#define COLOR_GREENYELLOWWHITE 0xCBFF45AA
#define COLOR_DARKBLUE 0x15005EAA
#define COLOR_RED 0xAA3333AA
#define COLOR_ULTRARED 0xFF0606FF
#define COLOR_WARNING 0xFB0000FF
#define COLOR_VIOLET 0x8F698FFF
Ékezetes GameText:
~ = á
ž = é
˘ = í
¦ = ó
¨ = ö
§ = ő
Ş = ú
¬ = ü
« = ű
_________________________
Alap beállítások
public OnGameModeInit fügvényhez:
Fegyver használat interiorban:
AllowInteriorWeapons(1);
Gyors futás
UsePlayerPedAnims();
Idő
SetWorldTime(13); //mindenkinek enyi lesz az idő
Idő
SetPlayerTime(playerid,12,00); //egy játékosnak enyi lesz az idő
Idő járás
SetPlayerWeather(playerid,5);
5 = Időjárás száma
GameMod nevének beállítása
SetGameModeText("Név");
public OnPlayerSpawn függvényhez:
Pénz beállítása
GivePlayerMoney(playerid, 1000);
1000 = enyi pénzel fog indulni a játékos
Scorre beállítása
SetPlayerScore(playerid,0);
0 = ennyi scoréval fog indulni a játékos
_________________________
Csatlakozás/távozási kiírás
Csatlakozás:
public OnPlayerConnect(playerid)
{
new pName[MAX_PLAYER_NAME];
new string[46];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "%s csatlakozott a szerverre.", pName);
SendClientMessageToAll(COLOR_GREEN, string);
return 1;
}
Ezt hagyd meg: %s
A zöld írást átírhatod amire akarod
Amit sárgával írtam az a szín.
Távozás:
public OnPlayerDisconnect(playerid, reason)
{
new pName[MAX_PLAYER_NAME];
new string[56];
GetPlayerName(playerid, pName, sizeof(pName));
switch(reason)
{
case 0: format(string, sizeof(string), "%s elment. (Időtúllépés)", pName);
case 1: format(string, sizeof(string), "%s elment. (Kilépett)", pName);
case 2: format(string, sizeof(string), "%s ki lett dobva. (Kick/Ban)", pName);
}
SendClientMessageToAll(COLOR_GREEN, string);
return 1;
}
Ezt hagyd meg: %s
Amit kékkel írtam azt átírhatod.
A sárgával írt a szín.(ilyen színel fogja ki írni a szöveget)
_________________________
Belépési kiírás:
Aki fel megy a szerverre annak ezt a szöveget fogja kiírni.
public OnPlayerConnect(playerid)
{
GameTextForPlayer(playerid,"~r~szöveg",5000,5);
SendClientMessage(playerid,0x00BFFFAA, "szöveg");
return 1;
}
szöveg = ezt fogja kiírni
0x00BFFFAA = Szín
5000 = ennyi ideig fogja kiírni a szöveget
5 = betűtipus
_________________________
Mapikon lerakás
public OnPlayerConnect(playerid)
{
SetPlayerMapIcon(playerid,0,430.8081,2530.2119,16.6034, 5, 3);
return 1;
}
0 = ha több ikont raksz akkor sorba kell rakni,ugyhogy ez 0,ha raksz mégegy ikont akkor annál 1 legyen
Aztán a 3 koordinátát kell megadnod: X,Y,Z
5 = ez a mapikon ID (az ID-k menüben kers rá a ikon ID-kre
3 = a mapikon színe
_________________________
Meghalos üzenet:
Ha a játékos meghal akkor ezt írja ki:
public OnPlayerDeath(playerid, killerid, reason)
{
GameTextForPlayer(playerid,"~r~Meghalt~l!!!",5000,5);
return 1;
}
5000 = ennyi ideig fogja kiírni a szöveget
5 = betűtipus
Ha a játékos meghal akkor a nevét is ki írja,amit ki ír azt mindenki látja:
public OnPlayerDeath(playerid, killerid, reason)
{
new pName[MAX_PLAYER_NAME];
new string[256];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "SERVER: %s meghalt!", pName);
SendClientMessageToAll(0xFFFFFFAA, string);
return 1;
}
_________________________
Jármű kiírás
Ha a játékos beszáll a járműbe akkor ezt írja ki:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
GameTextForPlayer(playerid,"~y~szöveg",5000,5);
return 1;
}
5000 = ennyi ideig fog megjeleni a kiírás
5 = betűtipus
~y~ = szín
Ha a játékos kiszál a járműből akkor ezt írja ki:
public OnPlayerExitVehicle(playerid, vehicleid)
{
GameTextForPlayer(playerid,"~y~szöveg",5000,5);
return 1;
}
5000 = ennyi ideig fog megjeleni a kiírás
5 = betűtipus
~y~ = szín
_________________________
Skin megváltoztatása:
public OnPlayerCommand függvényhez írd ezt:
if(strcmp(cmdtext, "/parancs", true) == 0) {
SetPlayerSkin(playerid,203);
new pName[MAX_PLAYER_NAME];
new string[256];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "%s szöveg", pName);
SendClientMessageToAll(0xFFFFFFAA, string);
return 1;
}
return 0;
}
Ha a játékos be írja a parancsot akkor a skin-e a 203-mas ID-jű skinre váltózik és az összes szerveren lévő játékosnak kiírja, annak a nevét aki beírta a parancsot és az utána írt szöveget.
203 = Skin ID
Ezt hagyd meg: %s
szöveg = a név után kiírt szöveg
0xFFFFFFAA = szín
_________________________
Kamera beállítása skin választásnál
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 291.8668,2533.6326,25.3828);
SetPlayerCameraPos(playerid, 289.0610,2535.2292,25.2842);
SetPlayerCameraLookAt(playerid, 291.8668,2533.6326,25.3828);
return 1;
}
SetPlayerPos: itt fog állni a skin
SetPlayerCameraPos: itt lesz a kamera
SetPlayerCameraLookAt: erre fog nézni a kamera
_________________________
Timer készítés
A mod elejére:
forward Spaming();
public OnGameModeInit() fügvény alá írjuk be ezt:
SetTimer("Spaming",0500000,1);
0500000 = enyi idönként fogja csinálni aminek be állítod
Itt a timer funkcióját állítjuk be:
public Spaming()
{
SendClientMessageToAll(0x33AA33AA,"szöveg");
return 1;
}
0x33AA33AA = Szín
szöveg = szöveg,amit kiír
Itt most 5 percenként fogja kiírni a szöveg-et.
A timernek más funkciót is adhatsz.
_________________________
Alap Admin parancsok
A public OnPlayerCommand fügvényhez:
if(strcmp(cmdtext, "/parancs", true) == 0) {
if(IsPlayerAdmin(playerid)) //csak admin használhatja ezt a parancsot
SetPlayerHealth(playerid,100); //100-ra tölti az életett
SetPlayerArmour(playerid,100); //100-ra tölti a páncélt
GivePlayerWeapon(playerid,359,100); //fegyver adás
359 = fegyverID
100 = löszer
SetPlayerHealth(playerid,999999999); //God Mod (élet)
SetPlayerArmour(playerid,999999999); //God Mod (páncél)
Jármű visszaállítása:
new VehicleID;
VehicleID = GetPlayerVehicleID(playerid);
SetVehicleZAngle(VehicleID,-1);
Chat box megtísztítása:
SendClientMessageToAll(COLOR_GREY," ");
SendClientMessageToAll(COLOR_GREY," ");
SendClientMessageToAll(COLOR_GREY," ");
SendClientMessageToAll(COLOR_GREY," ");
SendClientMessageToAll(COLOR_GREY," ");
SendClientMessageToAll(COLOR_GREY," ");
SendClientMessageToAll(COLOR_GREY," ");
SendClientMessageToAll(COLOR_GREY," ");
SendClientMessageToAll(COLOR_GREY," ");
SendClientMessageToAll(COLOR_GREY," ");
SendClientMessageToAll(COLOR_GREY," ");
GameTextForAll("Az admin megtisztitota a chatbox-ot.", 5000, 5);
5000 = ennyi idegi fogja kiírni a szöveget
5 = betűtipus
Jármű megjavítása:
new VehicleID;
VehicleID = GetPlayerVehicleID(playerid);
SetVehicleHealth(VehicleID,1000);
Ha az 1000-et nullára állítod akkor a jármű kigyulad.
Jármű színezése:
new VehicleID;
VehicleID = GetPlayerVehicleID(playerid);
ChangeVehicleColor(VehicleID,3,3);
3,3 = szín (itt most piros) (a letöltések menüben letöltheted a szín ID-ket.)
Jármű lespawnolása:
new Float:X;
new Float:Y;
new Float:Z;
new Float:ang;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,ang);
CreateVehicle(556,X,Y,Z +1,ang,-1,-1,-1);
SetPlayerPos(playerid,X,Y,Z +3);
+3 = a játékostól ennyi távolságra rakja le a járművet
556 = Jármű ID
________________________
Textdraw készítés
Menj bele a paint-be és ott nyis meg egy 800x600-as képet.Az egeret huzd oda ahova akarod,hogy legyen a textdraw.Ha oda huztad akkor néz meg,hogy lent milyen számot írt ki.PL.: 168,461 (ez kb lent középen van)
Mod elejére:
new Text:textdraw;
Aztán a kiírás és a helye:
public OnGameModeInit()
{
textdraw = TextDrawCreate(168,461,"szöveg");
return 1;
}
168,461 = itt lesz a texdraw helye
szöveg = ezt fogja kiírni
Itt színezheted a textdrawot:
Ha a játkos fellép a szerverre akkor látható lesz a textdraw:
public OnPlayerConnect(playerid)
{
TextDrawShowForPlayer(playerid,Text:textdraw);
TextDrawBackgroundColor(textdraw,0x33AA33AA);//háttérszín
TextDrawColor(textdraw,0x000000AA); //szövegszín
return 1;
}
Itt színezheted a texdrawot:
Ha a játékos meghal akkor is látható lesz a texdraw:
public OnPlayerSpawn(playerid)
{
TextDrawShowForPlayer(playerid,textdraw);
TextDrawBackgroundColor(textdraw,0x33AA33AA);//háttérszín
TextDrawColor(textdraw,0x000000AA); //szövegszín
return 1;
}
| |