Üzenetek megjelenítése

Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.


Témák - ShoCk

Oldalak: [1]
1
Általános / SA:MP RPG szerver
« Dátum: 2014. Október 10. - 22:10:01 »
A kérdés adott. Egy felmérést szeretnénk végezni, amiben azt szeretnénk kideríteni, hogy manapság lenne-e igény egy normálisan össze rakott SA:MP RPG szerverre.

2
Archívum / Spirit Soldier DM/TDM
« Dátum: 2013. Augusztus 31. - 18:21:31 »

\"width=500
http://blog.flamingtext.com/blog/2013/08/31/flamingtext_com_1377960362_750158601.png[/img]
 


Szerver neve: Spirit Soldier DM/TDM
Hosting: Clans.hu (valószínûleg)
Szerver típusas: DeathMatch / Team Deathmatch
Szerver verzió: 0.3x
IP cím: Egyenlõre nem elérhetõ
Játéktér: DM zónák & Váró szoba
 
 
Slot: 60
 

\"vonal.jpg\"
 
Amit a szerver nyújt:
- Egyedileg kialakított játékterek külön DM, külön TDM meccsekhez!
- Várószoba
- Szintrendszer 10 szinttel
- Szintenként elérhetõ jutalmak
- Kiváló DM/TDM rendszer
- Segítõkész, érett, tapasztalt Admin csapat
- Halál utáni nézõke
- Véletlenszerû pickup rendszer
- Kiváló játékélmény
- Headshot rendszer
 
\"vonal.jpg\"
 
Várószoba:
Spawnoláskor a játékosok nem San Andreas pályájára kerülnek, hanem egy direkt erre a célra kialakított szobába, ahol nem lehet sebezni, ölni. A játékos itt csatlakozhat egy DM vagy TDM meccshez.
DM meccs: A játékos bármikor csatlakozhat bármelyik DM-hez, függetlenül attól, hogy folyik-e épp mérkõzés, vagy nem.
TDM meccs: A játékos benyújthatja csatlakozási kérelmét a szerver felé, de a meccs csak akkor kezdõdik el, ha minimum 6 játékos várakozik. Értelem szerûen a szerver fele-fele arányban osztja el a játékosokat.
 
\"vonal.jpg\"
 
Szint rendszer:
A \"TAB\" gomb lenyomása után a Score oszlop alatt a játékos szintje szerepel. Egy 10 szintes ranglétrát kell  a játékosoknak megmászniuk, hogy elérjék a legmagasabb szintet. Ahhoz, hogy a játékosok szintet léphessenek tapasztalati pontokat kell szerezniük, amit játékos öléskor, DM gyõzelemkor és TDM gyõzelemkor kapnak.
A szintek:
1 - Bicebóca
2 - Zöldfülû
3 - Préda
4 - Akaratos
5 - Alattomos
6 - Vakmerõ
7 - Tapasztalt
8 - Ragadozó
9 - Veterán
10 - Legenda
 
\"vonal.jpg\"
 
Ha bekövetkezik a halál:
Halál után a játékosok dönthetnek, hogy tovább nézik a mérkõzést, vagy vissza kerülnek a váróba, ahol új játékot indíthatnak. Ha egy játékos meghal, nem veszít a tapasztalati pontjaiból, semmilyen következménnyel nem jár.
 
\"vonal.jpg\"
 
Jutalmak:
Szintlépés esetén a játékosok extra dolgokat kapnak, amiket késõbb a meccsek alatt használhatnak. Csupán esztétikai dolgok, semmilyen elõnyt nem nyújtanak a játékosnak. Egy kis ízelítõ a jutalmakból: Fegyver lézer, Különbözõ ikonok a játékos feje fölé, amivel felhívhatja magára a figyelmet, megmutathassa, hogy neki bizony már ilyen is van, mivel elérte azt a szintet. (Mindent nem árulok el)
 
\"vonal.jpg\"
 
Véletlenszerû pickup rendszer:
A meccsek során véletlenszerûen felbukkannak pickupok, amelyek extra fegyvert, életet, védõmellényt és egyéb dolgokat nyújtanak azoknak a játékosoknak, akik felveszik õket. Nagyon hasznosak tudnak lenni, fõleg ha az ellenfél az esélyesebb.
 
\"vonal.jpg\"
 
Admin csapat:
Nos, az adminok nevét nem árulhatom el, viszont egy kis információval szolgálhatok: 5 admin van jelenleg, akik a szervert fogják felügyelni, kellõképp rutinosak, megérettek a feladatra, nem 12 éves hatalommániás gyerekek.
 
\"vonal.jpg\"
 
Admin felvétel:
Jelenleg kettõ (2) adminisztrátorra van még szükségünk, akik kellõen tapasztaltak, tisztába vannak a DM alapszabályaival.
Feltételek:
- Elmúltál 16 éves
- Tudsz helyesen, érthetõen írni
- Van tapasztalatod mind játék, mind adminisztrátori téren
- Skype elérhetõség
- Legalább naponta egy órát aktív vagy
- Szerverek neve ahol adminkodtál eddig + idõtartam
 
\"vonal.jpg\"
 

Szerver nyitás várható ideje: 2013.09.15
 
SS Team

3
Általános / Mire lenne igény?
« Dátum: 2013. Augusztus 30. - 08:16:17 »
Sziasztok!
Mostanában nézegettem a hostingokat, és van pár, ami egész normális áron kínál szerverhostingot, állítólag jót. Kedvet kaptam egy szerver indításához, de nem tudom melyikre lenne igény. A tapasztalataim alapján:
- RPG szerver: Sok idõ kell neki, mire állandó, normális mennyiségû player lesz, ráadásul a mod megírása is rengeteg idõ, aminek a következménye a tetemes mennyiségû MOD-edit szerver...
- DeathMatch szerver: Mostanában nem nagyon látni DeathMatch szervereket, vagy ha igen, akkor az nem sima DM, hanem valamilyen másik játék SAMP-sített változata, vagy ha valamilyen csoda folytán sima DM szerver, akkor irtózatosan rosszul van megcsinálva és a player is kevés rajta.
- Stunt és Drift szerver: Ebbõl a fajta szerverbõl akad pár darab, viszont ezekre a játékosok 70%-a csak kikapcsolódni jár fel, mivel nincs célja a mod-nak. Bolyongsz különbözõ helyeken, élvezed a játékot, de igazából itt kifujt a mod értelme.
- Party szerver: Õszintén megvallva, nem vagyok pontosan tisztába ennek a mod-nak a lényegével (ha esetleg valaki leírná hsz-be azt megköszönném) de playerszám alapján eddig õ viszi a pálmát.
- FUN szerver: A fun-szerverek nagy átka a \"mindenbõl egy kicsit, semmibõl sem sokat\"... Ez alatt azt értem, hogy szinte mindegyik mod egy kis darabja megtalálható ezeken a szervereken, de jobban nem tér ki egyikre sem. Playerszám alapján kicsivel van lemaradva a Party szerverektõl.
A leírt véleményemben leírtak persze függenek attól, hogy mennyire van jól összerakva a szerver, mennyire van jól hirdetve fórumokon stb.. Én átlagosan írtam le a saját tapasztalataimat.
A ti véleményetek is érdekelne, és az, hogy ezek közül melyik szerverre járnátok fel szívesen.

4
Fórum Archívum (Témák/Fórumok) / Re:Szerver errors
« Dátum: 2013. Augusztus 28. - 11:45:08 »
Vagy szar a pawnod, vagy nagyon béna vagy... vagy mindkettõ

5
Fórum Archívum (Témák/Fórumok) / Re:gteam nevek
« Dátum: 2013. Augusztus 27. - 15:57:47 »
estére megcsinálom :)

6
Fórum Archívum (Témák/Fórumok) / Re:Map berakasa.
« Dátum: 2013. Augusztus 27. - 14:23:25 »
googleba keresd ki a sa single player editort és online map convertálóval alakítsd át az mta mapot

7
Archívum / Trade RolePlay Szerver
« Dátum: 2013. Augusztus 27. - 14:00:39 »
Amit a bemutatás elõtt tudni kell:
A mod valójában Defensive RPG edit, viszont ahol most tart, annak körülbelül 15% köze van a Defensive RPG-hez! A szerver körülbelül 2 hónapja üzemel a nap minden órájában, mivel hostingot bérlünk. Mostanra sikerült elérnünk a napi átlag 17-20 playert, viszont sajnos pár napja volt egy karakter reset, és eléggé megrogyott a napi átlag player szám. Jelenleg napi 1-14 játékos között van a szerver playereinek száma. Nos ennyi, ami említésre méltó kezdõdjön a bemutatás.
Szerver neve: Trade Role Play

IP: -

Hosting: clans.hu

Férõhely: 68

Szerver készítõi és tulajdonosai: aSa. és ShoCk

Naponta aktív adminok: ShoCk, aSa., MiNiBlack, SS://, Alex, N3O


Szerver bemutatása:
- A szerver 95%-a egyedileg van mappolva, talán 2 interior van, ami az eredeti Defensive RPG modban is ugyanolyan volt. (Adóhivatal Interior és Kórház)
- Ahol játszódik: El Querbados és Las Papayas
- A szerveren megtalálható munkák: Úttisztító, Villanyszerelõ, Postás, Pizzafutár, Gyári munkás, Benzinszállító, Kamionsofõr, Buszsofõr, Pilóta, Szemétszállító.
- A szerveren megtalálható leaderes munkák: Rendõr, Mentõ, Tûzoltó, Szerelõ, Adóhivatalos, Rádiós, Taxis
- Szervezetek a szerveren karakter reset óta nincsenek, mivel még nem lettek kinevezve az élükre vezetõk.
Kicsit az RP élményrõl:
- A két város közötti hídon rendõr kordon és igazoltatás szokott folyni akár naponta többször is!
- A mod kialakítása úgy van megcsinálva, hogy minél jobban törekedjen a való életre!
- Jármûveken idex
- Jármûvek motorját indítani kell, persze csak ha van hozzá kulcs.
- Minden jármûvön (kivéve amin a való életbe sincs) le és felkapcsolható lámpa van, melyet a 2-es gombbal lehet kapcsolni.
- Három féle üzemanyagtípus: Benzin, Gázolaj és Kerozin!
- Nem kell megszakadni a fizetésedért, viszont nem is hullik minden az öledbe!
- Segítõkész admin csapat
- A szerveren engedélyezett fegyvertípusok: Desert Eagle, Colt, Baseball ütõ (késõbb fegyverboltban lesz beszerezhetõ), Gumibot (Rendõröknek)
- Inventory system: Tab gomb lenyomása után a nevedre kattintva érhetõ el!
- Drog system: Bizonyos számú játszott óra után Kokaint és Füves cigit készíthetsz a drogháznál, amit vagy megtartasz, vagy eladsz az utcán!
Munkák:
- Úttisztító: Az úton kell haladnia, a jármû közben tisztítja az utat. Minél nagyobb a megtett táv, annál nagyobb fizetést kap. Munkát kezdeni a /munkakezdés paranccsal tud!
- Villanyszerelõ: A városokban és a köztük lévõ útszakaszokon lámpák vannak, amelyek elromolhatnak. A villanyszerelõ dolga, hogy ellenõrizze õket és meghibásodás esetén megjavítsa.
- Postás: CP-ken kell áthaladnia, hogy kihordja az újságot. Miután minden újságot kivitt újrakezdheti az újságkihordást a /munkakezdés paranncsal
- Pizzafutár: Lényegében ugyanaz a dolga mint a postásnak, csak neki pizzát kell házhoz vinnie
- Gyári munkás: A gyár dolgozóasztalánál kell tárgyakat összeállítania, majd azokat leadni a raktár részen. Minden elkészített tárgy után kap fizetést, amit a postán felvehet, csak úgy mint minden más munkás.
- Benzinszállító: A benzinszállítók munkája nagyon fontos, mivel õk látják el El Querbados benzinkútját üzemanyaggal.
- Kamionsofõr: A gyári munkások szorgos munkájának eredményeképpen a felgyülemlett tárgyakat a kamionsofõrök szállítják ki.
- Buszsofõr: A buszos dolga, hogy a buszmegállóban várakozó játékosokat felvegye és egészen addig szállítsa, amíg õk valamelyik buszmegállóban le nem szállnak. Nem mellesleg a rutinellenõrzések és igazoltatások kikerülésére is ideális jármû egy utasnak...
- Pilóta: A pilóták \"utasokat\" szállítanak az Elhagyatott Repülõtér és a San Fierro-i repülõtér között. Fizetésük nekik a legjobb.
- Szemétszállító: Dolga, hogy a városban elhelyezett kukákból a szemetet összegyûjtse, majd azt a szeméttelepre elvigye.
Sok-sok más érdekes dologgal várunk Téged: Trade RolePlay Team

8
Segítségkérés / Y_ini segítség!
« Dátum: 2013. Április 26. - 15:26:24 »
Sziasztok! Lenne egy problémám. Azt szeretném megvalósítani enum és y_ini segítségével, hogy mikor egy játékos regisztrál, akkor a szerver hozzon létre neki egy saját kocsit, amibe csak õ tud beszállni. Ha utána netán ki akarja cserélni a kocsit akkor ha beírja hogy /kocsivesz jöjjön neki elõ egy dialog ahol tud választani, és ha van elég pénze akkor kitörli a régi kocsiját, és legenerál neki egy újat.
Pl: Enumba beírni hogy:
 
enum pInfo
{
pKocsiID
}

 
Ha egyezik a kocsi id-je és a tulajdonosnál szereplõ kocsi id akkor tudja használni.
A fõbb probléma mint már írtam az, hogy generálja le neki a kocsit és utána ha másikat vesz akkor törölje is ki a kocsiját.

9
Segítségkérés / [error 001] SEGÍTSÉG!!
« Dátum: 2013. Április 25. - 22:14:23 »
Sziasztok! Valaki tudna segíteni, mert mikor le akarom Compilelni a modot ezt a hibaüzenetet kapom:
C:\\Documents and Settings\\Valaki\\Asztal\\Szerver\\Szerver\\gamemodes\\lan.pwn(112) : error 001: expected token: \"-string end-\", but found \"-identifier-\"
C:\\Documents and Settings\\Valaki\\Asztal\\Szerver\\Szerver\\gamemodes\\lan.pwn(112) : warning 215: expression has no effect
C:\\Documents and Settings\\Valaki\\Asztal\\Szerver\\Szerver\\gamemodes\\lan.pwn(112) : error 001: expected token: \";\", but found \"-string-\"
C:\\Documents and Settings\\Valaki\\Asztal\\Szerver\\Szerver\\gamemodes\\lan.pwn(112) : warning 215: expression has no effect
C:\\Documents and Settings\\Valaki\\Asztal\\Szerver\\Szerver\\gamemodes\\lan.pwn(112) : error 001: expected token: \"-string end-\", but found \"-identifier-\"
C:\\Documents and Settings\\Valaki\\Asztal\\Szerver\\Szerver\\gamemodes\\lan.pwn(112) : fatal error 107: too many error messages on one line
Itt a teljes mod:
 
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#include <Dini>
#include <fixchars>
#include <foreach>
#include <OPVD>
#include <Streamer>
#include <sscanf2>
#include <zcmd>
#include <YSI\\y_ini>
#define DIALOG_REGEL 1 //DIALOG_REGISTER
#define DIALOG_BELEP 2 //DIALOG_LOGIN
#define DIALOG_SIKERES_1 3 //DIALOG_SUCCESS_1
#define DIALOG_SIKERES_2 4 //DIALOG_SUCCESS_2
//============ SZÍNEK ==================
#define NARANCS            0xff8c00AA
#define PIROS            0xFF0000AA
#define ZOLD            0x33AA33AA
#define LILA             0xC2A2DAAA
#define CITROM            0xFFFF00AA
#define FONTOS             0x007bffAA
#define UZENET             0x5de8e1AA
#define RADIO             0x5ccdf2AA
#define KEK             0x1373C1FF
#define SOTETKEK          0x0000FFFF
#define VILAGOSKEK          0x2BCDFDFF
#define SOTETZOLD          0x008000FF
#define VILAGOSZOLD         0x00FF00FF
#define ROZSASZIN          0xFF00FFFF
#define AQUA             0x00FFFFFF
#define FEKETE             0x000000FF
#define FEHER             0xFFFFFFFF
#define SZURKE             0x808080FF
#define BORDO             0x800000FF
//===================
#define PATH \"/Felhasznalok/%s.ini\"
main()
{
}
enum pInfo
{
    pJelszo,
    pPenz,
    pAdmin,
    pDriftPont,
    pDMPont,
    pSkin
}
new PlayerInfo[MAX_PLAYERS][pInfo];
stock UserPath(playerid)
{
    new string[128],playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(string,sizeof(string),PATH,playername);
    return string;
}
stock udb_hash(buf[]) {
    new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}
forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
    INI_Int(\"Jelszo\",PlayerInfo[playerid][pJelszo]);
    INI_Int(\"Penz\",PlayerInfo[playerid][pPenz]);
    INI_Int(\"Admin\",PlayerInfo[playerid][pAdmin]);
    INI_Int(\"DriftPont\",PlayerInfo[playerid][pDriftPont]);
    INI_Int(\"DMPont\",PlayerInfo[playerid][pDMPont]);
    INI_Int(\"Skin\",PlayerInfo[playerid][pSkin]);
    return 1;
}
public OnGameModeInit()
{
SetGameModeText(\"LAN v1.0\");
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
return 1;
}
public OnPlayerConnect(playerid)
{
    if(fexist(UserPath(playerid)))
    {
        INI_ParseFile(UserPath(playerid), \"LoadUser_%s\", .bExtra = true, .extra = playerid);
        ShowPlayerDialog(playerid, DIALOG_BELEP, DIALOG_STYLE_INPUT,\"\"FEHER\"Belépés\",\"\"FEHER\"Írd be a jelszavad a belépéshez!\",\"Belépés\",\"Kilépés\");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGEL, DIALOG_STYLE_INPUT,\"\"FEHER\"Regisztráció...\",\"\"FEHER\"Írj be egy jelszót a regisztrációhoz.\",\"Regisztráció\",\"Kilép\");
    }
    return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
    new INI:File = INI_Open(UserPath(playerid));
    INI_SetTag(File,\"data\");
    INI_WriteInt(File,\"Penz\",GetPlayerMoney(playerid));
    INI_WriteInt(File,\"Admin\",PlayerInfo[playerid][pAdmin]);
    INI_WriteInt(File,\"DriftPont\",PlayerInfo[playerid][pDriftPont]);
    INI_WriteInt(File,\"DMPont\",PlayerInfo[playerid][pDMPont]);
    INI_WriteInt(File,\"Skin\",PlayerInfo[playerid][pSkin]);
    INI_Close(File);
    return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
    return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch( dialogid )
    {
        case DIALOG_REGEL:
        {
            if (!response) return Kick(playerid);
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGEL, DIALOG_STYLE_INPUT, \"\"FEHER\"Regisztráció...\",\"\"PIROS\"Rossz jelszót írtál be!\\n\"FEHER\"Írj be egy jelszót a regisztrációhoz.\",\"Regisztráció\",\"Kilép\");
                new INI:File = INI_Open(UserPath(playerid));
                INI_SetTag(File,\"data\");
                INI_WriteInt(File,\"Jelszo\",udb_hash(inputtext));
                INI_WriteInt(File,\"Penz\",0);
                INI_WriteInt(File,\"Admin\",0);
                INI_WriteInt(File,\"DriftPont\",0);
                INI_WriteInt(File,\"DMPont\",0);
                INI_WriteInt(File,\"Skin\",1);
                INI_Close(File);
                SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
                SpawnPlayer(playerid);
                ShowPlayerDialog(playerid, DIALOG_SIKERES_1, DIALOG_STYLE_MSGBOX,\"\"FEHER\"Sikeres!\",\"\"COL_GREEN\"Sikeresen regisztráltál! Lépj be újra, hogy elmentsd a statod!\",\"Ok\",\"\");
            }
        }
        case DIALOG_LOGIN:
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pJelszo])
                {
                    INI_ParseFile(UserPath(playerid), \"LoadUser_%s\", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, PlayerInfo[playerid][pPenz]);
                    ShowPlayerDialog(playerid, DIALOG_SIKERES_2, DIALOG_STYLE_MSGBOX,\"\"FEHER\"Sikeres!\",\"\"ZOLD\"Sikeresen beléptél!\",\"Ok\",\"\");
                }
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_BELEP, DIALOG_STYLE_INPUT,\"\"FEHER\"Belépés\",\"\"PIROS\"Rossz jelszót írtál be.\\n\"FEHER\"Írd be a jelszavad a belépéshez.\",\"Belép\",\"Kilép\");
                }
                return 1;
            }
        }
    }
    return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
//=========================================

10
Általános / Milyen szervernek örülnétek?
« Dátum: 2013. Április 17. - 18:44:22 »
Ha esetleg más jellegû szervert szeretnétek, akkor írjátok meg nekem.
Nincs ötletem, hogy milyen típusú szervernek örülnétek, ezért egy kis közvéleménykutatást tartok.
A host már megvan, csak a modot kell megírnom.

11
Sziasztok!
Ebben a topicban szeretnék bemutatni pár pawno kódot, azokat jellemezve, részletesen leírva mi-mit jelent.
Kezdjük is el. Elsõ kódunk a SendClientMessage
 
SendClientMessage(playerid, -1, \"www.sampforum.hu\");

 
Mit csinál a kód: Üzenetet küld annak a játékosnak aki beírja a hozzá kapcsolt parancsot. Pl.: /help
playerid - a játékos aki beírja a parancsot
-1 - Ez egy színkód, jelen esetben fehér. Lehet ez bármilyen, akár kóddal, akár definiálva írod be
idézõ jelbe írt szöveg - ezt az üzenetet fogja megkapni az, aki beírja a kódhoz kapcsolt parancsot
SendClientMessageToAll:
 
SendClientMessageToAll(-1, \"www.sampforum.hu\");

 
Mit csinál a kód: Minden játékosnak küld egy üzenetet, ha beírjuk a hozzá kapcsolt parancsot. Pl.: /reklám
-1 - Színkód, jelen esetben fehér
idézõ jelben írt szöveg: ezt az ütenetet kapják meg a playerek
 
if(IsPlayerInRangeOfPoint( playerid, 1.0, x,y,z))

 
Mit csinál a kód: Helyhez köt egy parancsot. Csak az adott helyen tudod használni
playerid - játékos aki beírja
1.0 - ez a kör sugarát jelenti, ami megadja, hogy mekkora távolságban használhasd a parancsot az adott helytõl
x,y,z - ide kerül a koordináta, ahol szeretnéd, hogy használható legyen a parancs
 
CreateObject(363, 1036.17, 1264.66, 21.19,   0.00, 0.00, 0.00);

 
Mi is ez a kód: Ezzel a kóddal tudsz objecteket létrehozni
elsõ 3 szám amit , választ el - az object helye (koordináta) ahol el fog helyezkedni
a dupla szóköz utáni 3 szám , elválasztva: forgástengelyek.
 
CreateVehicle(599, -756.3206, 2761.6204, 45.8912, 88.8508, -1, -1, 100);

 
Mi is ez a kód: Ezzel a kóddal jármûveket tehetsz le a mapon
elsõ szám (599) - kocsi id-je
következõ 3 szám , elválasztva: kocsi spawnolási helye (ide teszi le a kocsit)
-1, -1 - kocsi színe (wikin tudsz nézni színeket) ez jelen esetben fehér
Most akkor nézzünk egy egyszerû parancsot ezeknek a kódoknak a felhasználásával és egy fegyver adó kóddal:
 
CMD:lopfegyver(playerid, params[]) //parancs amit be kell írni
{ //megnyitjuk a parancsot
    if(IsPlayerInRangeOfPoint(playerid, 30.0, 1237, 843, 1274)) //helyhez kötjük a parancsot
    { //megnyitjuk az if függvényt, ez arra jó, hogy csak akkor adja oda a fegyvert a játékosnak ha jó helyen írja be a parancsot
        GivePlayerWeapon(playerid,WEAPON_MP5,100); //adunk egy MP5-t a játékosnak
        SendClientMessageToAll(KEK, \"Valaki lopott egy MP5-t a fegyverraktárból!\"); //értesítjük a többi játékost a lopásról
        SendClientMessage(playerid, KEK, \"Elloptál egy MP5-t a fegyverraktárból, most menekülj!\"); //közöljük a játékossal a lopás sikerességét
} //lezárjuk az if függvényt
else //az else szó megfelel nagyjából a magyar \"ha nem\" kifejezésnek, vagyis ezzel azt állítjuk be, hogy mi történjen, ha nem jó helyen írja be a parancsot valaki!
{ //megnyitás...
        SendClientMessage(playerid, KEK, \"Nem vagy a fegyverraktárban!\"); //ez közli a játékossal, hogy nem megfelelõ helyen írta be a parancsot
} //zárás...
return 1; //lezárjuk a parancsot
} //lezárjuk a parancsot

 
Most, hogy láttuk, hogy is mûködnek ezek a parancsok a gyakorlatba, mutatok egy újabb kódot, részletesen elmagyarázva:
 
public OnPlayerDeath(playerid, killerid, reason) //playerid=meghalt játékos killerid=gyilkosa reason=indok/ok (igazából azt fejezi ki, hogy miért halt meg a játékos)
{
   new string[32]; //errõl késõbb lesz szó!
   GivePlayerMoney(killerid, 1000); //killerid=itt azt jelenti hogy ki kapja a pénzt, jelen esetben a gyilkos| 1000=pénz összege amit kap a gyilkos
   format(string, sizeof(string), \"Jelenleg %d Ft-od van.\", GetPlayerMoney(killerid)); //ezt a sort lentebb hosszabban elmagyarázom
   SendClientMessage(killerid, 0xFFFFFFFF, string); //ezzel már tisztába vagyunk, de leírom. Ez küldi az értesítést a gyilkosnak, hogy mennyi pénze van!
}
/* Vissza térve a
format(string, sizeof(string), \"Jelenleg %d Ft-od van.\", GetPlayerMoney(killerid));
sorra...Ami itt nekünk fontos most, az a \"%d\". Nos ez a jel mindig számot, mennyiséget fejez ki.
Hogy milyen mennyiséget is? Miután beírtuk a \"\"Jelenleg %d Ft-od van.\" szöveget, vesszõvel elválasztva
beírjuk, hogy pontosan minek az értékét is írja ki a \"%d\". Jelen esetben a GetPlayerMoney kódot
használjuk, mivel ez kéri le a játékos pénzét.
Csak zárójelbe megjegyezném, hogy ha elõtte mondjuk írunk egy
#define gyilkospenz GetPlayerMoney(killerid);
definíciót, akkor a GetPlayerMoney(killerid); helyére elég annyit írni, hogy gyilkospenz,
mivel definiálva van, vagyis ugyanazt jelenti.*/

 
Az elõzõ kódomban ígértem, hogy részletesen kitérek a string és %d részekre:
Hogy mik is ezek? - Igazából pontos magyar megfogalmazást nem tudok rá mondani, de talán az lenne rá a legjobb hogy változók!
Hol veszed hasznát? - Például egy olyan kódnál amit az elõbb bemutattam, vagy bármi olyannál, aminél nem tudsz megadni pontos összeget, mert az változhat!
Mostantól hívjuk õket a rendes nevükön! A Format Stringek fajtái:
- %b     Számokat illeszt be bináris számrendszerben
- %c     Beillesz egy egyedüli karaktert.
- %d     Egész számokat illeszt be.
- %f     Beilleszt egy lebegõpontos számot.
- %i     Beilleszt egy egész számot.
- %s     Beilleszt egy stringet.
- %x     Beilleszt egy számot a hexadecimális(16-os) számrendszerbõl!
- %%     Beilleszt egy szót!
A placeholdereket(ezeknek a format stringeknek az értelmezõi, mint a kódomban a getmoney) ugyanolyan sorrendben kell beírni vagy szakszóval \"rögzíteni\" mint amilyen sorrendben van a szövegben a format string. Erre vegyünk egy egyszerû példát:
 
new S[128]; //vegyünk fel azt az értéket amire szükségünk lesz
format(S, sizeof(S), \"%s adott neked $%d Ft-ot.\", Jatekosnev, Penz); //persze itt a Jatekosnev és a Penz szavak már értelmezve lettek

12
Leírások/Útmutatók / [TuT] IsPlayerInRangeOfPoint leírás
« Dátum: 2013. Április 16. - 14:34:25 »

Sziasztok!
Egy pawno if függvényt szeretnék bemutatni/elmagyarázni a kezdõ scriptereknek.
Ez a függvény nem más mint a IsPlayerInRangeOfPoint függvény.
Hogy mire is jó ez?: Ezzel a kóddal helyhez tudsz kötni egy parancsot.
Elõször is nézzük a függvényt:
 
 
if(IsPlayerInRangeOfPoint( playerid, távolsá, x, y, z))

 


Magyarázat:
playerid - a játékos aki beírja a kódot.
távolság - ide egy szám jön, hogy mekkora sugarú \"körben\" legyen használható a parancs.
x, y, z - ide jön a kör sugarának kiindulópontja, vagyis innen kezdõdik a parancs használható helyének hatósugara.
Itt egy egyszerû példa:
 
 
CMD:ruhavesz(playerid, params[])
{
if(!IsPlayerInRangeOfPoint(playerid, 3.5, vX, vY, vZ)) return SendClientMessage(playerid, PIROS, \"Nem vagy a ruhaboltban!\");
{
SetPlayerSkin(playerid, 26);
}
return 1;
}

Oldalak: [1]
SimplePortal 2.3.7 © 2008-2024, SimplePortal