Szerző Téma: TextDrawSetString miatt TEXTLABEL ékezet vesztés (omg)  (Megtekintve 595 alkalommal)

Nem elérhető Wiliam Levy

  • 594
  • Wiliam Levy
    • Profil megtekintése
TextDrawSetString miatt TEXTLABEL ékezet vesztés (omg)
« Dátum: 2016. március 29. - 22:03:54 »
0 Show voters
Ü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\"
« Utoljára szerkesztve: 2016. március 29. - 22:13:48 írta Peti134 »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal