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


Üzenetek - Wiliam Levy

Oldalak: [1] 2 3 ... 40
1
Beszélgetés / Re:Sziasztok
« Dátum: 2021. November 16. - 19:18:23 »
mert az amúgy csak úgy megy hogy majd lesz. megcsinálod? meg lehet?

Visszavonom az eredeti állításom, ez a Definitive Edition egy kalap fos lett. Ha felpatchelik annyira, hogy ne legyen ilyen optimalizálatlan, igénytelen bughalmaz, akkor elgondolkodom rajta, hogy beleások és netán nekikezdek átírni hozzá a SA-MP klienst. Mint itt páran még, én is a pawn után kaptam kedvet a programozáshoz, mára pedig szoftvermérnökként dolgozom. Ezáltal sok akadálya nincs, maximum hogy nincs rá túl sok időm, meg ugye kedv is kellene.

2
Beszélgetés / Re:Sziasztok
« Dátum: 2021. November 12. - 14:19:49 »
Ha lesz SA-MP a Definition Edition-höz, akkor én is, és még sokan visszatérnek. :)

3
SA-MP: Szerverfejlesztés / [NPC] LSTKRv2 - Intelligens NPC közlekedés - v2.5
« Dátum: 2016. Augusztus 21. - 20:39:03 »
Idézetet írta: Illuminati date=1471362085\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"59962\" data-ipsquote-contentclass=\"forums_Topic
Jó lett  :thumbsup:
Az RCON parancsokat megtudhatnám? Mivel nem indul el a végállomásról miután beért :D
 
Benne van a szkriptben :) Egyébként elindul az, csak megvárja a menetrendi indulást :)

4
Szponzoráció / [WEB] Ingyenes webtárhely (automatikus létrehozás)
« Dátum: 2016. Augusztus 21. - 20:32:52 »
Nem mintha negatívkodni akarnék, de Szilárd egyáltalán ember?
Se képe, se telefonszáma, se semmi adat róla, csak hogy Szilárd.. Ezzel nagyon sokra megy az ember, főleg ha valamit sürgősen meg kellene oldani, mint például a jelenlegi problémát...

5
Segítségkérés / TextDrawSetString miatt TEXTLABEL ékezet vesztés (omg)
« Dátum: 2016. Március 29. - 22:03:54 »
Üdv!
Annyi lenne a problémám, hogy amióta ismétlődő timerrel lekérdezésekkel frissítem a textdrawomat + információkkal mint előtte(azért kell a timer hogy váltakozzon), azóta a textlabelek illetve a materialtext-elt objektek elvesztik az ékezeteket, de csak azok amiken a behelyettesített tartalom szerepel a TEXTLABELEN, és ott is csak a behelyettesített tartalom. Ezt  nem tudom másképp elmagyarázni, tudom elég hülyén sikerült de hoztam képeket.
Nem értem mi baj van egyébként, átnéztem a szkriptet, és semmi nincs ami miatt ez történhetne, na meg ilyenről még nem is hallottam. Hátha valaki okosabb mint én, ami mondjuk nem nehéz, mert a szövegműveletekhez sík hülye vagyok sampon. :)
E: Igen, én mindig összekeverem a labelt a drawval :D
SZÓVAL SEGÍTSÉG!!!
Na de: KÉPEK
\"sa-mp-012.png\"
\"sa-mp-015.png\"
\"sa-mp-016.png\"
\"sa-mp-017.png\"
\"sa-mp-018.png\"
Itt az előző verzió linkje (amin még ment az ékezetes dolog): https://sampforum.hu/index.php?topic=64767.0
A szkriptet meg nagy reménytelenségemben most akartam publikálni, tehát itt a TELJES kód:
 

#if defined asd
LSTKR v2
By Burst aka Peti134
===================================================================================================
Tartalom | Verziószám: 2.5
===================================================================================================
Menetrend szerint közlekedő járatok
-Adott időnként indul egy járat a végállomásról
-Adott időszakban közlekedik a járat (éjszakai járat is megoldható)
-Megállók között mentett menetidő
-Megállók felett textdlabel látható hogy adott járat körülbelül mikor érkezik
---------------------------------------------------------------------------------------------------
Garázsmenet szimuláció
-A buszok a garázsból jönnek ki járatra, és amennyiben lejár az üzemidő / admin közbeavatkozik,
    végigmegy az adott meneten, aztán elindul a garázsba
---------------------------------------------------------------------------------------------------
Dinamikus rendszer
-A megállók illetve járatok is fájlokból vannak betöltve
-A megállók In-Game is testreszabhatók
---------------------------------------------------------------------------------------------------
Utastájékoztatás
-A járművekbe beszálláskor megjelenik egy monitor textdraw, amin a járat jelzése, végállomása
illetve 4 következő megállók láthatók
-Igény esetén hangos utastájékoztatás (\'következő megálló...XY\')
[Jelen verzióhoz nem tartozik alapértelmezetten]
-Járművek elején scrolling text \'kijelző\'
-Járművek felett felirat (textlabel)
---------------------------------------------------------------------------------------------------
Kezelhető NPC-k
-RCON adminisztrátorok tudják vezérelni az NPC-ket, illetve tudnak éppen nem közlekedő járatra
is lerakni NPC-t
---------------------------------------------------------------------------------------------------
Okos NPC-k
-A buszok nem ütnek el senkit, amennyiben valaki eléjük kerül, megáll,
viszont ha az illető AFK, vagy szórakozik, egy idő után továbbindul
---------------------------------------------------------------------------------------------------
Szándékos hibák (valóság-szimuláció)
-Buszok elején a \'kijelző\' véletlenszerűen megáll, hiányos, vagy téves információt ír
===================================================================================================
Ismert hibák
-Szerver lagg esetén nem biztos hogy megáll a busz valahol, a végállomáson vesztegel
   amíg egy RCON admin nem reseteli
-/npc marad bizonyos esetekben nem működik
-Vonattal nem lett tesztelve a rendszer, valószínűleg nem, vagy nem megfelelően működik
-Buszok időnként összebuggolnak (Okos NPC-k pontban említett okok miatt)
-Megállók feletti textdraw néha több időt ír mint kéne, aztán nagyokat esik az idő
===================================================================================================
Licensz, egyebek
Módosítva publikálni csak engedéllyel. Saját használatra módosítható!
Az ismert hibák nagy része idő/kedv hiányában nem lett kijavítva.
Amennyiben javítasz egy hibát, azt feltétlenül küldd el nekem e-mailben!
===================================================================================================
Újdonságok a 2.6B (mint bugos) verzióban
===================================================================================================
-Utastájékoztató monitor írja az átszállásokat, illetve ha végállomás egy megálló
Itt kompromisszumra kellett jutnom a SA-MP-pal, ugyanis így bugosak az ékezetes megállónevek
(MEGOLDÁS ALATT)
===================================================================================================
Várható újdonságok
===================================================================================================
Vonat
Valóság-szimuláció bővülése:
-Véletlenszerű lerobbanások, vonatpótlás, lerobbant járművek garázsba juttatása, stb.
===================================================================================================
HAMAROSAN ANGOL NYELVEN IS! COMING SOON IN ENGLISH LANGUAGE!
Kapcsolat: [email protected] >>> Tárgy: LSTKRv2
===================================================================================================
 
#endif
#define VERZIO \"v2.6B\"
#include <a_samp>
#include <a_angles>
#include <foreach>
#include <dini>
#include <streamer>
#include <zcmd>
#include <sscanf2>
#include <fixchars>
#pragma unused strtok
//VÁLTOZTATHATÓ DOLGOK - VÁLTOZTATHATÓ DOLGOK - VÁLTOZTATHATÓ DOLGOK - VÁLTOZTATHATÓ DOLGOK - VÁLTOZTATHATÓ DOLGOK
#define MEGALLO_IDO 13 //Jármű megállóban tartózkodási ideje másodpercben mérve
new bool:NPC_BusStopDebug = false;//Annyit tesz, hogy a megállók neve mellett ott lesz zárójelben az azonosító.
//#define BEMONDAS
#if defined BEMONDAS
new HANGOK_ELERHETOSEGE[128] = \"http://users.atw.hu/bpvkv/LSTKR2/\";//Bemondó hangok elérhetősége
#endif
#define SZERVERNEVE \"[LSTKR]\"//Szerver neve röviden, [ ] között
#define SZERVERNEVE2 \"LSTKR\"//Szerver neve röviden
#define SZERVERNEVEFULL \"Los Santos Tömegközlekedési Rendszer\"//Szerver neve hosszan, \"RolePlay\"-jel
#define SZERVERNEVEFULLRP \"Los Santos Tömegközl. Rendszer\"//Szerver neve hosszan, \"RP\"-vel
//VÉGE - VÉGE - VÉGE - VÉGE - VÉGE - VÉGE - VÉGE - VÉGE - VÉGE - VÉGE - VÉGE - VÉGE - VÉGE - VÉGE - VÉGE
////////////////////////////////////////////////////////////////////////////////////////Timer
#define tsecond(%1) \\
   (%1 * 1000)
#define tminute(%1) \\
   (tsecond(%1) * 60)
#define thour(%1) \\
   (tminute(%1) * 60)
#define tday(%1) \\
   (thour(%1) * 24)
////////////////////////////////////////////////////////////////////////////////////////
native IsValidVehicle(vehicleid);
////////////////////////////////////////////////////////////////////////////////////////Szinek
#define COLOR_INVISIBLE 0xFFFFFF00
#define COLOR_PIROS 0xFF0000FF
#define COLOR_PINK 0xFF80FFC7
#define COLOR_SKEK 0x2641FEAA
#define COLOR_LIGHTBROWN 0x8B4513FF
#define COLOR_ORANGE 0xFF8C00AA
#define COLOR_BLACK 0x050505AA
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD6 0xF0F0F0FF
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_RED2 0xAA0000AA
#define COLOR_BLUE 0x1373C1FF
#define COLOR_DBLUE 0x2641FEAA
#define COLOR_LIGHTRED 0xFF6347AA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_LIGHTGREEN 0x9ACD32AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_YELLOW2 0xF5DEB3AA
#define COLOR_WHITE 0xFFFFFFFF
#define COLOR_FADE1 0xE6E6E6E6
#define COLOR_FADE2 0xC8C8C8C8
#define COLOR_FADE3 0xAAAAAAAA
#define COLOR_FADE4 0x8C8C8C8C
#define COLOR_FADE5 0x6E6E6E6E
#define COLOR_PURPLE 0xC2A2DAAA
#define COLOR_ALLDEPT 0xFF8282AA
#define OBJECTIVE_COLOR 0x64000064
#define COLOR_ADD 0x63FF60AA
#define COLOR_ULTRAPIROS 0xE60000FF
#define Pink 0xFF00FFFF
#define Pink2 0xFF1493FF
#define COLOR_MEGALLO 0x9900FFFF
////////////////////////////////////////////////////////////////////////////////////////
stock bool:FALSE = false;
#define SCM SendClientMessage
#define SCMToAll SendClientMessageToAll
#define SendFormatMessage(%1,%2,%3,%4) do{new sendfstring[256];format(sendfstring,256,(%3),%4);Msg(%1,(%2),sendfstring,false);}while(FALSE)
#define SendFormatMessageToAll(%1,%2,%3) do{new sendfstring[256];format(sendfstring,256,(%2),%3);MsgToAll((%1),sendfstring,false);}while(FALSE)
#define SFMToAll(%1,%2,%3) do{new sendfstring[256];format(sendfstring,256,(%2),%3);MsgToAll((%1),sendfstring);}while(FALSE)
#define SFM(%1,%2,%3,%4) do{new sendfstring[256];format(sendfstring,256,(%3),%4);Msg(%1,(%2),sendfstring);}while(FALSE)
#define NINCS -1
#define NPC_AKCIO_START \"start\"
#define NPC_AKCIO_STOP \"stop\"
#define NPC_AKCIO_PAUSE \"szunet\"
#define NPC_AKCIO_RESUME \"folytat\"
#define MAX_JARAT 10
#define MAX_NPC 50
#define MAX_MEGALLO 50
#define TIPUS_BUSZ 0
#define TIPUS_VONAT 1
#define TIPUS_VILLAMOS 2
#define TIPUS_EJSZAKAI 3
#define MEGALLO 0
#define STOPPED 1
#define ASTOPPED 2
#define MEGALLONEV 0
#define KOVETKEZO 1
#define VEGALLOMAS 2
#define UDV 3
forward NPC_Start(id);
forward NPC_Stop(id);
forward NPC_Pause(id);
forward NPC_Resume(id);
forward NPCCheck(id);
forward MPTimer();
forward MonitorTimer(id);
forward JaratKovCheck(jid);
forward KijelzoLapozas();
forward MelyikMegallo(azonosito[]);
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
forward Bemond(id,tipus);
forward Float:GetDistanceBetweenPlayers(p1,p2);
forward Float:GetDistanceToVehicle(playerid,vehicleid);
forward Float:GetDistanceToPoint(playerid,Float:x1,Float:y1,Float:z1);
forward Float:GetDistanceBetweenPoints(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2);
//Busz monitor
new Text:BK_Keret;
new Text:BK_Kijelzo;
new Text:BK_Vegallomas[MAX_NPC];
new Text:BK_Vonal;
new Text:BK_Pont1;
new Text:BK_Pont2;
new Text:BK_Pont3;
new Text:BK_Pont4;
new Text:BK_KovMeg[MAX_NPC];
new Text:BK_Megallo1[MAX_NPC];
new Text:BK_Megallo2[MAX_NPC];
new Text:BK_Megallo3[MAX_NPC];
new BK_Showed[MAX_PLAYERS] = NINCS;
//Vége
enum jaratinfo
{
bool:jVan,
jViszonylat[16],
jJarmuvekSzama,
jFileName[32],
jVegall[128],
jMegallokSzama,
jKovTimer,
jKovetesiPerc,
jKozlInterVallum[2],
bool:jEgyebSzovegVan,
jEgyebSzoveg[32],
jTipus,
jMenetIdo[MAX_MEGALLO]
};
new jInfo[1000][jaratinfo];
enum npcInfo
{
bool:nVan,
bool:nBemondta,
nPlayerID,
nJaratID,
nPlayerName[32],
nHolTart,
bool:nAll,
nAllasOka,
Text3D:nLabel,
nJarmu,
nKijelzoJSZ,
nKijelzo,
nKijelzoSzoveg[128],
nKijelzoState,
nCheckTimer,
nMonitorTimer,
nMonitorState,
nMennyitAllt,
nUjraMegallhat,
nMenetIdo,
nErkIdo,
nMenetAllapot,
nBug[3]
};
new nInfo[MAX_NPC][npcInfo];
new NPC_ID[MAX_PLAYERS] = -1;
enum megalloInfo
{
bool:mVan,
mAzonosito[128],
mNev[128],
Float:mPos[3],
Text3D:mLabel,
mHang[32],
mHangTime
};
new mInfo[MAX_MEGALLO][megalloInfo];
new NPC_Megallok[1000][MAX_MEGALLO][128];
public OnFilterScriptInit()
{
    new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
printf(\"[%d.%02d.%02d. %02d:%02d]: %s %s betöltése:\",y,m,d,h,mi,SZERVERNEVE2,VERZIO);
//Busz textdraw
BK_Keret = TextDrawCreate(558.000000, 344.000000, \"                 \");
TextDrawAlignment(BK_Keret, 2);
TextDrawBackgroundColor(BK_Keret, 255);
TextDrawFont(BK_Keret, 1);
TextDrawLetterSize(BK_Keret, 0.709999, 6.400000);
TextDrawColor(BK_Keret, -1);
TextDrawSetOutline(BK_Keret, 0);
TextDrawSetProportional(BK_Keret, 1);
TextDrawSetShadow(BK_Keret, 1);
TextDrawUseBox(BK_Keret, 1);
TextDrawBoxColor(BK_Keret, 255);
TextDrawTextSize(BK_Keret, 474.000000, 159.000000);
BK_Kijelzo = TextDrawCreate(558.000000, 348.000000, \"                 \");
TextDrawAlignment(BK_Kijelzo, 2);
TextDrawBackgroundColor(BK_Kijelzo, 255);
TextDrawFont(BK_Kijelzo, 1);
TextDrawLetterSize(BK_Kijelzo, 0.709999, 5.599999);
TextDrawColor(BK_Kijelzo, -1);
TextDrawSetOutline(BK_Kijelzo, 0);
TextDrawSetProportional(BK_Kijelzo, 1);
TextDrawSetShadow(BK_Kijelzo, 1);
TextDrawUseBox(BK_Kijelzo, 1);
TextDrawBoxColor(BK_Kijelzo, 65535);
TextDrawTextSize(BK_Kijelzo, 474.000000, 150.000000);
BK_Vonal = TextDrawCreate(489.000000, 365.000000, \"    \");
TextDrawAlignment(BK_Vonal, 2);
TextDrawBackgroundColor(BK_Vonal, 255);
TextDrawFont(BK_Vonal, 1);
TextDrawLetterSize(BK_Vonal, 0.500000, 1.000000);
TextDrawColor(BK_Vonal, -1);
TextDrawSetOutline(BK_Vonal, 0);
TextDrawSetProportional(BK_Vonal, 1);
TextDrawSetShadow(BK_Vonal, 1);
TextDrawUseBox(BK_Vonal, 1);
TextDrawBoxColor(BK_Vonal, -1);
TextDrawTextSize(BK_Vonal, -4.000000, -3.000000);
BK_Pont1 = TextDrawCreate(489.000000, 359.000000, \"O\");
TextDrawAlignment(BK_Pont1, 2);
TextDrawBackgroundColor(BK_Pont1, 255);
TextDrawFont(BK_Pont1, 1);
TextDrawLetterSize(BK_Pont1, 0.300000, 1.000000);
TextDrawColor(BK_Pont1, -1);
TextDrawSetOutline(BK_Pont1, 0);
TextDrawSetProportional(BK_Pont1, 1);
TextDrawSetShadow(BK_Pont1, 0);
BK_Pont2 = TextDrawCreate(489.000000, 369.000000, \"O\");
TextDrawAlignment(BK_Pont2, 2);
TextDrawBackgroundColor(BK_Pont2, 255);
TextDrawFont(BK_Pont2, 1);
TextDrawLetterSize(BK_Pont2, 0.300000, 1.000000);
TextDrawColor(BK_Pont2, -1);
TextDrawSetOutline(BK_Pont2, 0);
TextDrawSetProportional(BK_Pont2, 1);
TextDrawSetShadow(BK_Pont2, 0);
BK_Pont3 = TextDrawCreate(489.000000, 379.000000, \"O\");
TextDrawAlignment(BK_Pont3, 2);
TextDrawBackgroundColor(BK_Pont3, 255);
TextDrawFont(BK_Pont3, 1);
TextDrawLetterSize(BK_Pont3, 0.300000, 1.000000);
TextDrawColor(BK_Pont3, -1);
TextDrawSetOutline(BK_Pont3, 0);
TextDrawSetProportional(BK_Pont3, 1);
TextDrawSetShadow(BK_Pont3, 0);
BK_Pont4 = TextDrawCreate(489.000000, 395.000000, \" \");
TextDrawAlignment(BK_Pont4, 2);
TextDrawBackgroundColor(BK_Pont4, 255);
TextDrawFont(BK_Pont4, 1);
TextDrawLetterSize(BK_Pont4, 0.500000, 1.000000);
TextDrawColor(BK_Pont4, -1);
TextDrawSetOutline(BK_Pont4, 0);
TextDrawSetProportional(BK_Pont4, 1);
TextDrawSetShadow(BK_Pont4, 1);
TextDrawUseBox(BK_Pont4, 1);
TextDrawBoxColor(BK_Pont4, -1);
TextDrawTextSize(BK_Pont4, -1.000000, 0.000000);
//Vége
MegalloBetoltes();
JaratBetoltes();
SetTimer(\"KijelzoLapozas\",200,true);
SetTimer(\"MPTimer\",1000,true);
printf(\"[%d.%02d.%02d. %02d:%02d]: %s %s betöltve\",y,m,d,h,mi,SZERVERNEVE2,VERZIO);
return 1;
}
public NPCCheck(id)
{
MonitorTimer(id);
new jid = nInfo[id][nJaratID];
if(!nInfo[id][nVan])return 1;
if(!NPC_VanElotteValaki(id))
{
        nInfo[id][nUjraMegallhat]--;
        if(nInfo[id][nUjraMegallhat] <0) nInfo[id][nUjraMegallhat]=0;
        nInfo[id][nMennyitAllt] = 0;
    }
if(nInfo[id][nAll])
{
    if(nInfo[id][nAllasOka] == STOPPED)
  {
    if(!NPC_VanElotteValaki(id))
    {
        SCM(nInfo[id][nPlayerID],-1,NPC_AKCIO_RESUME);
        nInfo[id][nAll] = false;
    } else if(NPC_VanElotteValaki(id))
   {
        nInfo[id][nMennyitAllt]++;
        if(nInfo[id][nMennyitAllt] >= 150)
        {
           SCM(nInfo[id][nPlayerID],-1,NPC_AKCIO_RESUME);
           nInfo[id][nAll] = false;
           nInfo[id][nUjraMegallhat]=30;
        }
    }
    }
    return 1;
}
new kovid = MelyikMegallo(NPC_Megallok[jid][nInfo[id][nHolTart]]);
new Float:tavoda,Float:tavkettokozott;
new elozo = nInfo[id][nHolTart] - 1;
if(elozo < 0) elozo=0;
tavkettokozott = GetDistanceBetweenPoints(mInfo[kovid][mPos][0],mInfo[kovid][mPos][1],mInfo[kovid][mPos][2], mInfo[elozo][mPos][0],mInfo[elozo][mPos][1],mInfo[elozo][mPos][2]);
tavoda = GetDistanceToPoint(nInfo[id][nPlayerID], mInfo[kovid][mPos][0],mInfo[kovid][mPos][1],mInfo[kovid][mPos][2]);
if(IsPlayerInRangeOfPoint(nInfo[id][nPlayerID],7.0,mInfo[kovid][mPos][0],mInfo[kovid][mPos][1],mInfo[kovid][mPos][2]))
{
    NPC_Pause(id);
}
if(tavoda <= (tavkettokozott / 2.0))
{
    if(!nInfo[id][nBemondta])
    {
       nInfo[id][nBemondta] = true;
   Bemond(id,KOVETKEZO);
}
}
    if(NPC_VanElotteValaki(id))
    {
new kiaz = NPC_KiVanElotte(id);
        if(IsPlayerNPC(kiaz))
        {
            if(nInfo[id][nUjraMegallhat]< 1)
            {
        if(nInfo[NPC_ID[kiaz]][nAll])
        {
           SCM(nInfo[id][nPlayerID],-1,NPC_AKCIO_PAUSE);
           nInfo[id][nAll] = true;
           nInfo[id][nAllasOka] = STOPPED;
         } else {
             new Float:enezes,Float:onezes;
             GetPlayerFacingAngle(nInfo[id][nPlayerID],enezes);
             GetPlayerFacingAngle(kiaz,onezes);
         if( (enezes -90) < onezes && onezes < (enezes +90) )
         {
              SCM(nInfo[id][nPlayerID],-1,NPC_AKCIO_PAUSE);
              nInfo[id][nAll] = true;
              nInfo[id][nAllasOka] = STOPPED;
         }
         }
   }
        } else {
        SCM(nInfo[id][nPlayerID],-1,NPC_AKCIO_PAUSE);
        nInfo[id][nAll] = true;
        nInfo[id][nAllasOka] = STOPPED;
        }
    }
return 1;
}
public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
    if(IsPlayerConnected(playerid))
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
   return 1;
}
}
return 0;
}
public MPTimer()
{
    new h,mi,s;
gettime(h,mi,s);
for(new i = 0; i<MAX_JARAT;i++)
{
new jarmuvek[MAX_NPC],jsz=0;
for(new x = 0; x<MAX_NPC;x++)
{
    if(nInfo
  • [nVan] && nInfo
  • [nJaratID] == i)

    {
        jarmuvek[jsz] = x;
        jsz++;
    }
}
if(jInfo[jKozlInterVallum][0] > h || jInfo[jKozlInterVallum][1] <= h)
{
    for(new x = 0; x<jsz;x++)
    {
       if(jInfo[jKozlInterVallum][0] > jInfo[jKozlInterVallum][1])
       {
           if(jInfo[jKozlInterVallum][1] <= h && h < jInfo[jKozlInterVallum][0])
           {
             if(nInfo[jarmuvek
  • ][nMenetAllapot] > 0 && nInfo[jarmuvek
  • ][nMenetAllapot] < 3)

             {
                nInfo[jarmuvek
  • ][nMenetAllapot] = 3;

                new n[MAX_PLAYER_NAME];
                GetPlayerName(nInfo[jarmuvek
  • ][nPlayerID],n,sizeof(n));

                 printf(\"[NPC] %s-t garázsba küldtem, mert a járata csak %d-től %d-ig közlekedik(éjszakai)\",n,jInfo[jKozlInterVallum][0],jInfo[jKozlInterVallum][1]);
            }
         }
      }else {
          if(nInfo[jarmuvek
  • ][nMenetAllapot] > 0 && nInfo[jarmuvek
  • ][nMenetAllapot] < 3)

          {
              nInfo[jarmuvek
  • ][nMenetAllapot] = 3;

             new n[MAX_PLAYER_NAME];
             GetPlayerName(nInfo[jarmuvek
  • ][nPlayerID],n,sizeof(n));

              printf(\"[NPC] %s-t garázsba küldtem, mert a járata csak %d-től %d-ig közlekedik\",n,jInfo[jKozlInterVallum][0],jInfo[jKozlInterVallum][1]);
         }
      }
   }
}
}
for(new id = 0; id<MAX_MEGALLO;id++)
{
    if(mInfo[id][mVan])
    {
   new mtext[1024];
   new jaratoktext[128]=\"Nincs\";
   new bool:elso1=true;
   new ejt[256]=\"\";
   for(new i = 0; i<MAX_JARAT;i++)
   {
      for(new x = 0; x<jInfo[jMegallokSzama];x++)
      {
          if(!strcmp(NPC_Megallok
  • , mInfo[id][mAzonosito], true))

          {
              if(elso1)
              {
                 format(jaratoktext,sizeof(jaratoktext),\"%s\",jInfo[jViszonylat]);
                 elso1 = false;
              } else {
                 format(jaratoktext,sizeof(jaratoktext),\"%s, %s\",jaratoktext,jInfo[jViszonylat]);
              }
          }
       }
       new hanyadik = NINCS;
      for(new y = 0; y<jInfo[jMegallokSzama];y++)
      {
            if(!strcmp(NPC_Megallok[y], mInfo[id][mAzonosito], true))
            {
            hanyadik = y;
            }
      }
      new vegallomasid;
      for(new a=0; a<jInfo[jMegallokSzama];a++)
      {
          if(!strcmp(NPC_Megallok[a], jInfo[jVegall], true))
          {
              vegallomasid = a;
          }
      }
      if(hanyadik != NINCS)
      {
          for(new x = 0; x<MAX_NPC;x++)
          {
             if(nInfo
  • [nVan])

             {
                 new erkido = 0;
                 new kovid = nInfo
  • [nHolTart] +1;

                 if(kovid >= jInfo[nInfo
  • [nJaratID]][jMegallokSzama]) kovid = 0;

               for(new k = kovid; k <= hanyadik; k++)
               {
                  erkido += jInfo[jMenetIdo][k];
                  erkido += MEGALLO_IDO;
               }
               erkido += nInfo
  • [nErkIdo];

               new erktext[64];
               if(erkido < 0)
               format(erktext,sizeof(erktext),\"Késés: %d másodperc\",erkido * NINCS);
               else
               format(erktext,sizeof(erktext),\"%d másodperc\",erkido);
                 if(nInfo
  • [nJaratID] == i && nInfo
  • [nHolTart] <= hanyadik)

                 {
                  if(nInfo
  • [nAll] && kovid != hanyadik) erkido -= MEGALLO_IDO;

                      if(nInfo
  • [nHolTart] <= vegallomasid && hanyadik < vegallomasid)

                      {
                         new vegallid= MelyikMegallo(jInfo[jVegall]);
                        format(ejt,sizeof(ejt),\"%s%s > %s | %s\\n\",ejt,jInfo[jViszonylat],mInfo[vegallid][mNev],erktext);
                      } else if(nInfo
  • [nHolTart] <= vegallomasid && hanyadik == vegallomasid)

                      {
                         new vegallid= MelyikMegallo(NPC_Megallok[0]);
                        format(ejt,sizeof(ejt),\"%s%s > %s | %s\\n\",ejt,jInfo[jViszonylat],mInfo[vegallid][mNev],erktext);
                      } else if(nInfo
  • [nHolTart] > vegallomasid && hanyadik > vegallomasid)

                  {
                         new vegallid= MelyikMegallo(NPC_Megallok[0]);
                       format(ejt,sizeof(ejt),\"%s%s > %s | %s\\n\",ejt,jInfo[jViszonylat],mInfo[vegallid][mNev],erktext);
                      }
                 }
                 if(nInfo
  • [nJaratID] == i && nInfo
  • [nHolTart] > vegallomasid && hanyadik == 0)

                 {
                    new vegallid= MelyikMegallo(jInfo[jVegall]);
                    format(ejt,sizeof(ejt),\"%s%s > %s | ? másodperc\\n\",ejt,jInfo[jViszonylat],mInfo[vegallid][mNev]);
                  }
             }
         }
      }
   }
   if(NPC_BusStopDebug) format(mtext,sizeof(mtext),\"[MEGÁLLÓ]\\n%s(%s)\\nJáratok: %s\\n============INDULÓ JÁRATOK============\\n%s\",mInfo[id][mNev],mInfo[id][mAzonosito],jaratoktext,ejt);
   else format(mtext,sizeof(mtext),\"[MEGÁLLÓ]\\n%s\\nJáratok: %s\\n============INDULÓ JÁRATOK============\\n%s\",mInfo[id][mNev],jaratoktext,ejt);
   UpdateDynamic3DTextLabelText(mInfo[id][mLabel], COLOR_MEGALLO, mtext);
}
}
for(new i = 0; i<MAX_NPC; i++)
{
    if(nInfo[nVan])
{
   nInfo[nErkIdo]--;
   if(!nInfo[nAll]) nInfo[nMenetIdo]++;
}
}
for(new i = 0; i<MAX_PLAYERS;i++)
{
    Streamer_Update(i);
    new buszban = NINCS;
for(new id = 0; id<MAX_NPC; id++)
{
   if(IsPlayerInVehicle(i,nInfo[id][nJarmu]))
   {
       buszban = id;
      if(BK_Showed != id)
      {
         if(BK_Showed != NINCS)
         {
            TextDrawHideForPlayer(i, BK_Keret);
            TextDrawHideForPlayer(i, BK_Kijelzo);
            TextDrawHideForPlayer(i, BK_Vegallomas[bK_Showed]);
            TextDrawHideForPlayer(i, BK_Vonal);
            TextDrawHideForPlayer(i, BK_Pont1);
            TextDrawHideForPlayer(i, BK_Pont2);
            TextDrawHideForPlayer(i, BK_Pont3);
            TextDrawHideForPlayer(i, BK_Pont4);
            TextDrawHideForPlayer(i, BK_KovMeg[bK_Showed]);
            TextDrawHideForPlayer(i, BK_Megallo1[bK_Showed]);
            TextDrawHideForPlayer(i, BK_Megallo2[bK_Showed]);
            TextDrawHideForPlayer(i, BK_Megallo3[bK_Showed]);
         }
         TextDrawShowForPlayer(i, BK_Keret);
         TextDrawShowForPlayer(i, BK_Kijelzo);
         TextDrawShowForPlayer(i, BK_Vegallomas[id]);
         TextDrawShowForPlayer(i, BK_Vonal);
         TextDrawShowForPlayer(i, BK_Pont1);
         TextDrawShowForPlayer(i, BK_Pont2);
         TextDrawShowForPlayer(i, BK_Pont3);
         TextDrawShowForPlayer(i, BK_Pont4);
         TextDrawShowForPlayer(i, BK_KovMeg[id]);
         TextDrawShowForPlayer(i, BK_Megallo1[id]);
         TextDrawShowForPlayer(i, BK_Megallo2[id]);
         TextDrawShowForPlayer(i, BK_Megallo3[id]);
         BK_Showed = id;
      }
   }
}
if(buszban == NINCS)
{
   if(BK_Showed != NINCS)
   {
      new id = BK_Showed;
      TextDrawHideForPlayer(i, BK_Keret);
      TextDrawHideForPlayer(i, BK_Kijelzo);
      TextDrawHideForPlayer(i, BK_Vegallomas[id]);
      TextDrawHideForPlayer(i, BK_Vonal);
      TextDrawHideForPlayer(i, BK_Pont1);
      TextDrawHideForPlayer(i, BK_Pont2);
      TextDrawHideForPlayer(i, BK_Pont3);
      TextDrawHideForPlayer(i, BK_Pont4);
      TextDrawHideForPlayer(i, BK_KovMeg[id]);
      TextDrawHideForPlayer(i, BK_Megallo1[id]);
      TextDrawHideForPlayer(i, BK_Megallo2[id]);
      TextDrawHideForPlayer(i, BK_Megallo3[id]);
   }
   BK_Showed = NINCS;
}
}
return 1;
}
public MonitorTimer(id)
{
new vegallid;
new string[128];
new vegallomasid;
new jid = nInfo[id][nJaratID];
new kovid = MelyikMegallo(NPC_Megallok[jid][nInfo[id][nHolTart]]);
for(new a=0; a<jInfo[jid][jMegallokSzama];a++)
{
       if(!strcmp(NPC_Megallok[jid][a], jInfo[jid][jVegall], true))
       {
           vegallomasid = a;
       }
}
    new m1=NINCS,m2=NINCS,m3=NINCS;
if(nInfo[id][nHolTart] < vegallomasid)
{
vegallid= MelyikMegallo(jInfo[jid][jVegall]);
    if(nInfo[id][nHolTart]+1 <= vegallomasid) m1=MelyikMegallo(NPC_Megallok[jid][nInfo[id][nHolTart]+1]); else m1=NINCS;
    if(nInfo[id][nHolTart]+2 <= vegallomasid) m2=MelyikMegallo(NPC_Megallok[jid][nInfo[id][nHolTart]+2]); else m2=NINCS;
    if(nInfo[id][nHolTart]+3 <= vegallomasid) m3=MelyikMegallo(NPC_Megallok[jid][nInfo[id][nHolTart]+3]); else m3=NINCS;
}
    else
{
vegallid= MelyikMegallo(NPC_Megallok[jid][0]);
    if(nInfo[id][nHolTart]+1 >= vegallomasid) m1=MelyikMegallo(NPC_Megallok[jid][nInfo[id][nHolTart]+1]); else m1=NINCS;
    if(nInfo[id][nHolTart]+2 >= vegallomasid) m2=MelyikMegallo(NPC_Megallok[jid][nInfo[id][nHolTart]+2]); else m2=NINCS;
    if(nInfo[id][nHolTart]+3 >= vegallomasid) m3=MelyikMegallo(NPC_Megallok[jid][nInfo[id][nHolTart]+3]); else m3=NINCS;
    if(nInfo[id][nHolTart]+1 == jInfo[jid][jMegallokSzama]) m1=MelyikMegallo(NPC_Megallok[jid][0]);
    if(nInfo[id][nHolTart]+2 == jInfo[jid][jMegallokSzama]) m2=MelyikMegallo(NPC_Megallok[jid][0]);
    if(nInfo[id][nHolTart]+3 == jInfo[jid][jMegallokSzama]) m3=MelyikMegallo(NPC_Megallok[jid][0]);
}
format(string,sizeof(string),\"%s \", jInfo[jid][jViszonylat]);
if(nInfo[id][nBug][0] == 1)
SetDynamicObjectMaterialText(nInfo[id][nKijelzoJSZ],0,\" \",OBJECT_MATERIAL_SIZE_256x128,\"Arial\",24,1,0xFFFFFFFF,0,1);
else
SetDynamicObjectMaterialText(nInfo[id][nKijelzoJSZ],0,string,OBJECT_MATERIAL_SIZE_256x128,\"Arial\",24,1,0xFFFFFFFF,0,1);
if(nInfo[id][nMenetAllapot] == 0 || nInfo[id][nMenetAllapot] == 3)
format(string, sizeof(string), \"{FFFFFF}%s {0080FF}%s\", jInfo[jid][jViszonylat], jInfo[jid][jEgyebSzoveg]);
else
{
if(nInfo[id][nAll])
{
    if(nInfo[id][nAllasOka] == MEGALLO)
   format(string, sizeof(string), \"{FFFFFF}%s {0080FF}> {FFFFFF}%s\", jInfo[jid][jViszonylat], mInfo[vegallid][mNev]);
   else
   format(string, sizeof(string), \"{FFFFFF}%s {0080FF}> {FFFFFF}%s\\nKérlek ne akadályozd az NPC-t a közlekedésben!\", jInfo[jid][jViszonylat], mInfo[vegallid][mNev]);
}
else
format(string, sizeof(string), \"{FFFFFF}%s {0080FF}> {FFFFFF}%s\\n{0080FF}Következő megálló: {FFFFFF}%s\", jInfo[jid][jViszonylat], mInfo[vegallid][mNev], mInfo[kovid][mNev]);
}
UpdateDynamic3DTextLabelText(nInfo[id][nLabel], COLOR_WHITE, string);
    format(nInfo[id][nKijelzoSzoveg],128,\"%s\", mInfo[vegallid][mNev]);
if(nInfo[id][nMonitorState] == 0)
{
format(string,sizeof(string),\"%s > %s\",jInfo[jid][jViszonylat],mInfo[vegallid][mNev]);
TextDrawSetString(BK_Vegallomas[id],string);
format(string,sizeof(string),\"%s\",mInfo[kovid][mNev]);
TextDrawSetString(BK_KovMeg[id],string);
if(m1!= NINCS)
{
   format(string, sizeof(string), \"%s\", mInfo[m1][mNev]);
    TextDrawSetString(BK_Megallo1[id],string);
} else TextDrawSetString(BK_Megallo1[id],\" \");
if(m2!= NINCS)
{
   format(string, sizeof(string), \"%s\", mInfo[m2][mNev]);
    TextDrawSetString(BK_Megallo2[id],string);
} else TextDrawSetString(BK_Megallo2[id],\" \");
if(m3!= NINCS)
{
   format(string, sizeof(string), \"%s\", mInfo[m3][mNev]);
    TextDrawSetString(BK_Megallo3[id],string);
} else TextDrawSetString(BK_Megallo3[id],\" \");
}
else if(nInfo[id][nMonitorState] == 1)
{
    if(jInfo[jid][jEgyebSzovegVan])
format(string,sizeof(string),\"%s %s\",jInfo[jid][jViszonylat],jInfo[jid][jEgyebSzoveg]);
else
format(string,sizeof(string),\"%s > %s\",jInfo[jid][jViszonylat],mInfo[vegallid][mNev]);
TextDrawSetString(BK_Vegallomas[id],string);
if(nInfo[id][nHolTart] == vegallomasid || nInfo[id][nHolTart] == 0)
TextDrawSetString(BK_KovMeg[id],\"végállomás\");
else
TextDrawSetString(BK_KovMeg[id],mInfo[kovid][mNev]);
if(m1!= NINCS)
{
   if(nInfo[id][nHolTart]+1 == vegallomasid || nInfo[id][nHolTart]+1 == jInfo[jid][jMegallokSzama]) TextDrawSetString(BK_Megallo1[id],\"végállomás\");
   else
   {
      format(string,sizeof(string),\"%s\",mInfo[m1][mNev]);
      TextDrawSetString(BK_Megallo1[id],string);
   }
} else TextDrawSetString(BK_Megallo1[id],\" \");
if(m2!= NINCS)
{
   if(nInfo[id][nHolTart]+2 == vegallomasid || nInfo[id][nHolTart]+2 == jInfo[jid][jMegallokSzama]) TextDrawSetString(BK_Megallo2[id],\"végállomás\");
   else
   {
      format(string,sizeof(string),\"%s\",mInfo[m2][mNev]);
      TextDrawSetString(BK_Megallo2[id],string);
   }
} else TextDrawSetString(BK_Megallo2[id],\" \");
if(m3!= NINCS)
{
   if(nInfo[id][nHolTart]+3 == vegallomasid || nInfo[id][nHolTart]+3 == jInfo[jid][jMegallokSzama]) TextDrawSetString(BK_Megallo3[id],\"végállomás\");
   else
   {
      format(string,sizeof(string),\"%s\",mInfo[m3][mNev]);
      TextDrawSetString(BK_Megallo3[id],string);
   }
} else TextDrawSetString(BK_Megallo3[id],\" \");
}
else if(nInfo[id][nMonitorState] == 2)
{
format(string,sizeof(string),\"%s > %s\",jInfo[jid][jViszonylat],mInfo[vegallid][mNev]);
TextDrawSetString(BK_Vegallomas[id],string);
    if(VanAtszallas(jid,kovid))
{
   format(string,sizeof(string),\"%s\",Atszallasok(jid,kovid));
   TextDrawSetString(BK_KovMeg[id],string);
}
        else
{
   format(string,sizeof(string),\"%s\",mInfo[kovid][mNev]);
   TextDrawSetString(BK_KovMeg[id],string);
}
if(m1!= NINCS)
{
    if(VanAtszallas(jid,m1))
   {
      format(string,sizeof(string),\"%s\",Atszallasok(jid,m1));
      TextDrawSetString(BK_Megallo1[id],string);
   }
    else
   {
      format(string,sizeof(string),\"%s\",mInfo[m1][mNev]);
      TextDrawSetString(BK_Megallo1[id],string);
   }
} else TextDrawSetString(BK_Megallo1[id],\" \");
if(m2!= NINCS)
{
    if(VanAtszallas(jid,m2))
   {
      format(string,sizeof(string),\"%s\",Atszallasok(jid,m2));
      TextDrawSetString(BK_Megallo2[id],string);
   }
    else
   {
      format(string,sizeof(string),\"%s\",mInfo[m2][mNev]);
      TextDrawSetString(BK_Megallo2[id],string);
   }
} else TextDrawSetString(BK_Megallo2[id],\" \");
if(m3!= NINCS)
{
    if(VanAtszallas(jid,m3))
   {
      format(string,sizeof(string),\"%s\",Atszallasok(jid,m3));
      TextDrawSetString(BK_Megallo3[id],string);
   }
    else
   {
      format(string,sizeof(string),\"%s\",mInfo[m3][mNev]);
      TextDrawSetString(BK_Megallo3[id],string);
   }
} else TextDrawSetString(BK_Megallo3[id],\" \");
}
else if(nInfo[id][nMonitorState] == 3)
{
    if(jInfo[jid][jEgyebSzovegVan])
   format(string,sizeof(string),\"%s %s\",jInfo[jid][jViszonylat],jInfo[jid][jEgyebSzoveg]);
else
   format(string,sizeof(string),\"%s > %s\",jInfo[jid][jViszonylat],mInfo[vegallid][mNev]);
TextDrawSetString(BK_Vegallomas[id],string);
format(string,sizeof(string),\"%s\",mInfo[kovid][mNev]);
TextDrawSetString(BK_KovMeg[id],string);
if(m1!= NINCS)
{
   format(string,sizeof(string),\"%s\",mInfo[m1][mNev]);
    TextDrawSetString(BK_Megallo1[id],string);
} else TextDrawSetString(BK_Megallo1[id],\" \");
if(m2!= NINCS)
{
   format(string,sizeof(string),\"%s\",mInfo[m2][mNev]);
    TextDrawSetString(BK_Megallo2[id],string);
} else TextDrawSetString(BK_Megallo2[id],\" \");
if(m3!= NINCS)
{
   format(string,sizeof(string),\"%s\",mInfo[m3][mNev]);
    TextDrawSetString(BK_Megallo3[id],string);
} else TextDrawSetString(BK_Megallo3[id],\" \");
}
nInfo[id][nMonitorState]++;
if(nInfo[id][nMonitorState] >=4)nInfo[id][nMonitorState] = 0;
return 1;
}
stock Atszallasok(jid,megalloid)
{
    new h,mi,s;
gettime(h,mi,s);
new atszstr[32] = \"\";
new atsz=0;
new bool:volt[MAX_JARAT];
for(new i = 0; i<MAX_JARAT;i++)
{
    if(i != jid)
    {
        for(new m = 0; m < jInfo[jMegallokSzama]; m++)
        {
            new megalloid2 = MelyikMegallo(NPC_Megallok[m]);
      if(megalloid2 == megalloid || !strcmp(mInfo[megalloid][mNev], mInfo[megalloid2][mNev], true))
      {
          if(!volt)
          {
            if(jInfo[jKozlInterVallum][0] > jInfo[jKozlInterVallum][1])
             {
                if(jInfo[jKozlInterVallum][1] > h || h >= jInfo[jKozlInterVallum][0])
                {
                   if(atsz <1) format(atszstr,32,\"Átsz: %s\",jInfo[jViszonylat]);
                   else format(atszstr,32,\"%s, %s\",atszstr, jInfo[jViszonylat]);
                  atsz++;
                  volt = true;
                }
             } else {
                if(jInfo[jKozlInterVallum][0] <= h && jInfo[jKozlInterVallum][1] > h)
                {
                   if(atsz <1) format(atszstr,32,\"Átsz: %s\",jInfo[jViszonylat]);
                   else format(atszstr,32,\"%s, %s\",atszstr, jInfo[jViszonylat]);
                  atsz++;
                  volt = true;
               }
             }
          }
      }
        }
    }
}
return atszstr;
}
forward VanAtszallas(jid,megalloid);
public VanAtszallas(jid,megalloid)
{
    new h,mi,s;
gettime(h,mi,s);
new atsz=0;
new bool:volt[MAX_JARAT];
for(new i = 0; i<MAX_JARAT;i++)
{
    if(i != jid)
    {
        for(new m = 0; m < jInfo[jMegallokSzama]; m++)
        {
            new megalloid2 = MelyikMegallo(NPC_Megallok[m]);
      if(megalloid2 == megalloid || !strcmp(mInfo[megalloid][mNev], mInfo[megalloid2][mNev], true))
      {
          if(!volt)
          {
            if(jInfo[jKozlInterVallum][0] > jInfo[jKozlInterVallum][1])
             {
                if(jInfo[jKozlInterVallum][1] > h || h >= jInfo[jKozlInterVallum][0])
                {
                  atsz++;
                  volt = true;
                }
             } else {
                if(jInfo[jKozlInterVallum][0] <= h && jInfo[jKozlInterVallum][1] > h)
                {
                  atsz++;
                  volt = true;
               }
             }
          }
      }
        }
    }
}
if(atsz>0) return true;
return false;
}
public JaratKovCheck(jid)
{
    new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
new van = false;
for(new i = 0; i<MAX_NPC;i++)
{
    if(nInfo[nJaratID] == jid)
    {
        if(nInfo[nAll] && nInfo[nHolTart] == 0)
        {
      if(nInfo[nMenetAllapot] == 3)
      {
         new str[64];format(str,sizeof(str),\"9%d2\",jid);
                 new n[MAX_PLAYER_NAME];
          GetPlayerName(nInfo[nPlayerID],n,sizeof(n));
           printf(\"[NPC] %s-t garázsba küldtem\",n);
         nInfo[nJaratID] = strval(str);
               SetTimerEx(\"NPC_Start\",tsecond(3),false,\"d\",i);
      } else {
            van = true;
            SetTimerEx(\"NPC_Start\",tsecond(3),false,\"d\",i);
            for(new x = 0; x<MAX_NPC;x++)
            {
               if(nInfo
  • [nJaratID] == jid && x != i)

               {
                  if(nInfo
  • [nAll] && nInfo
  • [nHolTart] == 0 && nInfo
  • [nMenetAllapot] != 0)

                  {
                  new n[MAX_PLAYER_NAME];
                   GetPlayerName(nInfo
  • [nPlayerID],n,sizeof(n));

                    printf(\"[NPC] %s-t garázsba küldtem, mert fölöslegessé vált\",n);
                  new str[64];
                  if(jid >=900)
                  {
                     if((jid-901) % 10 == 0 || jid-901 == 0)
                        format(str,sizeof(str),\"%d\",jid+1);
                        else format(str,sizeof(str),\"%d\",jid);
                  }
                  else format(str,sizeof(str),\"9%d2\",jid);
                  nInfo
  • [nJaratID] = strval(str);

                        nInfo
  • [nMenetAllapot] = 3;

                        SetTimerEx(\"NPC_Start\",tsecond(3),false,\"d\",x);
                  }
               }
            }
            return 1;
            }
        }
    }
}
if(!van)
{
    if(jInfo[jid][jKozlInterVallum][0] > jInfo[jid][jKozlInterVallum][1])
    {
    if(jInfo[jid][jKozlInterVallum][1] > h || h >= jInfo[jid][jKozlInterVallum][0])
    {
      NPCBetoltes(jid);
      printf(\"[NPC] %s járatra betöltöttem egy NPC-t mert %d-től %d-ig közlekedik\",jInfo[jid][jViszonylat],jInfo[jid][jKozlInterVallum][0],jInfo[jid][jKozlInterVallum][1]);
   }
    } else {
    if(jInfo[jid][jKozlInterVallum][0] <= h && jInfo[jid][jKozlInterVallum][1] > h)
    {
      NPCBetoltes(jid);
      printf(\"[NPC] %s járatra betöltöttem egy NPC-t mert %d-től %d-ig közlekedik\",jInfo[jid][jViszonylat],jInfo[jid][jKozlInterVallum][0],jInfo[jid][jKozlInterVallum][1]);
   }
}
}
return 1;
}
public KijelzoLapozas()
{
for(new id=0; id<MAX_NPC; id++)
{
    if(nInfo[id][nVan])
    {
   new szoveg[512];
   new jid=nInfo[id][nJaratID];
   if(nInfo[id][nBug][1] == 1)
   {
      SetDynamicObjectMaterialText(nInfo[id][nKijelzo],0,\" \",OBJECT_MATERIAL_SIZE_256x128,\"Arial\",24,1,0xFFFFFFFF,0,1);
   }else {
       if(nInfo[id][nBug][2] == 1)
       {
         if(jInfo[jid][jEgyebSzovegVan])
         {
                if(nInfo[id][nMenetAllapot] == 0 || nInfo[id][nMenetAllapot] == 3)
                   format(szoveg,sizeof(szoveg),\" %s\",jInfo[jid][jEgyebSzoveg]);
            else
               format(szoveg,sizeof(szoveg),\" %s > %s\",jInfo[jid][jEgyebSzoveg],nInfo[id][nKijelzoSzoveg]);
         } else {
            format(szoveg,sizeof(szoveg),\" %s\",nInfo[id][nKijelzoSzoveg]);
         }
      }else{
         if(jInfo[jid][jEgyebSzovegVan])
         {
                if(nInfo[id][nMenetAllapot] == 0 || nInfo[id][nMenetAllapot] == 3)
                   format(szoveg,sizeof(szoveg),\" %s %s %s %s %s %s %s %s %s %s\",jInfo[jid][jEgyebSzoveg],jInfo[jid][jEgyebSzoveg],jInfo[jid][jEgyebSzoveg],jInfo[jid][jEgyebSzoveg],jInfo[jid][jEgyebSzoveg],jInfo[jid][jEgyebSzoveg],jInfo[jid][jEgyebSzoveg],jInfo[jid][jEgyebSzoveg],jInfo[jid][jEgyebSzoveg],jInfo[jid][jEgyebSzoveg]);
            else
               format(szoveg,sizeof(szoveg),\" %s > %s %s > %s %s > %s %s > %s %s > %s\",jInfo[jid][jEgyebSzoveg],nInfo[id][nKijelzoSzoveg],jInfo[jid][jEgyebSzoveg],nInfo[id][nKijelzoSzoveg],jInfo[jid][jEgyebSzoveg],nInfo[id][nKijelzoSzoveg],jInfo[jid][jEgyebSzoveg],nInfo[id][nKijelzoSzoveg],jInfo[jid][jEgyebSzoveg],nInfo[id][nKijelzoSzoveg]);
         } else {
            format(szoveg,sizeof(szoveg),\" %s %s %s %s %s %s %s %s %s %s\",nInfo[id][nKijelzoSzoveg],nInfo[id][nKijelzoSzoveg],nInfo[id][nKijelzoSzoveg],nInfo[id][nKijelzoSzoveg],nInfo[id][nKijelzoSzoveg],nInfo[id][nKijelzoSzoveg],nInfo[id][nKijelzoSzoveg],nInfo[id][nKijelzoSzoveg],nInfo[id][nKijelzoSzoveg],nInfo[id][nKijelzoSzoveg]);
         }
      }
      new hossza=strlen(szoveg),ujszov[128];
      if(hossza >= 15)
      {
          if(nInfo[id][nBug][2] == 1)
          {
            strmid(ujszov,szoveg,0,15-strlen(jInfo[jid][jViszonylat]));
            SetDynamicObjectMaterialText(nInfo[id][nKijelzo],0,ujszov,OBJECT_MATERIAL_SIZE_256x128,\"Arial\",24,1,0xFFFFFFFF,0,1);
          }
          else
          {
             if(nInfo[id][nKijelzoState] >= (hossza-15-strlen(jInfo[jid][jViszonylat])) || nInfo[id][nKijelzoState] < 0)
             {
                nInfo[id][nKijelzoState] = 0;
             }
            strmid(ujszov,szoveg,nInfo[id][nKijelzoState],(nInfo[id][nKijelzoState] + 16-strlen(jInfo[jid][jViszonylat])));
            SetDynamicObjectMaterialText(nInfo[id][nKijelzo],0,ujszov,OBJECT_MATERIAL_SIZE_256x128,\"Arial\",24,1,0xFFFFFFFF,0,1);
            nInfo[id][nKijelzoState]++;
         }
      } else {
         SetDynamicObjectMaterialText(nInfo[id][nKijelzo],0,nInfo[id][nKijelzoSzoveg],OBJECT_MATERIAL_SIZE_256x128,\"Arial\",24,1,0xFFFFFFFF,0,1);
      }
   }
    }
}
return 1;
}
public NPC_Start(id)
{
new jid = nInfo[id][nJaratID];
SCM(nInfo[id][nPlayerID],NINCS,jInfo[jid][jFileName]);
nInfo[id][nHolTart] = 1;
nInfo[id][nAll] = false;
if(nInfo[id][nMenetAllapot] != 0 && nInfo[id][nMenetAllapot] != 3)
{
nInfo[id][nMenetAllapot] = 1;
nInfo[id][nBug][0] = random(10);
nInfo[id][nBug][1] = random(10);
nInfo[id][nBug][2] = random(10);
}
SCM(nInfo[id][nPlayerID],NINCS,NPC_AKCIO_START);
nInfo[id][nMenetIdo] = 0;
nInfo[id][nErkIdo] = 0;
return 1;
}
public NPC_Pause(id)
{
new jid = nInfo[id][nJaratID];
nInfo[id][nAll] = true;
nInfo[id][nAllasOka] = MEGALLO;
SCM(nInfo[id][nPlayerID],NINCS,NPC_AKCIO_PAUSE);
if(jInfo[jid][jMenetIdo][nInfo[id][nHolTart]] > nInfo[id][nMenetIdo] || jInfo[jid][jMenetIdo][nInfo[id][nHolTart]] < 3 )
{
    jInfo[jid][jMenetIdo][nInfo[id][nHolTart]] = nInfo[id][nMenetIdo];
        new file[64];
format(file,sizeof(file),\"/LSTKRv2/Jaratok/%d.ini\",jid);
    new temp[128];
    format(temp,sizeof(temp),\"MenetIdo_%d\",nInfo[id][nHolTart]);
       dini_IntSet(file,temp,jInfo[jid][jMenetIdo][nInfo[id][nHolTart]]);
}
nInfo[id][nMenetIdo] = MEGALLO_IDO;
new bool:tovabbmehet=true;
new vegallomasid;
for(new i=0; i<jInfo[jid][jMegallokSzama];i++)
{
       if(!strcmp(NPC_Megallok[jid], jInfo[jid][jVegall], true))
       {
           vegallomasid = i;
       }
}
if(nInfo[id][nHolTart] < vegallomasid)
{
if(nInfo[id][nMenetAllapot] == 2) nInfo[id][nMenetAllapot] = 1;
}
else if(nInfo[id][nHolTart] >= vegallomasid)
{
    if(nInfo[id][nMenetAllapot] == 3 && (jid / 900) >= 1 && jid % 2 == 0)
    {
            new n[MAX_PLAYER_NAME];
   GetPlayerName(nInfo[id][nPlayerID],n,sizeof(n));
    printf(\"[NPC] %s beért a garázsba, kickeltem!\",n);
    DestroyDynamic3DTextLabel(nInfo[id][nLabel]);
    KillTimer(nInfo[id][nCheckTimer]);
    KillTimer(nInfo[id][nMonitorTimer]);
   SetDynamicObjectMaterialText(nInfo[id][nKijelzo],0,\"Garázsmenet\",OBJECT_MATERIAL_SIZE_256x128,\"Arial\",24,1,0xFFFFFFFF,0,1);
   Kick(nInfo[id][nPlayerID]);
    nInfo[id][nVan] = false;
}
    else if(nInfo[id][nMenetAllapot] == 3 && (jid / 900) >= 1 && jid % 2 != 0)
{
   new str[64];format(str,sizeof(str),\"%d\",jid+1);
   new n[MAX_PLAYER_NAME];
    GetPlayerName(nInfo[id][nPlayerID],n,sizeof(n));
        printf(\"[NPC] %s-t garázsba küldtem\",n);
   nInfo[id][nJaratID] = strval(str);
       SetTimerEx(\"NPC_Start\",tsecond(3),false,\"d\",id);
    }
else if(nInfo[id][nMenetAllapot] == 0  && (jid / 9) >= 1)
{
   new a[32], b[32];
   format(a,sizeof(a),\"%d\",nInfo[id][nJaratID]);
   strmid(b,a,1,strlen(a)-1);
            nInfo[id][nJaratID] = strval(b);
   new n[MAX_PLAYER_NAME];
    GetPlayerName(nInfo[id][nPlayerID],n,sizeof(n));
        printf(\"[NPC] %s-t elindítottam a járatán, kiért a garázsból\",n);
          nInfo[id][nMenetAllapot] = 1;
       tovabbmehet = false;
       nInfo[id][nHolTart] = 0;
          SetTimerEx(\"NPC_Start\",tsecond(3),false,\"d\",id);
}
if(nInfo[id][nMenetAllapot] == 1) nInfo[id][nMenetAllapot] = 2;
}
if(nInfo[id][nHolTart] == 0)
{
if((nInfo[id][nMenetAllapot] == 3 || nInfo[id][nMenetAllapot] == 0) && nInfo[id][nJaratID] >= 900) tovabbmehet = false;
    if(jInfo[nInfo[id][nJaratID]][jKovetesiPerc] > 0)
    {
       tovabbmehet = false;
    }
if(nInfo[id][nMenetAllapot] == 3)
{
   new str[64];format(str,sizeof(str),\"9%d2\",jid);
   new n[MAX_PLAYER_NAME];
    GetPlayerName(nInfo[id][nPlayerID],n,sizeof(n));
        printf(\"[NPC] %s-t garázsba küldtem\",n);
   nInfo[id][nJaratID] = strval(str);
       SetTimerEx(\"NPC_Start\",tsecond(3),false,\"d\",id);
    }
}
if(tovabbmehet && nInfo[id][nHolTart] != 0) SetTimerEx(\"NPC_Resume\",tsecond(MEGALLO_IDO),false,\"d\",id);
Bemond(id,MEGALLONEV);
nInfo[id][nBemondta]=true;
return 1;
}
public NPC_Resume(id)
{
    if(nInfo[id][nMenetAllapot] == 3 && nInfo[id][nJaratID] >= 900) return 1;
new jid = nInfo[id][nJaratID];
nInfo[id][nAll] = false;
nInfo[id][nBemondta] = false;
new vegallomasid;
for(new i=0; i<jInfo[jid][jMegallokSzama];i++)
{
       if(!strcmp(NPC_Megallok[jid], jInfo[jid][jVegall], true))
       {
           vegallomasid = i;
       }
}
if(nInfo[id][nHolTart] == 0 || nInfo[id][nHolTart] == vegallomasid)
{
SetTimerEx(\"Bemond\",tsecond(3),false,\"dd\",id,UDV);
nInfo[id][nBemondta] = true;
}
nInfo[id][nHolTart]++;
if(nInfo[id][nHolTart] == 0 || nInfo[id][nHolTart] == vegallomasid)
{
SetTimerEx(\"Bemond\",tsecond(1),false,\"dd\",id,KOVETKEZO);
nInfo[id][nBemondta] = true;
}
if(nInfo[id][nHolTart] >= jInfo[jid][jMegallokSzama]) nInfo[id][nHolTart] = 0;
nInfo[id][nErkIdo] = jInfo[jid][jMenetIdo][nInfo[id][nHolTart]];
SCM(nInfo[id][nPlayerID],NINCS,NPC_AKCIO_RESUME);
return 1;
}
public Bemond(id,tipus)
{
#if defined BEMONDAS
new jid = nInfo[id][nJaratID],vegallomasid,kovid=MelyikMegallo(NPC_Megallok[jid][nInfo[id][nHolTart]]);
for(new i=0; i<jInfo[jid][jMegallokSzama];i++)
{
       if(!strcmp(NPC_Megallok[jid], jInfo[jid][jVegall], true))
       {
           vegallomasid = i;
       }
}
if(tipus==MEGALLONEV)
{
        new str[300];
        format(str,sizeof(str),\"%s%s\",HANGOK_ELERHETOSEGE,mInfo[kovid][mHang]);
if(nInfo[id][nHolTart] == vegallomasid || nInfo[id][nHolTart] == 0)
{
    SetTimerEx(\"Bemond\",tsecond(mInfo[kovid][mHangTime]) + 200,false,\"dd\",id,VEGALLOMAS);
}
for(new i = 0; i<MAX_PLAYERS;i++)
{
    if(IsPlayerInVehicle(i,nInfo[id][nJarmu]))
    {
      PlayAudioStreamForPlayer(i,str);
    }
}
return 1;
}
else if(tipus==KOVETKEZO)
{
        new str[300];
        format(str,sizeof(str),\"%skov.mp3\",HANGOK_ELERHETOSEGE);
for(new i = 0; i<MAX_PLAYERS;i++)
{
    if(IsPlayerInVehicle(i,nInfo[id][nJarmu]))
    {
      PlayAudioStreamForPlayer(i,str);
    }
}
SetTimerEx(\"Bemond\",tsecond(3),false,\"dd\",id,MEGALLONEV);
return 1;
}
else if(tipus==UDV)
{
        new str[300];
        format(str,sizeof(str),\"%sudv.mp3\",HANGOK_ELERHETOSEGE);
for(new i = 0; i<MAX_PLAYERS;i++)
{
    if(IsPlayerInVehicle(i,nInfo[id][nJarmu]))
    {
      PlayAudioStreamForPlayer(i,str);
    }
}
SetTimerEx(\"Bemond\",tsecond(3),false,\"dd\",id,KOVETKEZO);
return 1;
}
else if(tipus==VEGALLOMAS)
{
new str[300];
        if(nInfo[id][nAll])
        {
   format(str,sizeof(str),\"%svegallviszlat.mp3\",HANGOK_ELERHETOSEGE);
   for(new i = 0; i<MAX_PLAYERS;i++)
   {
       if(IsPlayerInVehicle(i,nInfo[id][nJarmu]))
       {
         PlayAudioStreamForPlayer(i,str);
       }
   }
} else {
   format(str,sizeof(str),\"%svegall.mp3\",HANGOK_ELERHETOSEGE);
   for(new i = 0; i<MAX_PLAYERS;i++)
   {
       if(IsPlayerInVehicle(i,nInfo[id][nJarmu]))
       {
         PlayAudioStreamForPlayer(i,str);
       }
   }
}
return 1;
}
#endif
return 1;
}
public OnPlayerConnect(playerid)
{
if(IsPlayerNPC(playerid))
{
    new n[MAX_PLAYER_NAME];
    GetPlayerName(playerid,n,sizeof(n));
    for(new i = 0; i<MAX_NPC;i++)
    {
   new ji = nInfo[nJaratID];
        if(nInfo[nVan])
        {
            if(!strcmp(nInfo[nPlayerName], n, true))
            {
               nInfo[nPlayerID] = playerid;
         printf(\"[NPC] %s csatlakozott | Viszonylat: %s\",n,jInfo[ji][jViszonylat]);
               SpawnPlayer(playerid);
               NPC_ID[playerid] = i;
            }
        }
    }
}
return 1;
}
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid))
{
    new n[MAX_PLAYER_NAME];
    GetPlayerName(playerid,n,sizeof(n));
    for(new i = 0; i<MAX_NPC;i++)
    {
   new ji = nInfo[nJaratID];
        if(nInfo[nVan])
        {
            if(!strcmp(nInfo[nPlayerName], n, true))
            {
          PutPlayerInVehicle(playerid,nInfo[nJarmu],0);
         SCM(playerid,NINCS,jInfo[ji][jFileName]);
         printf(\"[NPC] %s spawnolt | Viszonylat: %s\",n,jInfo[ji][jViszonylat]);
         nInfo[nCheckTimer] = SetTimerEx(\"NPCCheck\",200,true,\"d\",i);
         //nInfo[nMonitorTimer] = SetTimerEx(\"MonitorTimer\",2000,true,\"d\",i);
         nInfo[nMenetAllapot] = 0;
         new str[64];format(str,sizeof(str),\"9%d1\",ji);
         nInfo[nJaratID] = strval(str);
               SetTimerEx(\"NPC_Start\",tsecond(3),false,\"d\",i);
            }
        }
    }
}
return 1;
}
public Float:GetDistanceToPoint(playerid, Float:x1, Float:y1, Float:z1)
{
new Float:x2,Float:y2,Float:z2;
GetPlayerPos(playerid,x2,y2,z2);
return GetDistanceBetweenPoints(x1,y1,z1,x2,y2,z2);
}
public Float:GetDistanceBetweenPoints(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2)
{
return floatadd(floatadd(floatsqroot(floatpower(floatsub(x1,x2),2)),floatsqroot(floatpower(floatsub(y1,y2),2))),floatsqroot(floatpower(floatsub(z1,z2),2)));
}
stock MegalloBetoltes()
{
new h,mi,s,y,m,d;
for(new i = 0; i<MAX_MEGALLO;i++)
{
        new file[64];
format(file,sizeof(file),\"/LSTKRv2/Megallok/%d.ini\",i);
if(dini_Exists(file))
{
   mInfo[mVan] = true;
   format(mInfo[mAzonosito],128,\"%s\",dini_Get(file,\"Azonosito\"));
   format(mInfo[mHang],32,\"%s\",dini_Get(file,\"Hang\"));
   format(mInfo[mNev],256,\"%s\",dini_Get(file,\"Nev\"));
   mInfo[mHangTime] = dini_Int(file,\"HangTime\");
   mInfo[mPos][0] = dini_Float(file,\"PosX\");
   mInfo[mPos][1] = dini_Float(file,\"PosY\");
   mInfo[mPos][2] = dini_Float(file,\"PosZ\");
   new mtext[256]; format(mtext,sizeof(mtext),\"MEGÁLLÓ\\n%s\",mInfo[mNev]);
   mInfo[mLabel] = CreateDynamic3DTextLabel(mtext, COLOR_MEGALLO, mInfo[mPos][0], mInfo[mPos][1], mInfo[mPos][2] + 7.5, 30.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID);
   getdate(y,m,d);
   gettime(h,mi,s);
   printf(\"[%s %d.%02d.%02d. %02d:%02d]: Megálló %s[%s] betöltve\",SZERVERNEVE2,y,m,d,h,mi,mInfo[mNev],mInfo[mAzonosito]);
}
}
return 1;
}
stock MegalloMentes()
{
for(new id = 0; id<MAX_MEGALLO;id++)
{
    if(mInfo[id][mVan])
    {
      new file[64];
   format(file,sizeof(file),\"/LSTKRv2/Megallok/%d.ini\",id);
   if(!dini_Exists(file))
   {
       dini_Create(file);
   }
   dini_Set(file,\"Azonosito\",mInfo[id][mAzonosito]);
   dini_Set(file,\"Nev\",mInfo[id][mNev]);
   dini_Set(file,\"Hang\",mInfo[id][mHang]);
   dini_FloatSet(file,\"PosX\",mInfo[id][mPos][0]);
   dini_FloatSet(file,\"PosY\",mInfo[id][mPos][1]);
   dini_FloatSet(file,\"PosZ\",mInfo[id][mPos][2]);
   dini_IntSet(file,\"HangTime\"

6
SA-MP: Szerverfejlesztés / [NPC] LSTKRv2 - Intelligens NPC közlekedés - v2.5
« Dátum: 2016. Március 27. - 00:11:19 »
Idézetet írta: divkn date=1459026207\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"59962\" data-ipsquote-contentclass=\"forums_Topic
Sehogy. :D Actorokat nem lehet járműbe ültetni sajnos, pedig egyszerűbb mozgatni, mint a gyalogos/futási sebességet animációhoz eltalálni.
 
Még nem is próbáltam kocsiba ültetni, nem néztem hogy egyáltalán lehet-e, gyalogosan próbáltam meg, de össze vissza pattogott, egy óra után meguntam. De lehet majd csinálok hozzá include-t, ha addig nem valósítja meg valaki. Nekem előtte még a MapAndreassal kéne megbarátkozni ::)

Dupla hozzászólás automatikusan összefûzve. ( 2016. Március 28. - 21:58:56 )

Nos hát emberek, én megcsináltam az átszállás jelzést a monitorra, de azóta meg eltűntek az ékezetek a textlabelekből  és a materialtextekből is (de nem mindig, ez fura  ???) mintha nem is lenne fixchars, pedig van.
\"sa-mp-015b6f96.png\"
Itt a monitor átszállás-bigyó forráskódja:



   else if(nInfo[id][nMonitorState] == 2)
{
format(string,sizeof(string),\"%s > %s\",jInfo[jid][jViszonylat],mInfo[vegallid][mNev]);
TextDrawSetString(BK_Vegallomas[id],string);
    if(strlen(Atszallasok(jid,kovid)) > 0)
TextDrawSetString(BK_KovMeg[id],Atszallasok(jid,kovid));
        else
TextDrawSetString(BK_KovMeg[id],mInfo[kovid][mNev]);
if(m1!= NINCS)
{
    if(strlen(Atszallasok(jid,m1)) > 0) TextDrawSetString(BK_Megallo1[id],Atszallasok(jid,m1));
    else TextDrawSetString(BK_Megallo1[id],mInfo[m1][mNev]);
} else TextDrawSetString(BK_Megallo1[id],\" \");
if(m2!= NINCS)
{
    if(strlen(Atszallasok(jid,m2)) > 0) TextDrawSetString(BK_Megallo2[id],Atszallasok(jid,m2));
    else TextDrawSetString(BK_Megallo2[id],mInfo[m2][mNev]);
} else TextDrawSetString(BK_Megallo2[id],\" \");
if(m3!= NINCS)
{
    if(strlen(Atszallasok(jid,m3)) > 0) TextDrawSetString(BK_Megallo3[id],Atszallasok(jid,m3));
    else TextDrawSetString(BK_Megallo3[id],mInfo[m3][mNev]);
} else TextDrawSetString(BK_Megallo3[id],\" \");
}

 
 
Itt meg maga az Átszállás stock:



   else if(nInfo[id][nMonitorState] == 2)
{
format(string,sizeof(string),\"%s > %s\",jInfo[jid][jViszonylat],mInfo[vegallid][mNev]);
TextDrawSetString(BK_Vegallomas[id],string);
    if(strlen(Atszallasok(jid,kovid)) > 0)
TextDrawSetString(BK_KovMeg[id],Atszallasok(jid,kovid));
        else
TextDrawSetString(BK_KovMeg[id],mInfo[kovid][mNev]);
if(m1!= NINCS)
{
    if(strlen(Atszallasok(jid,m1)) > 0) TextDrawSetString(BK_Megallo1[id],Atszallasok(jid,m1));
    else TextDrawSetString(BK_Megallo1[id],mInfo[m1][mNev]);
} else TextDrawSetString(BK_Megallo1[id],\" \");
if(m2!= NINCS)
{
    if(strlen(Atszallasok(jid,m2)) > 0) TextDrawSetString(BK_Megallo2[id],Atszallasok(jid,m2));
    else TextDrawSetString(BK_Megallo2[id],mInfo[m2][mNev]);
} else TextDrawSetString(BK_Megallo2[id],\" \");
if(m3!= NINCS)
{
    if(strlen(Atszallasok(jid,m3)) > 0) TextDrawSetString(BK_Megallo3[id],Atszallasok(jid,m3));
    else TextDrawSetString(BK_Megallo3[id],mInfo[m3][mNev]);
} else TextDrawSetString(BK_Megallo3[id],\" \");
}

 
 
A szöveges műveletekhez mindig is síkhülye voltam, így most a ti segítségetekre szorulok..

7
Fórum Archívum (Témák/Fórumok) / SAMPANY ~ Ahol a közösség az első..
« Dátum: 2016. Március 26. - 22:05:01 »
Nem azert h negativkodjak, de ebbol legalabb lesz is valami?

8
SA-MP: Szerverfejlesztés / [NPC] LSTKRv2 - Intelligens NPC közlekedés - v2.5
« Dátum: 2016. Március 26. - 21:12:25 »
Idézetet írta: divkn date=1459021354\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"59962\" data-ipsquote-contentclass=\"forums_Topic
Ehh, azt sajnálom hogy ezek slotevő NPC-k, nem pedig actorok. Igaz van MapAndreas Z koordináta lekérdezésére mindenféle módon, de akkor sem egészséges minden másodpercben lefuttatni.
 
Probaltam mar osszefuggo utvonalat letrehozni gyalogos actorral.. Hat.. Nem csak hogy laggoltat, de ha gyalogosan ilyen hulyen nez ki, akkor hogy nezne ki jarmuvel? :D
De egyebkent kiserletezem vele :)

9
SA-MP: Szerverfejlesztés / [NPC] LSTKRv2 - Intelligens NPC közlekedés - v2.5
« Dátum: 2016. Március 26. - 20:16:46 »
Idézetet írta: Pedró date=1459019004\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"59962\" data-ipsquote-contentclass=\"forums_Topic
ha lenne egy erős alapja ennek, ami bika lenne, nagyon szuper lenne.
:D
 
Széj wat? :D (mit értesz ez alatt? :) )

10
SA-MP: Szerverfejlesztés / [NPC] LSTKRv2 - Intelligens NPC közlekedés - v2.5
« Dátum: 2016. Március 26. - 19:34:56 »
Idézetet írta: Kyosuke_Hiroshi date=1459016875\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"59962\" data-ipsquote-contentclass=\"forums_Topic
Szép Munka!
Remélem lesz esetleg kedved meg időd is tovább húzni ezt a rendszert :)
Én már láttam úgymond élesbe a scriptet éés háát elkéne gondolkozzak elég komolyan hogy ha nekem kéne megoldjam azt hogy tenném :DD
 
Nem igazán van már ötletem hogy mivel húzzam.. A várható újítások pontban vannak az utolsó ötleteim ezzel kapcsolatban.
Ha van ötleted még, ne tartsd magadban, mert ha olyan akkor megcsinálom :)

11
SA-MP: Szerverfejlesztés / [NPC] LSTKRv2 - Intelligens NPC közlekedés - v2.5
« Dátum: 2016. Március 26. - 18:41:12 »
Idézetet írta: Th0mas date=1459010949\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"59962\" data-ipsquote-contentclass=\"forums_Topic


Néhány képet megnéznék. :)
 
Én is. :D
De amúgy ha Peti NPC-iről van szó abban nem lehet csalódni, nagyon profin csinálja.
 
[/quote]
Jaj egyelek meg köszönöm :D
Nyugalom srácok, lesz kép, csak éppen melóban vagyok, na meg tegnap volt a szülinapom ezért piálások hada van, de igyekszem időt keríteni rá :)

12
SA-MP: Szerverfejlesztés / [NPC] LSTKRv2 - Intelligens NPC közlekedés - v2.5
« Dátum: 2016. Március 26. - 14:49:45 »
Üdv mindenkinek :)
Bár nem igazán szkriptelek már, néha néha kedvet kapok egy kis NPC-zéshez. Ez szülte a LYLRP NPC közlekedés szkript továbbfejlesztését. Mivel a LYLRP NPC szkriptje az LSTKR szkriptem alapjaira épült, a továbbfejlesztett változata az LSTKRv2 nevet kapta. Na de nem rizsázok, lássuk:
Tartalom:


Menetrend szerint közlekedő járatok
 
  • Adott időnként indul egy járat a végállomásról

  • Adott időszakban közlekedik a járat (éjszakai járat is megoldható)

  • Megállók között mentett menetidő

  • Megállók felett textlabelen látható hogy adott járat körülbelül mikor érkezik




Garázsmenet szimuláció
 
  • A buszok a garázsból jönnek ki járatra, és amennyiben lejár az üzemidő / admin közbeavatkozik, végigmegy az adott meneten, aztán elindul a garázsba



Dinamikus rendszer
 
  • A megállók illetve járatok is fájlokból vannak betöltve

  • A megállók In-Game is testreszabhatók




Utastájékoztatás
 
  • A járművekbe beszálláskor megjelenik egy monitor textdraw, amin a járat jelzése, végállomása illetve 4 következő megállók láthatók

  • Igény esetén hangos utastájékoztatás (\'következő megálló...XY\') [Jelen verzióhoz nem tartozik alapértelmezetten]

  • Járművek elején scrolling text \'kijelző\'

  • Járművek felett felirat (textlabel)




Kezelhető NPC-k
 
  • RCON adminisztrátorok tudják vezérelni az NPC-ket, illetve tudnak éppen nem közlekedő járatra is lerakni NPC-t



Okos NPC-k
 
  • A buszok nem ütnek el senkit, amennyiben valaki eléjük kerül, megáll, viszont ha az illető AFK, vagy szórakozik, egy idő után továbbindul



Szándékos hibák (valóság-szimuláció)
 
  • Buszok elején a \'kijelző\' véletlenszerűen megáll, hiányos, vagy téves információt ír



Ismert hibák
 
  • Szerver lagg esetén nem biztos hogy megáll a busz valahol, a végállomáson vesztegel amíg egy RCON admin nem reseteli

  • /npc marad bizonyos esetekben nem működik

  • Vonattal nem lett tesztelve a rendszer, valószínűleg nem, vagy nem megfelelően működik

  • Buszok időnként összebuggolnak (Okos NPC-k pontban említett okok miatt)

  • Megállók feletti textdraw néha több időt ír mint kéne, aztán nagyokat esik az idő




Licensz, egyebek
Módosítva publikálni csak engedéllyel. Saját használatra módosítható!
Az ismert hibák nagy része idő/kedv hiányában nem lett kijavítva.
Amennyiben javítasz egy hibát, azt feltétlenül küldd el nekem e-mailben!


Várható újdonságok
Utastájékoztató monitor megújulása
 
  • Átszállási kapcsolatok közlése

  • Utolsó megálló esetén végállomás felirat

  • \'Egyéb szöveg\' kiírása


Vonat
Valóság-szimuláció bővülése
 
  • Véletlenszerű lerobbanások, vonatpótlás, lerobbant járművek garázsba juttatása, stb.



HAMAROSAN ANGOL NYELVEN IS! COMING SOON IN ENGLISH LANGUAGE!
Kapcsolat: [email protected] >>> Tárgy: LSTKRv2


Letöltés
Magyar
Angol(még nem elérhető)
Amennyiben igény van képre, szóljatok!

13
Idézetet írta: florone date=1450954589\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"58756\" data-ipsquote-contentclass=\"forums_Topic
Pöpec vagy!
Ez miféle munka amúgy? :D
 

TextDrawCreate(427.000000, 360.000000, \"Munka: Fasz állító\");

 
Könyörgöm kérlek engedd meg nekem,hogy felhasználjam a kilométerórát belőle.Annyira kiváló lett,hogy az elképesztő!!
 
Szándékosan lett úgy írva :D
Egyébként nyugodtan.
 

Szép a mód, azt nem értem hogy az NPC-t miért 0 0 0 Cordinátára rakja le.
 
[/quote]
Ez nem oszt, nem szoroz, mivel amint betölti a felvételt, nem lesz az biza a 0 0 0 koordintáknál ;)
 

 

Könyörgöm kérlek engedd meg nekem,hogy felhasználjam a kilométerórát belőle.Annyira kiváló lett,hogy az elképesztő!!
 
[/quote]
Nem kell ezt kérned, a neten fent van már jódarabja mint szabadon felhasználható script. Gondolom onnan van betéve ebbe a módba is.
 
[/quote]
Akármilyen hihetetlen, semmi nincs abból a publikus kilóméterórából kikopizva.. Egyébként az a szkript le se volt töltve soha a gépemre, a kódját sem láttam soha, így hát ha esetleg pontosan az a szín van benne, vagy a kódja hasonlít rá, az a véletlen műve. Az ötlet valóban másolás valamilyen szinten.

14
Idézetet írta: Kyosuke_Hiroshi date=1450816607\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"58756\" data-ipsquote-contentclass=\"forums_Topic
Én feltettem kipróbáltam, hááát
10,7 MB AMX Fájl O.O
Mellesleg nem rossz amúgy. a kód is átlatható azért van benne 1-2 dolog ami ismerős de az nem látszik a cliens oldalon.
Szép munka Peti!
Ha jól tudom neked nagyon jól megy az NPCzés szóval el is várhatóan csináltad meg a buszokat. Grat!
Üdv. Hiroshi
 
Az amx fájl [CENZÚRA] nagy méretét sosem értettem én sem :D
Amúgy igen, az NPC-k terén nagyon otthon érzem magam, azokkal mindent megvalósítok :D Mondták már rám hogy én vagyok Gang[$]ter utódja(ő is nagyon NPC szaki volt anno)

15
Idézetet írta: drop date=1450814690\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"58756\" data-ipsquote-contentclass=\"forums_Topic
Esetleg raknál fel képeket vagy akár egy videót?
Miért nekünk kellene kipróbálnunk? Neked kellett volna képeket/videót kirakni. Mellesleg a kódot nem, de a changelogot átnéztem.
 
Kép/videjó hiányáért bocs, nem igazán telik rá idő.

Összecsapott leírásért I\'m sorry, nincs nekem időm erre :D[/quote]
Ha ilyen hozzáállással teszed ki a módot, ne csodálkozz, hogy ócsárolják...
 
[/quote]
Bocs, de nem igazán van kedvem/időm képet/videót készíteni. A módot azért raktam ki, mert már nem foglalkozom a SA-MPpal és minek porosodjon a gépemen.. Talán lehet belőle tanulni, vagy esetleg továbbfejlesztve/befejezve -aki még gondolkozik ilyenben- megnyitni vele egy szervert, bár a SA-MP ideje lassacskán lejár..
Valójában nem az a gond, hogy negatív vélemény jön, hanem hogy az ilyesmi mint a \"gány, szar, összecsapott\"... Lehet normálisan is kritizálni.. Mondjuk az X rendszer nem tetszik mert Y... X-t jobban is meg lehetett volna írni mert Y.. stb.. Kultúra..

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