Szerző Téma: [TUT] Server Konfig Alapok - Teszt GM  (Megtekintve 2510 alkalommal)

Nem elérhető Dead

  • 2045
    • Profil megtekintése
[TUT] Server Konfig Alapok - Teszt GM
« Dátum: 2012. augusztus 11. - 15:27:17 »
0 Show voters
Hi.
El jött az ideje ennek is. Ez az elsõ Tutorialom, meglátjuk mi lesz belõle :D
Elõször is kezdjük a SAMP felépítését ( fájlok )
SAMP Windows Server 0.3e
megnyitjuk a letöltött rar-t.
Találunk benne Betûrendben 7 db. Mappát.
Elsõnek: filterscripts - ebbe kerülnek a különbözõ scriptjeink, amit esetleg tesztelésre teszünk be, vagy csak nem akarjuk betenni a módba.
Második: gamemodes - Ide kerül a server módjának fájla. Fontos: A samp-server.exe CSAK a gmneve.AMX fájlt olvassa be, így a gmneve.PWN fájlra nincs szükségünk.
Harmadik: include - gl_ inc-k vannak benne, többnyire nem szükséges a scripteléshez.
Negyedik: npcmodes - Ebben a mappában gyülekeznek NPCink scriptjei. A Benne található RECORDINGS mappában pedig a felvett npc-k.
Ötödik: pawno - Itt találjuk a Pawno nevezetû programot, amivel kényelmesen scriptelhetünk, találunk még egy INCLUDES mappát is. E mappa nagyon fontos számunkra, mivel ebben van a pawno \"lelke\". Itt megtalálhatsz különbözõ .INC fájlokat, ezek nélkül ne fut a server, és a pawno se complitolja le a módunkat/scriptünket.
Hatodik: plugins - ide kerülnek a különféle pluginok. Fontos: Windows serveren nem kell mögé semmi , míg Linux serveren .so kell legyen a plugin kiterjesztése.
Hetedik: scriptfiles - többnyire a dini-s mentéssel kapcsolatos dolgok kerülnek ide.
Most jöjjenek a további filek.
announce.exe - enélkül nem indul el a server, azt a célt szolgálja, hogy hirdesse a servert ( megjeleníti a keresõben )
samp-npc.exe - ez csak akkor lényeges, ha van NPC-nk.
samp-server.exe - Ez a samp lelke, az indítófájl.
server.cfg - itt tudjuk beállítani a server fõbb tulajdonságait.
Jöjjön egy kis konfig.
Nézzük a SERVER.CFG tartalmát:
 
echo Executing Server Config...
lanmode 0  // lanmode: helyi hálózat, ha 0 akkor internet
rcon_password password // rcon jelszó - kedvedre változtathatod
maxplayers 500 // max játékosok száma - kedvedre változtathatod CSAK Házi Serveren! Hoston nem lehet változtatni.
port 7777 // server portja CSAK Házi Serveren! Hoston nem lehet változtatni.
hostname SA-MP 0.3 Server // ez lesz a servered neve - kedvedre változtathatod
gamemode0 grandlarc 1 // itt beállítjuk a módot - kedvedre változtathatod
filterscripts gl_actions gl_property gl_realtime gl_mapicon ls_elevator test_cmds ls_mall attachments // beírjuk a filterscripteket - kedvedre változtathatod
announce 0 // kiírja-e a keresõbe a servert, vagy sem - kedvedre változtathatod
query 1 // ne piszkáld
weburl www.sa-mp.com // keresõben megjelenõ weboldal, nyilván a sajátod. - kedvedre változtathatod
onfoot_rate 40 // ne bántsd
incar_rate 40 // ne bántsd
weapon_rate 40 // ne bántsd
stream_distance 300.0 // ne bántsd
stream_rate 1000 // ne bántsd
maxnpc 10 // max felcsatlakoztatható NPC  - kedvedre változtathatod
logtimeformat [%H:%M:%S] // logolási formátum

 
+ hozzáadható sorok:
 
mapname // map nevét állíthatod
plugins // pluginokat tölthetsz be vele - Fontos: Windows simán , Linux pedig .so

 
Mostmár be tudod állítani a serveredet.
Miután beállítottad, elmented és megnyitod a samp-server.exe -t
ha megvolt beírod az ip-d a sampbe és kihozza a servered.
Router gondok: Ha routered van akkor csak te fogod látni a servert. Megoldás: port nyitása a routerben.
Router ipje: Start -> Futtatás -> cmd -> ipconfig
Szóval, elindítottad a servered, most már fel tudsz rá menni.
Jõjjön a Pawno Része.
Megnyitsz egy üres pawno-t ( server mappája/pawno/pawno.exe )
Ebben tudsz scriptelni.
Complitelni az F5 ös billlentyûvel tudsz, ha minden hibátlan: Ügyes vagy.
Most a kész .AMX fájl-t behelyezed a server mappálya/gamemodes -ba, ezután megnyitod a server.cfg -t és a gamemodes sorba beírod azt, ami a .amx elõtt áll.
Újraindítod a samp-server.exe -t és, ha mindent jól csínáltál: futni fog a seród.
Nézzünk egy példa scriptet:
Gyorsan összedobtam nektek egy rövid GameMódot, minden el van magyarázva, hogy az micsoda.
 
#include < a_samp > // SAMP függvénykönyvtár beágyazása
#include < zcmd > // ZCMD ICN beágyazása
#include < foreach > // Forearch INC
#define RED 0xff0000AA // Színkód definálása
#define red 0xff0000AA
 
new i_string [ 256 ] ; // max string
public OnGameModeInit ( )
{
    UsePlayerPedAnims ( ) ; // ne mozogjon olyan hülyén XD
   
    SetGameModeText ( \" Teszt GM \" ); // GM nevének állítása
   
    SendRconCommand ( \" mapname Stunt Andreas \" ) ; // a SendRconCommand -al elküldünk neki egy parancsot, jelen esetben a map nevét írjuk át
   
    SendRconCommand ( \" hostname Teszt Stunt Server \" ) ; // Szintén parncsot küldünk el neki, most a seró nevét állítjuk be
    // Bármilyen parancsot elküldhetünk vele ami a server.cfg ben van, KIVÉVE: az RCON-t
    AddPlayerClass ( 0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0 ) ; // Hozzáadunk egy Skint, ami a karakterválasztóban megjelenik
   
    print(\"\\n--------------------------------------\");
    print(\" Blank Filterscript by your name here\");
    print(\"--------------------------------------\\n\");
    return 1;
}
main ()
{
}
public OnGameModeExit ( )
{
    return 1;
}
public OnPlayerConnect ( playerid )
{
    PlayAudioStreamForPlayer ( playerid , \"link helye\" ) ; // elindítunk egy zenét
   
    SetPVarInt ( playerid , \" ASZ \" , 0 ) ; // Adminszolinak adunk egy pvart - értéke 0 = ha belép nincs ASZben, ugyan ez Disconnectnél is
    SetPVarInt ( playerid , \" GOD \" , 0 ); // GOD kap egy pvart
   
    format( i_string , sizeof ( i_string ) , \"*** %s Csatlakozott a serverre. \" , pName ( playerid ) ) ; // üzenet formázása
    SendClientMessageToAll (red , i_string ) ; // kiírása mindenkinek
    return 1 ;
}
public OnPlayerDisconnect ( playerid )
{
   
    format( i_string , sizeof ( i_string ) , \"*** %s Kilépett a serverrõl. \" , pName ( playerid ) ) ; // üzenet formázása
    SendClientMessageToAll (red , i_string ) ; // elküldése mindenkinek
    return 1 ;
}
public OnPlayerRequestClass ( playerid , classid ) // a karakterválasztó nézetei
{
    StopAudioStreamForPlayer ( playerid ) ; // Megállítjuk a zenét
   
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1 ;
}
 
public OnPlayerSpawn ( playerid ) // Spawnol a játékos
{
    GivePlayerWeapon ( playerid , 36 , 999 ) ; // adunk neki fegyót
    GivePlayerMoney ( playerid , 50000 ) ; // adunk neki pénzt
    SendClientMessage ( playerid , RED ,  \" Sikeresen Spawnoltál \" ) ; // kiírunk neki egy üzenetet
    SetPlayerColor ( playerid , RED ) ; // megváltoztatjuk a színét PIROSra
    return 1 ;
}
public OnPlayerDeath( playerid, killerid, reason )
{
    SendDeathMessage ( killerid , playerid  ,reason ) ; // killist
    SendClientMessage ( playerid , RED , \" Meghaltál, ez van xd \" ) ; // üzenet küldése, annak aki meghalt
    SendClientMessage ( killerid , RED , \" Megöltél egy lámát... \" ) ; // üzenetet küld annak is, aki ölt
    return 1 ;
}
public OnPlayerText( playerid, text[ ] )
{
    return 1 ;
}
CMD:aszoli( playerid , params [] )
{
         if ( IsPlayerAdmin ( playerid ) ) // lekérdezzük, hogy admin-e
         {
                if ( GetPVarInt ( playerid , \" ASZ \" ) == 0 ) // lekérdezzük, hogy szoliban van-e
                {
                SetPVarInt ( playerid , \" ASZ \" , 1 ); // ha nem, akkor beléptetjük
                format( i_string , sizeof ( i_string ) , \"*** %s Adminszoliba lépett. \" , pName ( playerid ) ) ; // üzenet kiírása
                SendClientMessageToAll (red , i_string ) ; // formázása
                }
                else if ( GetPVarInt ( playerid , \" ASZ  \") == 1 ) // lekérdezzük, hogy szoliban van-e
                {
                SetPVarInt ( playerid , \" ASZ \" , 0 ) ; // ha igen, akkor elvesszük tõle
                format ( i_string , sizeof ( i_string ) , \" *** %s Kilépett adminszoliból. \" , pName ( playerid ) ) ; //üzi kiírása, formázása
                SendClientMessageToAll ( red , i_string ) ;
                }
         }
         else SendClientMessage ( playerid , red ,\" Nem Vagy Admin! \" ) ; // ha nem admin, üzit ír neki
         return 1; // visszatérünk
} // lezárjuk
CMD:fegyverek( playerid , params [ ] ) // csak akkor kap ha admin
{
    if ( IsPlayerAdmin ( playerid ) )
    {
    GivePlayerWeapon ( playerid , 38 , 999 ) ; // adunk neki fegyót
    GivePlayerWeapon ( playerid , 37 , 999 ) ;
    GivePlayerWeapon ( playerid , 36 , 999 ) ; // lehet folytatni is :D
    }
    return 1 ;
}
CMD:god( playerid , params [ ] )
{
    if ( IsPlayerAdmin ( playerid ) ) // lekérdezzük, hogy admin-e
    {
        if ( GetPVarInt ( playerid , \" GOD \" ) == 0 ) // lekérdezzük van-e godja
            {
                SetPVarInt ( playerid , \" GOD \" , 1 ); // ha nem, akkor adunk neki
                SetPlayerHealth ( playerid , 99999 ) ;
            }
            else if ( GetPVarInt ( playerid , \" GOD  \") == 1 ) // lekérdezzük, van- e godja
            {
                SetPVarInt ( playerid , \" GOD \" , 0 ); // elvesszük tõle a godot
                SetPlayerHealth ( playerid , 100 ) ;
            }
    }
    else SendClientMessage ( playerid , red ,\" Nem Vagy Admin! \" ) ; // ha nem admin, üzit ír neki
    return 1; // visszatérünk
} // lezárjuk
public OnVehicleDeath(vehicleid)
{
    DestroyVehicle( vehicleid ); // ha \"meghal\" ( felrobban a kocsi ) törli - respawnolja
    SetVehicleToRespawn(vehicleid); // respawnolja a jármûvet
    return 1;
}
         
stock pName( playerid ) // \"névlekérõ\"
{
   static
   PlayerName[ MAX_PLAYER_NAME ];
   GetPlayerName( playerid, PlayerName, MAX_PLAYER_NAME ); // lekérjük a jétékos nevét, amit a késõbbiekben használunk.
   return PlayerName;
}

 
Elõször is, itt a link: http://www.solidfiles.com/d/05f8291478/
Ezt az elöbb említett úton -> unrar -> elindítod, elindítjátok és mûködni fog a serveretek.
Ha Bármi problémád akad, nyugodtan írj PÜ-t, vagy írj ide a témába.
Köszönöm.
Üdvözlettel: DeaD
Sok Sikert :)
E: most nézem hogy Chuck is így írta le :) , elnézést. Nem róla másoltam!
« Utoljára szerkesztve: 2012. augusztus 12. - 09:57:56 írta Dead »

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
[TUT] Server Konfig Alapok - Teszt GM
« Válasz #1 Dátum: 2012. augusztus 11. - 16:08:54 »
0 Show voters
Szép leírás öccs :D

Nem elérhető Dead

  • 2045
    • Profil megtekintése
[TUT] Server Konfig Alapok - Teszt GM
« Válasz #2 Dátum: 2012. augusztus 11. - 17:21:24 »
0 Show voters
Dánke Sün tesó

Nem elérhető Szilard

  • Adminisztrátor
  • 1832
    • Profil megtekintése
[TUT] Server Konfig Alapok - Teszt GM
« Válasz #3 Dátum: 2012. augusztus 11. - 17:26:23 »
0 Show voters
Pluginoknál a server.cfg-be Windows-nál nem kell .dll a végére, csak Linuxnál .so, Windows-nál simán a név.
Amúgy nem rossz.

Nem elérhető Dead

  • 2045
    • Profil megtekintése
[TUT] Server Konfig Alapok - Teszt GM
« Válasz #4 Dátum: 2012. augusztus 12. - 09:58:09 »
0 Show voters
igen, javítottam. Kösz :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal