Ü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 - bencarter007

Oldalak: [1] 2 3 ... 5
1
SA-MP: Szerver bemutatása / A Los Santos Kaland
« Dátum: 2019. Június 22. - 11:13:45 »
Szervusztok!
 
Szeretném bemutatni a \"Los Santos kaland\" fantázianevet viselő szerverünket!
 
A szerver lényege, hogy a single player hangulatát hozzuk el a játékosoknak több játékos módban. Missziók, munkák, kihívások és sok más apróság adja meg a hangulatot, mellyel már rég találkoztunk. Félkész, béta módban van nyitva! Ha Speedy552 fenn van, de nem válaszol, valószínűleg hibát javít!
 
Első ránézésre RP szerver jellegűnek tűnhet a projekt, ám nálunk a kemény szerepjáték szabályok helyett csupán az alap becsületi és tiszteleti dolgok érvényesek.
Újdonság lehet a karakter fejlesztés, amelyet az eddigi játékosoknak nem igazán sikerült megszokniuk.
A felhasználói panel a TAB menüben a nevedre kattintva érhető el.
Itt érhető el a statisztika, a kihívások, a karakter fejlesztés, a munkával kapcsolatos fejlesztések,
a ház, a járművek, a cég és a banda menü is.
 
\"65378899_370755003645805_830920444851781\"
 
\"64981125_859006707819962_746156249339186\"\"64765283_2127150987575283_62993258876197\"\"65377463_2317906675115299_49915171893254\"
A ház rendszer meglehetősen egyszerű. Ha van házad, ott spawnolsz halál után is és csatlakozáskor is.
Bármikor haza tudsz menni, ha a felhasználói panelben a \"\"hazamenni\" gombra kattintasz.\"64722709_439766313547840_393404240793016\"
 
 
 
\"65149054_337855643559138_749669707821980\"
Cesar az Aztecas területén ügyködik, általában a garázs mellett.
Lowrider autókat rak össze és ad el, ám annyi munkája van, hogy nem ér rá elvinni a megrendelőnek, így ha egy játékos munkát kér tőle, nagy eséllyel autószállító munkát ad majd.
Woozie odafenn, a Vinewood hegy tetején várja a villája tornácán Su Xi Mu oldalán, hogy valaki meglátogassa.
Átlagosan arról beszél, hogy milyen szép a kilátás, nem kell firtatni.  Ha munkát kérsz tőle, kapsz pár fegyvert Suzietól és arra kérnek,
hogy öld meg az egyik játékost. Nem érdekli, hogy a barátod vagy nem, az üzlet az üzlet.
Ryder a Grove utcai házánál ácsorog és mindig be van tépve. A látogatóknak nem nagyon örül, kivéve ha viszel neki egy kis szívni valót.
Ad érte egy kis pénzt, aztán valószínűleg újra elküld melegebb éghajlatra, de azért jó kereseti forrás.
Dwaine egy érdekes ember. Az elhagyatott műhelyében bujkál. Elvileg autószerelő, de a műhely mindig üres. Ha melót kérsz tőle,  tesz egy ajánlatot egy bizonyos autó fajta ellopására és megjelöli a GPS-en, hogy hol szokott parkolni egy példány. Nem mindig 100%-os infó, de sokat segít.
 
A szerveren működik a single playerből ismerős \"beülsz a kocsiba és dolgozol\" játékmód. Ez azt jelenti, hogy ha bizonyos cégek autóiba ülsz be, felajánlja a cégnek való dolgozást.
 
Rendőrség
Beülsz egy rendőrautóba vagy felülsz egy rendőr motorra, elfogadhatod a rendőrség ajánlatát. Amennyiben így teszel, vörössel megjelöli a körözött játékosokat a térképen és ad pár fegyvert, hogy hatástalanítani tudd őket. Ha megölsz egy körözött játékost, a körözési szintjétől függően fizetnek.
Mentő
 
\"64815691_1880869958679516_53159484102960\"\"65126567_2292768607604882_87813027482734\"
A városban két kórház üzemel, mindkettő mellett parkolnak szolgálati autók. Ha elfogadod a munkát, megjelöli a GPS-en, hogy hova kell mennned. Ha odérsz, felveszed a beteget és már mehetsz is vele a kórházba. A sérülésétől függően vagy a Mindenszentek Kórházba vagy a Glen park melletti Egészségügyi központba irányít majd.
Taxi
 
\"65284781_2454968587889337_91542711154832\"
 

A taxik több helyen is parkolnak a városban, a legtöbb belőlük a Unity vasútállomás közelében van. A feladat egyszerű, elmész az utasért, felveszed és kiteszed ott, ahol akarja.
Pizzafutár
A pizzafutár munkát a Well Stacked Pizza parkolójában álló robogókkal tudod elvállalni. Los Santosban csupán egy van belőle, de a tanyavilágban szintén van egy boltjuk, amely csak a tanyavilág környékét látja el. Felveszed a friss pizzákat, és kiviszed őket. Minden egyes pizza után kapsz egy kis jutalmat, de ha a robogót ott hagyod valahol a kiszállítatlan pizzákkal, büntetést fizettet veled a cég.
Sprunk szállító
A sprunk gyár a kikötőhöz közel áll. A feladat, hogy a gyárból a raktárba vagy boltokba szállítsd a frissen legyártott Sprunk-ot. Adhat egy három boltból álló útvonalat vagy kijelölheti a nagy Sprunk raktárat.
 

Sör szállító
A Fleischberg sörfőzde Blueberry mellett áll. A teherautói a parkolóban várják a sofőröket. A feladat szimpla szállítmányozás - beülsz, odatolatsz a gyár kapujához, megpakolják a kocsit és viszed. Nagy átlagban a helyi kocsmákat jelöli ki a térképen, de előfordul, hogy a nagyvárosba kell vinni a sört.
Pénz szállító
A bank mellett egyetlen páncélautó vár a sofőrökre. A feladat kissé veszélyes, de az egyik legjobban fizető munka, bár nagyot lehet rajta bukni is.
Átveszed a kocsit, elmész vele a város széli kincstárba és átveszed a pénzt. Innentől nagyon figyelj oda, hogy milyen útvonalat választasz, mert bár a bank nincs messze, ha a kocsival és a benne lévő pénzzel történik valami, azt veled fizettetik ki és enyhén szólva sem fillérekről van szó. Megéri kirabolni, hiszen a felrobbantott autó körül szétszóródik a pénz, amit fel lehet venni.
Lőszer szállító
 
\"64928184_891980861194720_663036609689131\"
A lőszer szállítását megoldhatod  földi vagy légi úton. A földi útvonalon egy teherautóra lesz szükséged a kikötő melletti bázisról.
Ha elfogadod a munkát, megjelöli a térképen a lőszerraktárat, ami a tanyavilágban található. Miután felvetted a lőszert, óvatosan vezess, mert a nagyobb koccanások felrobbanthatják a szállítmányt, vele együtt téged és a munkád. A légi szállításhoz válassz egy katonai helikoptert a bázisról, ki fogja jelölni úticélnak a San Fierroba vezető út melletti lőszergyárat. Innentől a feladat ugyanaz mindkét lehetőségnél. Szállítsd le a katonai bázisra. Ha úgy döntesz, hogy nem akarsz náluk dolgozni, csak elvinnéd valamelyik járművet, sajnos megajándékoznak négy csillagos körözési szinttel.
 
Egyelőre további információkért kattints IDE!
 
Megkérem az adminokat, hogy hagyják nyitva a téma szerkesztését, a következő hétvégéig fokozatosan betöltögetem a hiányzó részeket!
A megértést köszönöm! :)
 
 
 
A \"tesztereknek\" külön köszönet a szerveren írt jó kivánságokért, hasonlóakat kívánok nektek is!
A mód béta, fel van tüntetve több helyen is.
 

Külön köszönet DurkO1 nevű játékosnak, aki észrevett két  hibát a rendszerben! 
Javítottam! :)

2
Segítségkérés / fixchars bug
« Dátum: 2017. Július 08. - 11:42:42 »
amikor csak simán kiiratom változtatás nélkül a playertextdraw-ot, a karaktereim szépen ékezetesen jelennek meg.
amikor használom a  playertextdrawsetstring-et, az ékezetes karaktereim nem jelennek meg, csak egy üres hely marad a helyükön.
hogyan tudnám ezt kiküszöbölni?
 
 

3
Segítségkérés / Object stream hiba
« Dátum: 2016. Október 23. - 22:47:38 »
Szervusztok!
mappoltunk egy sráccal felül 600 objectes mappot, de amint belépünk a szerverre, kicrashelünk a francba az object mennyiségére hivatkozó hibakóddal. próbálkoztam a streamerrel, az pedig cseszik rá betölteni.
ötlet?

4
Segítségkérés / külföldi SMS hoszt
« Dátum: 2015. Október 20. - 13:02:12 »
Szervusztok!
Szükségem lenne egy hosztra, amely külföldi SMS-t is fizetési formát is elfogad és engedélyezett az NPC-k csatlakoztatása.
Nézelődtem. A clans.hu hatalmas csalódás volt, most pedig már nem is fogadnak külföldi SMS-t.
Köszönöm a válaszokat!

5
Fórum Archívum (Témák/Fórumok) / Re:Nem tudom hogyan kel.?
« Dátum: 2015. Augusztus 23. - 18:34:59 »
off: hányszor voltam miatta leb@szva és warnolva,hogy a témám cime nem helyes, ez meg semmi, pedig abszolút nem jelöli a kérdés témáját, csak annyit, hogy valamit nem tud, de még a valami sincs feltüntetve. A kérdés sem igazán kérdés...

6
szervusztok!
irtam egy ilyen dolgot, de amint használom, a szerver nem kommunikál tovább.
 
CMD:setleader(playerid, params[])
{
new targetid,leader;
if (sscanf(params, \"ud\", targetid,leader)) SendClientMessage(playerid, -1, \"[TIPP]: /setleader <playerid> <frakció>\");
if (targetid == INVALID_PLAYER_ID) SendClientMessage(playerid, COLOR_ERROR,\"[HIBA]: Nincs ilyen játékos!\");
else
{
    pInfo[targetid][LeaderJob] = leader;
    pInfo[targetid][LeaderRank] = 5;
}
return 1;
}

 
tulajdonképpen olyan, mintha kifagyna, de mégsem. a crashdetect nem mutat semmit, a konzol fut tovább, ám a játékosok felé nem mennek adatcsomagok és a szerver sem érzékeli a játékosok által küldött adatcsomagokat. Ötlet?

7
Segítségkérés / Játékoshoz csatolt objectum textúrájának cseréje
« Dátum: 2015. Május 12. - 19:34:41 »
Hali!
Szeretném átdobni a csatolt objecktum textúráját, de a
SetPlayerAttachedObject

 nem működik a
SetObjectMaterial

-al. Ötletek a megvalósitáshoz?

8
Segítségkérés / feljebb hozni objektumokat
« Dátum: 2015. Április 10. - 18:05:02 »
Hali!
Mappoltam egy 400 objektumos interiort, de az egész túl lent van,
Mikor odateleportálok, a játék visszadob az alap legmélyebb pontra. Hogy tudnám felhozni pl 50 koordinátányira az összes objektumot?

9
Segítségkérés / dialog regisztrációban nem ment adatokat
« Dátum: 2015. Április 02. - 02:41:09 »
a regisztrációban minden más működik, csak épp ezek a sorok nem.
beregisztrálok, kapom a kezdőpénzt, a fegyvereket, de a kort és a nemet nem menti...
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_LOGIN)
    {
        if(response)
        {
            new string[24+4];
          format(string,sizeof(string),\"%s.ini\",pName(playerid));
    if(!strcmp(password,\"password\")
   {
       //bejelentkezett
   }
   else ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", \"Az általad megadott jelszó hibás!\\nGépeld be a jelszavad!\", \"Belép\", \"Kilép\");
        }
        else
        {
            Kick(playerid);
        }
        return 1;
    }
    if(dialogid == DIALOG_REGISTER)
    {
        if(response)
        {
            new string[24+4];
          format(string,sizeof(string),\"%s.ini\",pName(playerid));
          if((strlen(inputtext) > 5) && (strlen(inputtext) < 33 ))
          {
      ShowPlayerDialog(playerid, DIALOG_SEX, DIALOG_STYLE_LIST, \"Milyen nemű a karaktered?\", \"Férfi\\nNő\", \"Tovább\", \"\");
   }
   else ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, \"Regisztráció\", \"A jelszavad legyen 6-32 karakter!\\nKérlek regisztrálj!\\n\\nGépelj be egy jelszavat!\", \"Tovább\", \"\");
        }
        else
        {
            Kick(playerid);
        }
        return 1;
    }
if(dialogid == DIALOG_SEX)
    {
        if(response)
        {
            switch(listitem)
        {
                case 0:
         {
             pInfo[playerid][sex] = 1;
                 ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, \"Karakter adatok\", \"Hány éves a karaktered?\\n(21-99)\", \"Tovább\", \"\");
         }
                case 1:
         {
             pInfo[playerid][sex] = 2;
                 ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, \"Karakter adatok\", \"Hány éves a karaktered?\\n(21-99)\", \"Tovább\", \"\");
         }
        }
        }
        return 1;
    }
    if(dialogid == DIALOG_AGE)
    {
        if(response)
        {
                new age = strval(inputtext);
                if((age > 20) && (age < 100))
                {
                    pInfo[playerid][Age] = age;
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", \"Gépeld be a jelszavad!\", \"Belép\", \"Kilép\");
      }
      else ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, \"Karakter adatok\", \"Hány éves a karaktered?\\n(21-99)\", \"Tovább\", \" \");
        }
        else
        {
            Kick(playerid);
        }
        return 1;
    }
    return 0;
}

 
ötlet?

10
Leírások/Útmutatók / Tutorial a teljesen kezdő pawno-soknak!
« Dátum: 2015. Március 29. - 23:52:39 »
/*
Köszöntelek a rövid tutorial scriptben!
 
a \"per csillag\" nyitja a kommentárt, a \"csillag per\" pedig zárja, mint azt láthatod itt is
*/
//a kommentárt így is hozzáadhatod, de a \"//\" után a teljes sor kommentként lesz jelen
/*
ha összehasonlítasz, azt mindig így tedd:
if(változó1 == változó2)            ez egyenlőséget jelez
if(változó1 >= változó2)            változó1 nagyobb vagy egyenlő a változó2-vel
if(változó1 <= változó2)            változó1 kisebb vagy egyenlő a változó1-el
if(változó1 > változó2)             változó1 nagyobb, mint a változó2
if(változó1 < változó2)             változó1 kisebb, mint a változó2
!!!FONTOS!!!
a változók nevébe ne adj meg ékezetes karaktereket!
a változókhoz rendelhetsz értéket:
new integer = 1;
new Float:value = 3.14;
new string[24] = \"egy karakterlánc\";
integer++; //az integer nevű változóhoz hozzáad egyet
integer--; //az integer nevű változóból kivon egyet
integer -= 2; //az integer értékből kivontunk 2-t, ugyanaz, mint: integer = integer -2;
integer += 2;//az integerhez hozzáadtunk 2-t, ugyanaz, mint: integer = integer +2;
integer *= 2; //az integer-t megszoroztuk kettővel, ugyanaz, mint: integer = integer * 2;
!!!FONTOS!!!
elkerülendő, hogy az érték átadáskor kifaggyon a program, figyelembe kell venni, hogy
a változó typusa megfelelő legyen az adott adat tárolására!
[GYAKORI HIBA]: integer /= 2; //az integer-t osztotuk kettővel,ugyanaz, mint: integer = integer /2;
az integer egész változó típusú, így nem tudja tárolni az adatokat.
Miért?
Fel van készítve arra, hogy az osztás nem egész számot ad vissza, pl.: 1/2 = 0.5
Ezt már nem tudja menteni egyszerű egész számra lefoglalt memóriaterületre a program
a lefoglalható memóriaterületekre most nem térek ki, aki kiváncsi rá, az olvasson utána
(Elnézést kérek érte)
 
include-ok
az include-ok amolyan beépülők, a pawno/includes mappájából olvassa be őket a konverter.
#include <a_samp> //ez egy olyan alap, amelyre minden módban szükség van
#include <zcmd> //ez egy parancsfeldolgozó, ezzel (szerintem/számomra) legegyszerűbb a parancsok feldolgozása, lentebb ki lesz fejtve
#include <sscanf2> //ez egy függvény, amely a zcmd-t segíti, feldarabolja a paramétereket, és segít feldolgozni azokat, további infó lentebb
néhány include megköveteli a plugin-okat, ezeket a plugins mappában találjuk és oda is kell őket beilleszteni.
az include-ok helyes felhasználásáról érdemes többet olvasni, a leírás végén linkelek pár leírást.
*/
//a script működése érdekében kivettem a kódot a megjegyzésekből, és a feldolgozandó részbe is kimásoltam
#include <a_samp>
#include <zcmd>
#include <sscanf2>
 
//definíciók
//definiálhatsz egy szavat, amihez hozzáadsz egy értéket, így például a zöld színt
#define COLOR_GREEN 0x33AA33AA
//#define kulcsszó érték
stock pName( playerid )
{
new name[ MAX_PLAYER_NAME ];
GetPlayerName( playerid, name, sizeof name );
return name;
}
main()//ezt a részt innen ne töröld ki, különben nem fut fel a szerver
{
/*a \"print\" a konzolba ír szöveget
pl.: print(\"hello world\");
ha egy változót szeretnénk a szövegbe beilleszteni, nem kell sztringeket
létrehozni sé formázni őket, mint egyébként a SendClientMessage-nél kéne.
a változó beillesztős konzolos kiírás így néz ki:
new integer = 4;
printf(\"az integer értéke %d\",integer);
*/
print(\"\\n----------------------------------\");
print(\" A játékmód felfutott\");
print(\"----------------------------------\\n\");
}
public OnGameModeInit()//amikor felfut a mód
{
SetGameModeText(\"teszt mód\");//ez írja a szerver kliensben a GAMEMODE alá
//az AddPlayerClass-okból legalább egyet haggy bent, különben bugolni fog a szerver
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnGameModeExit()//amikor a szerver leáll
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)//amikor a játékos spawn előtt választ
{
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 OnPlayerConnect(playerid)//amikor a játékos csatlakozik
{
new string[180];//létrehoztál egy új sztringet
format(string,sizeof(string),\"%s csatlakozott a szerverhez!\",pName(playerid));
SendClientMessageToAll(-1,string);
return 1;
}
public OnPlayerDisconnect(playerid, reason)//amikor egy játékos lecsatlakozik
{
    new string[180];//létrehoztál egy új sztringet, a []-ben szereplő érték a biteket foglalja le a memóriában
    //minél több karaktert szeretnél beletenni, annál több itet kell lefoglalni
format(string,sizeof(string),\"%s lecsatlakozott a szerverről!\",pName(playerid));
//a string változóba eltároltuk a szöveget. a \" %s \" a játékos nevét fogja behelyetesíteni.
//minden változó fajta behelyettesítéséhez más karaktert használunk.
//%s a sztring, %f a lebegőpontos, %d az egész változó
SendClientMessageToAll(-1,string);
switch(reason)//a switch a sok változós összehasonlításnál jó
//switch-be beírod a változót, a \"case\" után pedig hogy mit tartalmazzon.
{
case 0: SendClientMessageToAll(-1,\"Oka: időtúllépés\"); //ha a változó egyet tartalmaz, akkor ezt írja
case 1: SendClientMessageToAll(-1,\"Oka: kilépett (/q)\"); //ha a változó kettőt tartalmaz, akkor ezt írja
case 2: SendClientMessageToAll(-1,\"Oka: kick/ban\"); //ha a változó hármat tartalmaz, akkor ezt írja
}
 /*
ez az összehasonlítás így is kinézhetett volna:
if (reason == 0) SendClientMessageToAll(-1,\"Oka: időtúllépés\");
else if (reason == 1) SendClientMessageToAll(-1,\"Oka: kilépett (/q)\");
else if (reason == 2) SendClientMessageToAll(-1,\"Oka: kick/ban\");
 */
return 1;
}
public OnPlayerSpawn(playerid)//mikor a játékos spawnol
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)//miko a játékos meghal
{
return 1;
}
public OnPlayerText(playerid, text[])//amikor a játékos beír valamilyen szöveget, a parancsok nem tartoznak ide
{
return 1;
}
public OnPlayerUpdate(playerid)//amikor a játékos és a szerver között van kapcsolat, tehát ezred másodpercenként
{
return 1;
}
CMD:car(playerid,params[])//amikor a játékos beírja ezt a parancsot
{
//itt létrehozol változókat
new car; //ez egy egyszerű változó, mely egy integer-t, tehát egy egész számot ment a memóriába.
new Float:x,Float:y,Float:z,Float:Angle;// a \"Float:\" lebegőpontos (pl 3.14) értéket ment
GetPlayerPos(playerid,x,y,z);//lekéri a játékos koordinátáit. a koordináták mindig lebegőpontosak
GetPlayerFacingAngle(playerid,Angle); //lekéri a játékos nézőszögét, ez szintén lebegőpontos
car = CreateVehicle(558,x,y,z,Angle,0,0,-1);//a \"car\" nevű változóra rátesszük a járművet, amit létrehozunk.
// CreateVehicle(jármű modell, x tengely, y tengely, z tengely, forgási tengely, szín 1, szín 2, respawn idő);
PutPlayerInVehicle(playerid,car,0);//beleteszi a járműbe a játékost, PutPlayerInVehicle(játékosid, jármű id, ülés száma)
//az ülések: 0-sofőr,1 - anyós, 2&3 - hátsó ülések,4 és több ritkán használt
SendClientMessage(playerid,-1,\"Lekértél egy autót!\");
//küldesz egy üzenetet a játékosnak, SendClientMessage(játékos id, szín id, \"Üzenet\");
return 1; //visszaadjuk a szervernek, hogy parancsot írt be a játékos
}
CMD:createcar(playerid, params[])
{
new string[128],carmodel,Float:x,Float:y,Float:z,Float:angle;//létrehozzuk a változókat
if(sscanf(params, \"d\", carmodel)) return SendClientMessage(playerid, -1, \"[TIPP]: /createcar <modell>\");
//az SSCANF feldolgozza a paramétereket, kiolvassa a paraméterek közül a megadott modellt, pl.: /createcar 558
//itt az 558-as értéket menti át a \"carmodel\" változóba.
GetPlayerPos(playerid,x,y,z);//lekérjük a koordinátákat, az előző parancsnál magyarázva
GetPlayerFacingAngle(playerid,angle);//lekérjük a játékos nézőszögét, előző parancsnál magyarázva
new car = CreateVehicle(carmodel,x,y,z,angle,0,0,-1);//létrehozzuk a járművet, előző parancsnál magyarázva
PutPlayerInVehicle(playerid,car,0);//beleültetjük a játékost a járműbe, előző parancsnál magyarázva
format(string,sizeof(string),\"Letettél egy %d modellű járművet! [iD:%d]\",carmodel,car);
/*a sztringbe beillesztjük a szövegünket, melyben az első %d az általunk megadott jármű modellje lesz,
a második pedig a jármű ID-je, melyet az imént létrehoztunk*/
SendClientMessage(playerid,COLOR_GREEN,string);//elküldjük a játékosnak az üzenetet
return 1;
}
/*amennyiben a leírások valamelyike nem volt érthető, vagy nem merítettem ki a témát eléggé,
(mert nem írtam le mindent, ez az igazság) mellékelek egy link listát!
külön köszönet a www.sampforum.hu adminjainak és felhasználóinak!
zcmd leírása: http://sampforum.hu/index.php?topic=10780.0
sscanf leírása: http://sampforum.hu/index.php?topic=4400.0
 
!!!Figyelem!!!
Előfordulhatnak banális elírási, illetve fogalmazási és megnevezési hibák.
Amennyiben észrevételek vannak, kérem őket kommentbe, privát üzenetbe, vagy a
[email protected] címre.
Megértéseteket köszönöm!
*/

11
SA-MP: Szerverfejlesztés / GTA5 bankrablás
« Dátum: 2015. Február 09. - 01:27:09 »
Hali!
Megtetszett a bankrablás a GTA5-ből, hát megirtam.
/bank paranccsal bejutsz a bankba. Ott ácsorog egy NPC.
Ha rászegezed a fegyvert, akkor elkezdi kipakolni a pénzt a pultra,
pár másodperc múlva a rabló felveszi az összeget és mehet.
Tehát bemész
\"width=500http://kepfeltoltes.hu/150209/sa-mp-049_www.kepfeltoltes.hu_.png[/img]
Előhúzod a fegyvert
\"width=500http://kepfeltoltes.hu/150209/sa-mp-050_www.kepfeltoltes.hu_.png[/img]
Rá célzol
\"width=500http://kepfeltoltes.hu/150209/sa-mp-051_www.kepfeltoltes.hu_.png[/img]
Kezdi kipakolni a lóvét
\"width=500http://kepfeltoltes.hu/150209/sa-mp-052_www.kepfeltoltes.hu_.png[/img]
Kipakolta, futás.
\"width=500http://kepfeltoltes.hu/150209/sa-mp-053_www.kepfeltoltes.hu_.png[/img]
Egyszerre csak egy ember rabolhat és nincs lefagyasztva a rabló
a rablás idejére, hiszen igy nem tudna védekezni.
ha /enter & /exit parancsra van irva a módban a belépés/kilépés, ide csak egy
 

new bool:IsPlayerRobbing[MAX_PLAYERS];
CMD:exit(playerid,params[])
{
if(IsPlayerRobbing[playerid] == true) return SendClientMessage(playerid,-1,\"Rablás közben nem mehetsz ki!\");
}

 
ez egy tipp,mindenkire rábizom, hogy oldja meg :D
Alapból 10 000 dolcsit ad a rablásért, de ebben a sorban be lehet állitani mennyit adjon:
 

#define BankRobMoney 10000

 
A fájl tartalmazza a forráskódot, a konvertált .AMX fájlt és az NPC felvételét(.rec).
A rendszert szabadon lehet használni, fejleszteni, a nevemet azért tüntessétek fel. Köszi!
link: http://www.filedropper.com/bankrob
kód:
 
#include <a_samp>
#include <zcmd>
new bool:BankRobToggle;
#define COLOR_GREEN 0x33AA33AA
#define COLOR_GREY 0xAFAFAFAA
#define BankRobMoney 10000
stock pName(playerid)
{
new name[100];
GetPlayerName(playerid,name,sizeof(name));
return name;
}
public OnFilterScriptInit()
{
CreateMap();
BankRobToggle = false;
ConnectNPC(\"Bank_NPC\", \"bot\");
return 1;
}
forward CreateMap();
public CreateMap()
{
CreateObject(4571,2164.8999000,-518.7999900,433.2000100,0.0000000,0.0000000,0.0000000); //object(stolenbuilds09) (1)
CreateObject(2173,2183.3000000,-520.9000200,497.5000000,90.0000000,0.0000000,180.0000000); //object(med_office_desk_3) (2)
CreateObject(2173,2185.2000000,-520.9000200,497.5000000,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (3)
CreateObject(2173,2187.1001000,-520.9000200,497.5000000,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (4)
CreateObject(2173,2183.3000000,-520.5000000,497.2000100,0.0000000,0.0000000,180.0000000); //object(med_office_desk_3) (6)
CreateObject(2173,2185.2000000,-520.5000000,497.2000100,0.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (7)
CreateObject(2173,2187.1001000,-520.5000000,497.2000100,0.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (8)
CreateObject(2174,2187.1001000,-520.5999800,497.2000100,0.0000000,0.0000000,270.0000000); //object(med_office4_desk_2) (1)
CreateObject(2190,2185.8000000,-520.4000200,498.0000000,0.0000000,0.0000000,0.0000000); //object(pc_1) (1)
CreateObject(2190,2183.6001000,-520.4000200,498.0000000,0.0000000,0.0000000,0.0000000); //object(pc_1) (2)
CreateObject(2174,2184.8000000,-520.7000100,497.2000100,0.0000000,0.0000000,270.0000000); //object(med_office4_desk_2) (3)
CreateObject(2173,2187.3000000,-522.9000200,497.2000100,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (9)
CreateObject(2173,2185.3999000,-522.9000200,497.2000100,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (10)
CreateObject(2173,2183.5000000,-522.9000200,497.2000100,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (11)
CreateObject(2174,2182.6001000,-520.5999800,497.2000100,0.0000000,0.0000000,270.0000000); //object(med_office4_desk_2) (4)
CreateObject(2173,2187.3000000,-522.9000200,498.0000000,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (13)
CreateObject(2173,2187.3000000,-522.9000200,498.7999900,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (14)
CreateObject(2173,2185.3999000,-522.9000200,498.0000000,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (15)
CreateObject(2173,2185.3999000,-522.9000200,498.7999900,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (16)
CreateObject(2173,2183.5000000,-522.9000200,498.0000000,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (17)
CreateObject(2173,2183.5000000,-522.9000200,498.7999900,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (18)
CreateObject(2173,2188.3999000,-520.5999800,498.8999900,90.0000000,0.0000000,269.9950000); //object(med_office_desk_3) (19)
CreateObject(2173,2182.3000000,-521.5999800,498.7999900,90.0000000,0.0000000,89.9890000); //object(med_office_desk_3) (20)
CreateObject(2173,2189.0000000,-520.9000200,497.5000000,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (21)
CreateObject(2173,2189.1001000,-520.9000200,498.2999900,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (22)
CreateObject(2173,2189.1001000,-520.9000200,499.1000100,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (23)
CreateObject(2173,2182.6001000,-520.9000200,498.2999900,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (24)
CreateObject(2173,2182.6001000,-520.9000200,499.1000100,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (25)
CreateObject(16150,2185.5000000,-518.9000200,496.7000100,0.0000000,0.0000000,0.0000000); //object(ufo_barinterior) (1)
CreateObject(2173,2189.1001000,-520.9000200,499.8999900,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (26)
CreateObject(2173,2188.3999000,-520.5999800,499.7000100,90.0000000,0.0000000,269.9890000); //object(med_office_desk_3) (27)
CreateObject(2173,2187.3000000,-522.9000200,499.6000100,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (28)
CreateObject(2173,2185.3999000,-522.9000200,499.6000100,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (29)
CreateObject(2173,2183.5000000,-522.9000200,499.6000100,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (30)
CreateObject(2173,2182.3000000,-521.5999800,499.6000100,90.0000000,0.0000000,89.9890000); //object(med_office_desk_3) (31)
CreateObject(2173,2182.6001000,-520.9000200,499.8999900,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (32)
CreateObject(1522,2184.5000000,-513.0000000,497.1000100,0.0000000,0.0000000,0.0000000); //object(gen_doorshop3) (1)
}
public OnPlayerSpawn(playerid)
{
if (IsPlayerNPC(playerid))
    {
        if ( !strcmp ( pName(playerid), \"Bank_NPC\", true ) )
    {
   SetPlayerSkin(playerid,194);
   return 1;
    }
}
return 1;
}
public OnPlayerUpdate(playerid)
{
if(!IsPlayerNPC(playerid))
{
    if(GetPlayerWeapon(playerid) <34 && GetPlayerWeapon(playerid) >21)
    {
    new target = GetPlayerTargetPlayer(playerid);
    if (BankRobToggle == false)
    {
        if(IsPlayerNPC(target))
        {
         if ( !strcmp ( pName(target), \"Bank_NPC\", true ) )
         {
                 ApplyAnimation(target,\"ped\",\"handsup\",4.1,0,1,1,1,1,1);
            BankRobToggle = true;
            new Float:x,Float:y,Float:z,string[280];
            GetPlayerPos(playerid,x,y,z);
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
               if (IsPlayerInRangeOfPoint(i,10.0,x,y,z))
               {
                  format(string,sizeof(string),\"%s kiabálja: Fegyveres rablás! Mindenki a földre!\",pName(playerid));
                  SendClientMessage(i,-1,string);
                  format(string,sizeof(string),\"%s kiabálja: Hé, Bankos! Pakold a pénzt kifelé!\",pName(playerid));
                  SendClientMessage(i,-1,string);
               }
            }
            SetTimerEx(\"BankRobStart\",1500,false,\"dd\",playerid,target);
         }
      }
   }
}
}
return 1;
}
forward BankRobStart(playerid,target);
public BankRobStart(playerid,target)
{
new Float:x,Float:y,Float:z;
    GetPlayerPos(target,x,y,z);
    if(IsPlayerNPC(target))
{
if ( !strcmp ( pName(target), \"Bank_NPC\", true ) )
{
    ApplyAnimation(target, \"BOMBER\", \"BOM_Plant\", 4.0, 1, 0, 0, 0, 0);
    SetTimerEx(\"BankRobReady\",15000,false,\"dd\",playerid,target);
   for(new i = 0; i < MAX_PLAYERS; i++)
   {
      if (IsPlayerInRangeOfPoint(i,8.0,x,y,z))
      {
         SendClientMessage(i,-1,\"Bankos hebegi: Odaadom a pénzt, csak egy...egy pillanat...\");
         SendClientMessage(i,COLOR_GREEN,\"*Bankos nekiállt kipakolni a pénzt a széfből.*\");
      }
   }
}
}
}
forward BankRobReady(playerid,targetid);
public BankRobReady(playerid,targetid)
{
    if(IsPlayerConnected(playerid))
    {
    if(IsPlayerConnected(targetid))
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    ClearAnimations(targetid);
    GivePlayerMoney(playerid,BankRobMoney);
    BankRobToggle = false;
   for(new i = 0; i < MAX_PLAYERS; i++)
   {
      if (IsPlayerInRangeOfPoint(i,5.0,x,y,z))
      {
         SendClientMessage(i,-1,\"*A rabló leszedi a pultról a pénzt*\");
      }
      else if(IsPlayerInRangeOfPoint(i,8.0,x,y,z))
      {
         SendClientMessage(i,-1,\"*A rabló leszedi a pultról a pénzt*\");
      }
   }
}
}
}
CMD:bank(playerid,params[])
{
SetPlayerPos(playerid,2185.2363,-513.9238,498.2156);
SetPlayerInterior(playerid,1);
SendClientMessage(playerid,-1,\"Beléptél a bankba!\");
return 1;
}

 
update!
javítva a fegyver lekérése!
 
if(GetPlayerWeapon(playerid) <34 && GetPlayerWeapon(playerid) >21)

 
Köszönet \"florone\" nevű fórumozónak!
Hibákat, észrevételeket várom!
Köszönöm!

12
Segítségkérés / Float olvasás dfile-ból
« Dátum: 2015. Január 16. - 02:33:08 »
az egész változókkal ez működik hiba nélkül,
a lebegőpontos változókat megwarningolja egy tag mismatch-al a dolgot.
hibás sorok:
 
pInfo[playerid][PosX] = dfile_ReadFloat(\"PosX\");
pInfo[playerid][PosY] = dfile_ReadFloat(\"PosY\");
pInfo[playerid][PosZ] = dfile_ReadFloat(\"PosZ\");

 
ötletek?

13
Segítségkérés / dialog rendezése
« Dátum: 2014. December 23. - 14:49:32 »
Hali!
a dialogomban a szöveg iigy jelenik meg:
 

asdasdasdasdasdasdasdasdasdasdasdasdasdasdasd
asdasdasdasdasdasdasdasdasd
asdasdasdasdasdasdasdasdasdasdasdasdasdasdasd
asdasdasdasdasdasdasdasdasdasd
asdasdasdasdasdasdasdasdasdasdasdasdasd
asdasdasdasdasdasdasdasdasdasdasd
 

hogy tudom rendezni ballra?
 

asdasdasdasdasdasdasdasdasdasd
asdasdasdasdasdasdasd
asdasdasdasdasdasdasdasdasdasdasd
asdasdasdasdasdasdasdasdasd
asdasdasdasdasdasd
asdasdasdasdasdasdasdasdasdasdasdasdasd

14
Hali!
Nemrég, hogy sokadszorra végigjátszottam a Vice City-t, eszembe ötlött a gondolat, hogy milyen jól is nézne ki
a SAMP-ban is a fedett rendőrautó. Nos, pár perces munka volt.
5000 dolcsiért lehet venni egy autót a /undercover paranccsal.
Az összegért a játékos kap egy piros Cheetah tipusú autót Access felnivel,
mellé pedig egy UZI-t 5000 tölténnyel.
Y megnyomásakor a szélvédőnél megjelenik a megkülönböztető jelzés.
\"width=500http://www.kepfeltoltes.hu/141221/1406362499sa-mp-044_www.kepfeltoltes.hu_.png[/img]
 

#include <a_samp>
#include <zcmd>
new UndercoverCar[MAX_PLAYERS];
new SirenObject[MAX_VEHICLES];
public OnFilterScriptExit()
{
for(new i; i < MAX_VEHICLES; i++)
{
    DestroyObject(SirenObject);
}
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    #define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
if (PRESSED(KEY_YES))
{
if (IsPlayerInAnyVehicle(playerid))
{
            if(SirenObject[GetPlayerVehicleID(playerid)] == 0)
            {
      if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 415)
       {
         SirenObject[GetPlayerVehicleID(playerid)] = CreateObject(18646, 10.0, 10.0, 10.0, 0, 0, 0);
             AttachObjectToVehicle(SirenObject[GetPlayerVehicleID(playerid)], GetPlayerVehicleID(playerid), 0.0, 0.75, 0.275, 0.0, 0.1, 0.0);
      }
   }
   else if(SirenObject[GetPlayerVehicleID(playerid)] != 0)
   {
       DestroyObject(SirenObject[GetPlayerVehicleID(playerid)]);
       SirenObject[GetPlayerVehicleID(playerid)] = 0;
   }
}
}
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
    DestroyObject(SirenObject[vehicleid]);
    return 1;
}
CMD:undercover(playerid,params[])
{
if(GetPlayerMoney(playerid) >=  5000)
{
if (UndercoverCar[playerid] != 0)
{
    DestroyVehicle(UndercoverCar[playerid]);
}
new Float:x,Float:y,Float:z;
GivePlayerMoney(playerid,-5000);
GetPlayerPos(playerid,x,y,z);
UndercoverCar[playerid] = CreateVehicle(415,x,y,z,0,003,003,-1);
PutPlayerInVehicle(playerid,UndercoverCar[playerid],0);
GivePlayerWeapon(playerid,28,5000);
AddVehicleComponent(UndercoverCar[playerid], 1098);
SendClientMessage(playerid,-1,\"Vettél egy SAPD álcázott rendőrautót!\");
SendClientMessage(playerid,-1,\"Kaptál mellé egy UZI-t 5000 tölténnyel!\");
SendClientMessage(playerid,-1,\"A sziréna használatához nyomj \'Y\'  gombot!\");
}
else SendClientMessage(playerid,-1,\"Erre sajnos nincs pénzed!\");
return 1;
}

 
Külön köszönet Flash-nek, amiért észrevette a hiányosságot a scriptben!
Észlelt hibák:
- Ha a játékosnak rengeteg pénze van, akármennyi autót lekérhet és mind a pályán marad
Javitva:
- Egy személyre egy autó jut, amint lekéri a másikat, az előző eltűnik.
Tageket javítottam: Flash!

15
SA-MP: Szerverfejlesztés / CoD4 style regeneráció
« Dátum: 2014. Július 30. - 01:14:39 »
Hali!
Unalomból megirtam egy scriptet, ami megpróbálja leutánozni
a Call of Duty 4 HP visszatöltõs rendszerét. Másodpercenként 5 HP-t visszatölt.
Elkészités:kb 2 perc
Tesztelve van? :Bizonyám.
FLASH reklamációja után javitva!
Javitott: IsPlayerConnected,az alap verzióban 1 HP-t töltött, most 5-öt
 

public OnFilterScriptInit()
{
SetTimer(\"Regeneration\",1000,true);
}
forward Regeneration();
public Regeneration()
{
for(new i; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
   new Float:Health[MAX_PLAYERS];
   GetPlayerHealth(i,Health);
   if (Health < 100.1 && Health > 0)
   {
      SetPlayerHealth(i, Health + 5.0);
   }
}
}
}

Oldalak: [1] 2 3 ... 5
SimplePortal 2.3.7 © 2008-2024, SimplePortal