Szerző Téma: Itt kérdezz warningot/error -t!  (Megtekintve 125403 alkalommal)

Itt kérdezz warningot/error -t!
« Válasz #270 Dátum: 2013. Október 05. - 22:16:59 »
0 Show voters
Én 34 ezer sorból nem fogom végig nézni mindet xd

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Itt kérdezz warningot/error -t!
« Válasz #271 Dátum: 2013. Október 05. - 22:20:55 »
0 Show voters
AntiDeAMX elõtt levõ kódnál kezd :D mivel arra írja hogy ismeretlen
 
605 main ()   { AntiDeAMX(); }
619 AntiDeAMX();
[/quote]
a 606. sornál kezdeném a helyedben
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Itt kérdezz warningot/error -t!
« Válasz #272 Dátum: 2013. Október 05. - 22:27:04 »
0 Show voters
De ott nincs semmi! ÉS nem fogom az egész modot végig nézni.,..

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Itt kérdezz warningot/error -t!
« Válasz #273 Dátum: 2013. Október 05. - 22:27:45 »
0 Show voters
másold be mi van a 606 és a 619 sor között
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Itt kérdezz warningot/error -t!
« Válasz #274 Dátum: 2013. Október 05. - 22:39:31 »
0 Show voters
main ()   { AntiDeAMX(); }
public OnGameModeInit()
{
format(AdminJelszo, 32, ADMINPASS);
skinlista = LoadModelSelectionMenu(\"fskin.txt\");
skinlista2 = LoadModelSelectionMenu(\"nskin.txt\");
    akj = LoadModelSelectionMenu(\"akj.txt\");
    kkj = LoadModelSelectionMenu(\"kkj.txt\");
UsePlayerPedAnims();
new S[128];
    AntiDeAMX();

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Itt kérdezz warningot/error -t!
« Válasz #275 Dátum: 2013. Október 05. - 22:53:47 »
0 Show voters
az AntiDeAMX függvény elõtt nézz körül...azaz amikre hibát jelez azok közül a legelsõ elõtt lesz valahol a hiba...szóval keresd meg ezek közül az 1.-t ( ami legfelül van ) és az elõtt nézz szét...
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Itt kérdezz warningot/error -t!
« Válasz #276 Dátum: 2013. Október 05. - 23:19:52 »
0 Show voters
De ezt magyaráztam Scream-nak is hogy NEM TALÁLOM!!!!!!!!!!!!!!!!!!!!!!!
0-tól a 960-ig végig néztem és semmi!
ÁÁ! KÚRVA SZAR MÓD XD

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Itt kérdezz warningot/error -t!
« Válasz #277 Dátum: 2013. Október 06. - 09:29:54 »
0 Show voters
hát én amikor találkoztam ezzel a hibával az 10 alkalommal megszoptam párszor 0-ról párszor viszont mentésbõl kezdtem újra a munkát...de már tudom hogyan lehet megtalálni csak lehet rámegy egy egész napom is :D de erre egy egész tutorialt kéne írnom mivel részletesen el kell magyarázni hogy sikerüljön...
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Itt kérdezz warningot/error -t!
« Válasz #278 Dátum: 2013. Október 16. - 21:26:30 »
0 Show voters
D:\\MOD\\hejj.pwn(1) : warning 235: public function lacks forward declaration (symbol \"OnPlayerText\")
D:\\MOD\\hejj.pwn(3) : error 017: undefined symbol \"SetPlayerChatBubble\"
D:\\MOD\\hejj.pwn(4) : warning 217: loose indentation
Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
1 Error.
public OnPlayerText(playerid, text[])
{
    SetPlayerChatBubble(playerid, text, 0x0dff00AA, 70.0, 10000);
        return 1;
}

Nem elérhető inf

  • 366
    • Profil megtekintése
Itt kérdezz warningot/error -t!
« Válasz #279 Dátum: 2013. Október 16. - 21:50:18 »
0 Show voters
Idézetet írta: Szily88 date=1381951590\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"22125\" data-ipsquote-contentclass=\"forums_Topic
D:\\MOD\\hejj.pwn(1) : warning 235: public function lacks forward declaration (symbol \"OnPlayerText\")
D:\\MOD\\hejj.pwn(3) : error 017: undefined symbol \"SetPlayerChatBubble\"
D:\\MOD\\hejj.pwn(4) : warning 217: loose indentation
Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
1 Error.
public OnPlayerText(playerid, text[])
{
    SetPlayerChatBubble(playerid, text, 0x0dff00AA, 70.0, 10000);
        return 1;
}
 
Írd be ezt az elejére:
 
#include <a_samp>

Itt kérdezz warningot/error -t!
« Válasz #280 Dátum: 2013. Október 17. - 06:26:37 »
0 Show voters
Ezt adja ki:
 
D:\\mod1\\filterscripts\\WeatherAndTime.pwn(61) : warning 217: loose indentation
D:\\mod1\\filterscripts\\WeatherAndTime.pwn(70) : error 021: symbol already defined: \"OnFilterScriptInit\"
D:\\mod1\\filterscripts\\WeatherAndTime.pwn(104) : error 021: symbol already defined: \"OnFilterScriptExit\"
D:\\mod1\\filterscripts\\WeatherAndTime.pwn(133) : error 021: symbol already defined: \"Textdraw0\"
D:\\mod1\\filterscripts\\WeatherAndTime.pwn(135) : error 021: symbol already defined: \"OnlinePlayers\"
D:\\mod1\\filterscripts\\WeatherAndTime.pwn(138) : error 021: symbol already defined: \"OnFilterScriptInit\"
D:\\mod1\\filterscripts\\WeatherAndTime.pwn(172) : error 021: symbol already defined: \"OnFilterScriptExit\"
D:\\mod1\\filterscripts\\WeatherAndTime.pwn(181) : error 021: symbol already defined: \"OnPlayerConnect\"
D:\\mod1\\filterscripts\\WeatherAndTime.pwn(191) : error 021: symbol already defined: \"OnPlayerDisconnect\"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
8 Errors.

 
ennel a scriptnel...harom scriptet osszeraktam egy pawno-ba!:
 
//  Automatic Weather and Time filterscript created by MetalScript
//  ----------------------------------------------------------------------
//  This filterscript changes weather and time randomly every five minutes.
//  You can also change the Timer to whatever you want.
#include
#define FILTERSCRIPT
#if defined FILTERSCRIPT
forward WeatherAndTime();
// Time time ids.
new const RandomWorldTime[24][1] =
{
   {0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19},{20},{21},{22},{23}
};
// Weather ids.
new const RandomWeather[11][1] =
{
   {1},{2},{3},{4},{5},{7},{8},{9},{10},{15},{16}
};
public OnFilterScriptInit()
{
   print(\"\\n---------------------------------------------------------------\");
print(\" Ryox178\'s Automatic Weather and Time filterscript loaded.\");
print(\"---------------------------------------------------------------\\n\");
//Timer
SetTimer(\"WeatherAndTime\", 240000, true); //You can change the timer >>
//60000 - 1 minute
//120000 - 2 minutes
//180000 - 3 minutes
//240000 - 4 minutes
//300000 - 5 minutes
//500000 - 10 minutes
return 1;
}
public OnFilterScriptExit()
{
print(\" Ryox178\'s Automatic Weather and Time unloaded.\");
return 1;
}
 
public WeatherAndTime()
{
   new rwt = random(sizeof RandomWorldTime);
SetWorldTime(RandomWorldTime[rwt][0]);
new rw = random(sizeof RandomWeather);
SetWeather(RandomWeather[rw][0]);
SendClientMessageToAll(0xFFFFFF, \"{0x0000BBAA}Servername: {FFFFFF}Weather and time updated.\");// Sends a message every ten minutes to all players.
}
public OnPlayerText(playerid, text[])
{
   SetPlayerChatBubble(playerid, text, 0x0dff00AA, 70.0, 10000);
       return 1;
}
 
new Text:Textdraw0,
       Text:Textdraw1,
       OnlinePlayers;
public OnFilterScriptInit()
{
       print(\"Fs By Cappy\'s Role Play\");
       print(\"Számláló készítette Bence\");
       Textdraw0 = TextDrawCreate(500.000000, 100.000000, \"népeség:\");
       TextDrawBackgroundColor(Textdraw0, 255);
       TextDrawFont(Textdraw0, 1);
       TextDrawLetterSize(Textdraw0, 0.500000, 1.000000);
       TextDrawColor(Textdraw0, -1);
       TextDrawSetOutline(Textdraw0, 1);
       TextDrawSetProportional(Textdraw0, 1);
       Textdraw1 = TextDrawCreate(584.000000, 99.000000, \"x\");
       TextDrawBackgroundColor(Textdraw1, 255);
       TextDrawFont(Textdraw1, 2);
       TextDrawLetterSize(Textdraw1, 0.500000, 1.000000);
       TextDrawColor(Textdraw1, -1);
       TextDrawSetOutline(Textdraw1, 0);
       TextDrawSetProportional(Textdraw1, 1);
       TextDrawSetShadow(Textdraw1, 1);
       for(new i; i < MAX_PLAYERS; i ++)
       {
               if(IsPlayerConnected(i))
               {
                   OnlinePlayers++;
                   TextDrawShowForPlayer(i, Textdraw0);
                   TextDrawShowForPlayer(i, Textdraw1);
               }
       }
       return 1;
}
public OnFilterScriptExit()
{
       TextDrawHideForAll(Textdraw0);
       TextDrawDestroy(Textdraw0);
       TextDrawHideForAll(Textdraw1);
       TextDrawDestroy(Textdraw1);
       return 1;
}
public OnPlayerConnect(playerid)
{
   OnlinePlayers++;
   new newtext[41];
   format(newtext, sizeof(newtext), \"%d\", OnlinePlayers, GetMaxPlayers());
   TextDrawSetString(Textdraw1, newtext);
   TextDrawShowForPlayer(playerid, Textdraw1);
   TextDrawShowForPlayer(playerid, Textdraw0);
   return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
   OnlinePlayers--;
   new newtext[41];
   format(newtext, sizeof(newtext), \"%d\", OnlinePlayers, GetMaxPlayers());
   TextDrawSetString(Textdraw1, newtext);
   TextDrawHideForPlayer(playerid, Textdraw1);
   return 1;
}
 
new Text:Textdraw0,
       Text:Textdraw1,
       OnlinePlayers;
public OnFilterScriptInit()
{
       print(\"Fs By Cappy\'s Role Play\");
       print(\"Számláló készítette Bence\");
       Textdraw0 = TextDrawCreate(500.000000, 100.000000, \"népeség:\");
       TextDrawBackgroundColor(Textdraw0, 255);
       TextDrawFont(Textdraw0, 1);
       TextDrawLetterSize(Textdraw0, 0.500000, 1.000000);
       TextDrawColor(Textdraw0, -1);
       TextDrawSetOutline(Textdraw0, 1);
       TextDrawSetProportional(Textdraw0, 1);
       Textdraw1 = TextDrawCreate(584.000000, 99.000000, \"x\");
       TextDrawBackgroundColor(Textdraw1, 255);
       TextDrawFont(Textdraw1, 2);
       TextDrawLetterSize(Textdraw1, 0.500000, 1.000000);
       TextDrawColor(Textdraw1, -1);
       TextDrawSetOutline(Textdraw1, 0);
       TextDrawSetProportional(Textdraw1, 1);
       TextDrawSetShadow(Textdraw1, 1);
       for(new i; i < MAX_PLAYERS; i ++)
       {
               if(IsPlayerConnected(i))
               {
                   OnlinePlayers++;
                   TextDrawShowForPlayer(i, Textdraw0);
                   TextDrawShowForPlayer(i, Textdraw1);
               }
       }
       return 1;
}
public OnFilterScriptExit()
{
       TextDrawHideForAll(Textdraw0);
       TextDrawDestroy(Textdraw0);
       TextDrawHideForAll(Textdraw1);
       TextDrawDestroy(Textdraw1);
       return 1;
}
public OnPlayerConnect(playerid)
{
   OnlinePlayers++;
   new newtext[41];
   format(newtext, sizeof(newtext), \"%d\", OnlinePlayers, GetMaxPlayers());
   TextDrawSetString(Textdraw1, newtext);
   TextDrawShowForPlayer(playerid, Textdraw1);
   TextDrawShowForPlayer(playerid, Textdraw0);
   return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
   OnlinePlayers--;
   new newtext[41];
   format(newtext, sizeof(newtext), \"%d\", OnlinePlayers, GetMaxPlayers());
   TextDrawSetString(Textdraw1, newtext);
   TextDrawHideForPlayer(playerid, Textdraw1);
   return 1;
}
#endif

 
[mod]Máskor használj már code tagokat.. többet nem figyelmesztetlek.[/mod]
« Utoljára szerkesztve: 2013. Október 17. - 18:35:52 írta ZyZu »

Nem elérhető divkn

  • 3259
    • Profil megtekintése
Itt kérdezz warningot/error -t!
« Válasz #281 Dátum: 2013. Október 17. - 09:02:11 »
0 Show voters
#include a_samp
stock
Text:Textdraws[2],
RandomWeather[11][1] = { {1},{2},{3},{4},{5},{7},{8},{9},{10},{15},{16} },
OnlinePlayers = 0
;
public OnFilterScriptInit()
{
Textdraws[0] = TextDrawCreate(500.000000, 100.000000, \"népeség:\");
TextDrawBackgroundColor(Textdraws[0], 255);
TextDrawFont(Textdraws[0], 1);
TextDrawLetterSize(Textdraws[0], 0.500000, 1.000000);
TextDrawColor(Textdraws[0], -1);
TextDrawSetOutline(Textdraws[0], 1);
TextDrawSetProportional(Textdraws[0], 1);
Textdraws[1] = TextDrawCreate(584.000000, 99.000000, \"x\");
TextDrawBackgroundColor(Textdraws[1], 255);
TextDrawFont(Textdraws[1], 2);
TextDrawLetterSize(Textdraws[1], 0.500000, 1.000000);
TextDrawColor(Textdraws[1], -1);
TextDrawSetOutline(Textdraws[1], 0);
TextDrawSetProportional(Textdraws[1], 1);
TextDrawSetShadow(Textdraws[1], 1);
SetTimer(\"WeatherAndTime\", 240000, true);
for(new i; i < MAX_PLAYERS; i ++)
{
if(IsPlayerConnected(i))
{
   TextDrawShowForPlayer(i, Textdraws[0]);
   TextDrawShowForPlayer(i, Textdraws[1]);
   OnlinePlayers++;
}
}
return 1;
}
public OnFilterScriptExit()
{
        TextDrawHideForAll(Textdraws[0]);
        TextDrawDestroy(Textdraws[0]);
        TextDrawHideForAll(Textdraws[1]);
        TextDrawDestroy(Textdraws[1]);
        return 1;
}
public OnPlayerConnect(playerid)
{
TextDrawShowForPlayer(playerid, Textdraws[0]);
    TextDrawShowForPlayer(playerid, Textdraws[1]);
   
    new newtext[10];
    format(newtext, sizeof(newtext), \"%d/%d\", OnlinePlayers, GetMaxPlayers());
    TextDrawSetString(Textdraws[1], newtext);
   
OnlinePlayers++;
    return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
TextDrawHideForPlayer(playerid, Textdraws[0]);
    TextDrawHideForPlayer(playerid, Textdraws[1]);
new newtext[10];
    format(newtext, sizeof(newtext), \"%d/%d\", OnlinePlayers, GetMaxPlayers());
    TextDrawSetString(Textdraws[1], newtext);
    OnlinePlayers--;
    return 1;
}
public OnPlayerText(playerid, text[])
{
SetPlayerChatBubble(playerid, text, 0x0dff00AA, 70.0, 10000);
return 1;
}
forward WeatherAndTime();
public WeatherAndTime()
{
    SetWorldTime(random(24));
    SetWeather(random(sizeof(RandomWeather)));
SendClientMessageToAll(0xFFFFFF, \"{0x0000BBAA}Servername: {FFFFFF}Weather and time updated.\");
return 1;
}

Itt kérdezz warningot/error -t!
« Válasz #282 Dátum: 2013. Október 17. - 15:52:13 »
0 Show voters
igy berakja de vmiert az ekezetes betuket kihagya es hiaba vannak a szeron csak 0/10-et ir

Nem elérhető divkn

  • 3259
    • Profil megtekintése
Itt kérdezz warningot/error -t!
« Válasz #283 Dátum: 2013. Október 17. - 17:16:21 »
0 Show voters
Töltsd le a fixchars függvénykönyvtárt és tedd az \"szervermappa/pawno/includes\" mappába.
http://www.solidfiles.com/d/307eb3ba01/
és..
 

#include a_samp
#include fixchars
stock
       Text:Textdraws[2],
       RandomWeather[11][1] = { {1},{2},{3},{4},{5},{7},{8},{9},{10},{15},{16} },
       OnlinePlayers
;
public OnFilterScriptInit()
{
       Textdraws[0] = TextDrawCreate(500.000000, 100.000000, \"népeség:\");
       TextDrawBackgroundColor(Textdraws[0], 255);
       TextDrawFont(Textdraws[0], 1);
       TextDrawLetterSize(Textdraws[0], 0.500000, 1.000000);
       TextDrawColor(Textdraws[0], -1);
       TextDrawSetOutline(Textdraws[0], 1);
       TextDrawSetProportional(Textdraws[0], 1);
       Textdraws[1] = TextDrawCreate(584.000000, 99.000000, \"x\");
       TextDrawBackgroundColor(Textdraws[1], 255);
       TextDrawFont(Textdraws[1], 2);
       TextDrawLetterSize(Textdraws[1], 0.500000, 1.000000);
       TextDrawColor(Textdraws[1], -1);
       TextDrawSetOutline(Textdraws[1], 0);
       TextDrawSetProportional(Textdraws[1], 1);
       TextDrawSetShadow(Textdraws[1], 1);
       SetTimer(\"WeatherAndTime\", 240000, true);
       for(new i; i < MAX_PLAYERS; i ++)
       {
               if(IsPlayerConnected(i))
               {
                       TextDrawShowForPlayer(i, Textdraws[0]);
                       TextDrawShowForPlayer(i, Textdraws[1]);
                       OnlinePlayers++;
               }
       }
       return 1;
}
public OnFilterScriptExit()
{
       TextDrawHideForAll(Textdraws[0]);
       TextDrawDestroy(Textdraws[0]);
       TextDrawHideForAll(Textdraws[1]);
       TextDrawDestroy(Textdraws[1]);
       return 1;
}
public OnPlayerConnect(playerid)
{
   TextDrawShowForPlayer(playerid, Textdraws[0]);
   TextDrawShowForPlayer(playerid, Textdraws[1]);
   new newtext[10];
   format(newtext, sizeof(newtext), \"%d/%d\", OnlinePlayers, GetMaxPlayers());
   TextDrawSetString(Textdraws[1], newtext);
   OnlinePlayers++;
   return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
   TextDrawHideForPlayer(playerid, Textdraws[0]);
   TextDrawHideForPlayer(playerid, Textdraws[1]);
   new newtext[10];
   format(newtext, sizeof(newtext), \"%d/%d\", OnlinePlayers, GetMaxPlayers());
   TextDrawSetString(Textdraws[1], newtext);
   OnlinePlayers--;
   return 1;
}
public OnPlayerText(playerid, text[])
{
   SetPlayerChatBubble(playerid, text, 0x0dff00AA, 70.0, 10000);
   return 1;
}
forward WeatherAndTime();
public WeatherAndTime()
{
   SetWorldTime(random(24));
   SetWeather(random(sizeof(RandomWeather)));
   SendClientMessageToAll(0xFFFFFF, \"{0x0000BBAA}Servername: {FFFFFF}Weather and time updated.\");
   return 1;
}

Itt kérdezz warningot/error -t!
« Válasz #284 Dátum: 2013. Október 18. - 21:22:43 »
0 Show voters
Ez irja ki a ppc modenal:
D:\\MOD\\PPC_Trucking.pwn(597) : warning 217: loose indentation
D:\\MOD\\PPC_Trucking.pwn(772) : warning 217: loose indentation
D:\\MOD\\PPC_Trucking.pwn(801) : warning 217: loose indentation
D:\\MOD\\PPC_Trucking.pwn(808) : warning 217: loose indentation
D:\\MOD\\PPC_Trucking.pwn(815) : warning 217: loose indentation
D:\\MOD\\PPC_Trucking.pwn(822) : warning 217: loose indentation
D:\\MOD\\PPC_Trucking.pwn(903) : warning 217: loose indentation
D:\\MOD\\PPC_Trucking.pwn(946) : warning 217: loose indentation
D:\\MOD\\PPC_Trucking.pwn(962) : warning 217: loose indentation
D:\\MOD\\PPC_Trucking.pwn(1012) : warning 217: loose indentation
D:\\MOD\\PPC_Trucking.pwn(1043) : warning 217: loose indentation
D:\\MOD\\PPC_Trucking.pwn(1047) : warning 217: loose indentation
D:\\MOD\\PPC_Trucking.pwn(1090) : error 030: compound statement not closed at the end of file (started at line 1087)
Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
1 Error.
Itt a mod:
 

        #pragma tabsize 0
        // ********************************************************************************************************************
        #define GameModeName                            \"[HUN]Kamionozz es Szorakozz$$\"
 
        // ********************************************************************************************************************
    // Limit the amount of cops with a value greater than 0
    // Setting this to \"3\" would mean:
    // - having 3 normal players (non-cop players) before the first cop can join the server
    // - having 6 normal players before 2 cops can be active
    // - having 9 normal players before the third cop can join and so on
    // Leaving this at 0 disables the police-limitation, so anyone can choose the police class anytime
    // ********************************************************************************************************************
    // ********************************************************************************************************************
    // ********************************************************************************************************************
    new PlayersBeforePolice = 0;
    // ********************************************************************************************************************
    // ********************************************************************************************************************
 
    // Include default files
    #include <a_samp>
   #include <zcmd>
   #include <dutils>
   #include <sscanf2>
   #include <streamer>
   #include <fixchars>
    // Include all define-statements and custom-type declarations and the arrays which use them
    // These files need to be included before the functions get included, because the functions use the defines, custom types and the arrays
    // Also include the defined loads (for truckers, military, mafia, ...) and locations arrays
    #include <PPC_DefTexts>
   #include <PPC_ServerSettings>
   #include <PPC_Defines>
   #include <PPC_DefLocations>
   #include <PPC_DefLoads>
   #include <PPC_DefCars>
   #include <PPC_DefPlanes>
   #include <PPC_DefTrailers>
   #include <PPC_DefBuyableVehicles>
   // Include functions for this gamemode
    #include <PPC_GlobalTimer>
   #include <PPC_Common>
   #include <PPC_Housing>
   #include <PPC_Business>
   #include <PPC_GameModeInit>
   #include <PPC_FileOperations>
   #include <PPC_Speedometer>
   #include <PPC_MissionsTrucking>
   #include <PPC_MissionsBus>
   #include <PPC_MissionsPilot>
   #include <PPC_MissionsPolice>
   #include <PPC_MissionsMafia>
   #include <PPC_MissionsAssistance>
   #include <PPC_MissionsCourier>
   #include <PPC_MissionsRoadworker>
   #include <PPC_Convoys>
   #include <PPC_Dialogs>
   #include <PPC_PlayerCommands>
   #include <PPC_Toll>
    // The main function (used only once when the server loads)
    main()
    {
            // Print some standard lines to the server\'s console
            print(\"\\n----------------------------------\");
            print(GameModeName);
            print(\"----------------------------------\\n\");
    }
 
    // This callback gets called when the server initializes the gamemode
    public OnGameModeInit()
    {
            new HostCommand[128];
            // Change the hostname
            format(HostCommand, 128, \"hostname %s\", GameModeName);
            SendRconCommand(HostCommand);
            SetGameModeText(GameModeName); // Set the Mode of the gamemode, which appears in the list of servers
            GameModeInit_VehiclesPickups(); // Add all static vehicles and pickups when the server starts that are required (also load the houses)
            GameModeInit_Classes(); // Add character models to the class-selection (without weapons)
            Convoys_Init(); // Setup textdraws and default data for convoys
            ShowPlayerMarkers(1); // Show players on the entire map (and on the radar)
            ShowNameTags(1); // Show player names (and health) above their head
            ManualVehicleEngineAndLights(); // Let the server control the vehicle\'s engine and lights
            EnableStuntBonusForAll(0); // Disable stunt bonus for all players
            DisableInteriorEnterExits(); // Removes all building-entrances in the game
            UsePlayerPedAnims(); // Use CJ\'s walking animation
            // Start the timer that will show timed messages every 2 minutes
            SetTimer(\"Timer_TimedMessages\", 1000 * 60 * 2, true);
            // Start the timer that will show a random bonus mission for truckers every 5 minutes
            SetTimer(\"ShowRandomBonusMission\", 1000 * 60 * 5, true);
            // Start the timer that checks the toll-gates
            SetTimer(\"Toll\", 1000, true);
            // Fix the bugged houses (after fixing the houses, you can remove this line, as it\'s not needed anymore)
            FixHouses();
            // While the gamemode starts, start the global timer, and run it every second
            SetTimer(\"GlobalTimer\", 1000, true);
            return 1;
    }
 
    // This callback gets called when a player connects to the server
    public OnPlayerConnect(playerid)
    {
            GameTextForPlayer(playerid,\"~w~HUN Kamionos Szerver\",3000,4);
        SendClientMessage(playerid, 0xFFFFFFFF, \"{FFFF00}Üdvözlünk a szerveren!\");
        SendClientMessage(playerid, 0xFFFFFFFF, \"{FFFF00}Szerver tulajdonosok: Szily88 es Csabee\");
        SendClientMessage(playerid, 0xFFFFFFFF, \"{FFFF00}ADMIN:[RC]Zsolti!\");
        SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Skype:szilixdd \");
        SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}A szabályokért{FFFF00}/rules{FF0000}A parancsokért {FFFF00}/cmds\");
            // Always allow NPC\'s to login without password or account
            if (IsPlayerNPC(playerid))
                    return 1;
            // Setup local variables
            new Name[MAX_PLAYER_NAME], NewPlayerMsg[128], HouseID;
            // Setup a PVar to allow cross-script money-transfers (only from filterscript to this mainscript) and scorepoints
            SetPVarInt(playerid, \"PVarMoney\", 0);
            SetPVarInt(playerid, \"PVarScore\", 0);
            // Get the playername
            GetPlayerName(playerid, Name, sizeof(Name));
            // Also store this name for the player
            GetPlayerName(playerid, APlayerData[playerid][PlayerName], 24);
            // Send a message to all players to let them know somebody else joined the server
            format(NewPlayerMsg, 128, TXT_PlayerJoinedServer, Name, playerid);
            SendClientMessageToAll(0xFFFFFFFF, NewPlayerMsg);
            // Try to load the player\'s datafile (\"PlayerFile_Load\" returns \"1\" is the file has been read, \"0\" when the file cannot be read)
            if (PlayerFile_Load(playerid) == 1)
            {
                    // Check if the player is still banned
                    if (APlayerData[playerid][banTime] < gettime()) // Player ban-time is passed
                            ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT, TXT_DialogLoginTitle, TXT_DialogLoginMsg, TXT_DialogLoginButton1, TXT_DialogButtonCancel);
                    else // Player is still banned
                    {
                            ShowRemainingBanTime(playerid); // Show the remaining ban-time to the player is days, hours, minutes, seconds
                            Kick(playerid); // Kick the player
                    }
            }
            else
                    ShowPlayerDialog(playerid, DialogRegister, DIALOG_STYLE_INPUT, TXT_DialogRegisterTitle, TXT_DialogRegisterMsg, TXT_DialogRegisterButton1, TXT_DialogButtonCancel);
            // The houses have been loaded but not the cars, so load all vehicles assigned to the player\'s houses
            for (new HouseSlot; HouseSlot < MAX_HOUSESPERPLAYER; HouseSlot++)
            {
                // Get the HouseID from this slot
                HouseID = APlayerData[playerid][Houses][HouseSlot];
                // Check if there is a house in this slot
                    if (HouseID != 0)
                        HouseFile_Load(HouseID, true); // Load the cars of the house
            }
            // Speedometer setup
            Speedometer_Setup(playerid);
            // MissionText TextDraw setup
            APlayerData[playerid][MissionText] = TextDrawCreate(320.0, 430.0, \" \"); // Setup the missiontext at the bottom of the screen
            TextDrawAlignment(APlayerData[playerid][MissionText], 2); // Align the missiontext to the center
            TextDrawUseBox(APlayerData[playerid][MissionText], 1); // Set the missiontext to display inside a box
            TextDrawBoxColor(APlayerData[playerid][MissionText], 0x00000066); // Set the box color of the missiontext
            // Display a message if the player hasn\'t accepted the rules yet
            if (APlayerData[playerid][RulesRead] == false)
                SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}A szabályokért{FFFF00}/rules{FF0000}A parancsokért {FFFF00}/cmds\");
            return 1;
    }
 

    // This function shows the player how long his ban still is when he tries to login (in days, hours, minutes, seconds)
    ShowRemainingBanTime(playerid)
    {
            // Setup local variables
            new TotalBanTime, Days, Hours, Minutes, Seconds, Msg[128];
            // Get the total ban-time
            TotalBanTime = APlayerData[playerid][banTime] - gettime();
            // Calculate days
            if (TotalBanTime >= 86400)
            {
                    Days = TotalBanTime / 86400;
                    TotalBanTime = TotalBanTime - (Days * 86400);
            }
            // Calculate hours
            if (TotalBanTime >= 3600)
            {
                    Hours = TotalBanTime / 3600;
                    TotalBanTime = TotalBanTime - (Hours * 3600);
            }
            // Calculate minutes
            if (TotalBanTime >= 60)
            {
                    Minutes = TotalBanTime / 60;
                    TotalBanTime = TotalBanTime - (Minutes * 60);
            }
            // Calculate seconds
            Seconds = TotalBanTime;
            // Display the remaining ban-time for this player
            SendClientMessage(playerid, 0xFFFFFFFF, TXT_StillBanned);
            format(Msg, 128, TXT_BannedDuration, Days, Hours, Minutes, Seconds);
            SendClientMessage(playerid, 0xFFFFFFFF, Msg);
    }
 
    // This callback gets called when a player disconnects from the server
    public OnPlayerDisconnect(playerid, reason)
    {
            // Always allow NPC\'s to logout without password or account
            if (IsPlayerNPC(playerid))
                    return 1;
            // Setup local variables
            new Name[24], Msg[128], HouseID;
            // Get the playername
            GetPlayerName(playerid, Name, sizeof(Name));
            // Stop spectate mode for all players who are spectating this player
            for (new i; i < MAX_PLAYERS; i++)
                if (IsPlayerConnected(i)) // Check if the player is connected
                    if (GetPlayerState(i) == PLAYER_STATE_SPECTATING) // Check if this player is spectating somebody
                        if (APlayerData[spectateID] == playerid) // Check if this player is spectating me
                                    {
                                            TogglePlayerSpectating(i, 0); // Turn off spectate-mode
                                            APlayerData[spectateID] = INVALID_PLAYER_ID;
                                            APlayerData[spectateType] = ADMIN_SPEC_TYPE_NONE;
                                            SendClientMessage(i, 0xFFFFFFFF, \"{FF0000}Ki lépett a megfigyelt játékos ezért vége a spec modnak.\");
                                    }
            // Send a message to all players to let them know somebody left the server
            format(Msg, 128, TXT_PlayerLeftServer, Name, playerid);
            SendClientMessageToAll(0xFFFFFFFF, Msg);
            // If the player entered a proper password (the player has an account)
            if (strlen(APlayerData[playerid][PlayerPassword]) != 0)
            {
                // Save the player data and his houses
                    PlayerFile_Save(playerid);
            }
            // Stop any job that may have started (this also clears all mission data)
            switch (APlayerData[playerid][PlayerClass])
            {
                    case ClassTruckDriver: Trucker_EndJob(playerid); // Stop any trucker job
                    case ClassBusDriver: BusDriver_EndJob(playerid); // Stop any busdriver job
                    case ClassPilot: Pilot_EndJob(playerid); // Stop any pilot job
                    case ClassPolice: Police_EndJob(playerid); // Stop any police job
                    case ClassMafia: Mafia_EndJob(playerid); // Stop any mafia job
                    case ClassAssistance: Assistance_EndJob(playerid);
                    case ClassRoadWorker: Roadworker_EndJob(playerid);
            }
            // If the player is part of a convoy, kick him from it
            Convoy_Leave(playerid);
            // Unload all the player\'s house-vehicles to make room for other player\'s vehicles
            for (new HouseSlot; HouseSlot < MAX_HOUSESPERPLAYER; HouseSlot++)
            {
                // Get the HouseID from this slot
                HouseID = APlayerData[playerid][Houses][HouseSlot];
                // Check if there is a house in this slot
                    if (HouseID != 0)
                    {
                        // Unload the cars of the house
                        House_RemoveVehicles(HouseID);
                            // Set the house so it cannot be entered by anyone (close the house)
                            AHouseData[HouseID][HouseOpened] = false;
                    }
            }
            // Clear the data in the APlayerData array to make sure the next player with the same id doesn\'t hold wrong data
            APlayerData[playerid][spectateID] = -1;
            APlayerData[playerid][spectateVehicle] = -1;
            APlayerData[playerid][spectateType] = ADMIN_SPEC_TYPE_NONE;
            APlayerData[playerid][LoggedIn] = false;
            APlayerData[playerid][AssistanceNeeded] = false;
            APlayerData[playerid][PlayerPassword] = 0;
            APlayerData[playerid][PlayerLevel] = 0;
            APlayerData[playerid][PlayerJailed] = 0;
            APlayerData[playerid][PlayerFrozen] = 0; // Clearing this variable automatically kills the frozentimer
            APlayerData[playerid][bans] = 0;
            APlayerData[playerid][banTime] = 0;
            APlayerData[playerid][Muted] = false;
            APlayerData[playerid][RulesRead] = false;
            APlayerData[playerid][AutoReportTime] = 0;
            APlayerData[playerid][TruckerLicense] = 0;
            APlayerData[playerid][busLicense] = 0;
            APlayerData[playerid][PlayerClass] = 0;
            APlayerData[playerid][Warnings] = 0;
            APlayerData[playerid][PlayerMoney] = 0;
            APlayerData[playerid][PlayerScore] = 0;
            for (new HouseSlot; HouseSlot < MAX_HOUSESPERPLAYER; HouseSlot++)
                    APlayerData[playerid][Houses][HouseSlot] = 0;
            for (new BusSlot; BusSlot < MAX_BUSINESSPERPLAYER; BusSlot++)
                    APlayerData[playerid][business][busSlot] = 0;
            APlayerData[playerid][CurrentHouse] = 0;
            // Clear bank account info
            APlayerData[playerid][bankPassword] = 0;
            APlayerData[playerid][bankLoggedIn] = false;
            APlayerData[playerid][bankMoney] = 0;
            // Clear stats
            APlayerData[playerid][statsTruckerJobs] = 0;
            APlayerData[playerid][statsConvoyJobs] = 0;
            APlayerData[playerid][statsBusDriverJobs] = 0;
            APlayerData[playerid][statsPilotJobs] = 0;
            APlayerData[playerid][statsMafiaJobs] = 0;
            APlayerData[playerid][statsMafiaStolen] = 0;
            APlayerData[playerid][statsPoliceFined] = 0;
            APlayerData[playerid][statsPoliceJailed] = 0;
            APlayerData[playerid][statsCourierJobs] = 0;
            APlayerData[playerid][statsRoadworkerJobs] = 0;
            APlayerData[playerid][statsAssistance] = 0;
            APlayerData[playerid][statsMetersDriven] = 0.0;
            // Clear police warnings
            APlayerData[playerid][PoliceCanJailMe] = false;
            APlayerData[playerid][PoliceWarnedMe] = false;
            APlayerData[playerid][Value_PoliceCanJailMe] = 0;
            // Make sure the jailtimer has been destroyed
            KillTimer(APlayerData[playerid][PlayerJailedTimer]);
            KillTimer(APlayerData[playerid][Timer_PoliceCanJailMe]);
            // Destroy the speedometer TextDraw for this player and the timer, also set the speed to 0
            Speedometer_Cleanup(playerid);
            // Also destroy the missiontext TextDraw for this player
            TextDrawDestroy(APlayerData[playerid][MissionText]);
            // Destroy a rented vehicle is the player had any
            if (APlayerData[playerid][RentedVehicleID] != 0)
            {
                    // Clear the data for the already rented vehicle
                    AVehicleData[APlayerData[playerid][RentedVehicleID]][Model] = 0;
                    AVehicleData[APlayerData[playerid][RentedVehicleID]][Fuel] = 0;
                    AVehicleData[APlayerData[playerid][RentedVehicleID]][Owned] = false;
                    AVehicleData[APlayerData[playerid][RentedVehicleID]][Owner] = 0;
                    AVehicleData[APlayerData[playerid][RentedVehicleID]][PaintJob] = 0;
                    for (new j; j < 14; j++)
                    {
                            AVehicleData[APlayerData[playerid][RentedVehicleID]][Components][j] = 0;
                    }
                    // Destroy the vehicle
                    DestroyVehicle(APlayerData[playerid][RentedVehicleID]);
                    // Clear the RentedVehicleID
                    APlayerData[playerid][RentedVehicleID] = 0;
            }
            return 1;
    }
 
    // This callback gets called whenever a player uses the chat-box
    public OnPlayerText(playerid, text[])
    {
            // Block the player\'s text if he has been muted
        if (APlayerData[playerid][Muted] == true)
            {
                    // Let the player know he\'s still muted
                    SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Te még mindig némítva vagy.\");
                    // Don\'t allow his text to be sent to the chatbox
                    return 0;
            }
        return 1;
    }
 
    // This callback gets called when a player interacts with a dialog
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
            // Select the proper dialog to process
            switch (dialogid)
            {
                    case DialogRegister: Dialog_Register(playerid, response, inputtext); // The \"Register\"-dialog
                    case DialogLogin: Dialog_Login(playerid, response, inputtext); // The \"Login\"-dialog
                    case DialogStatsOtherPlayer: Dialog_StatsOtherPlayer(playerid, response, listitem);
                    case DialogStatsHouse: Dialog_StatsHouse(playerid, response, listitem);
                    case DialogStatsGoHouse: Dialog_StatsGoHouse(playerid, response, listitem);
                    case DialogStatsGoBusiness: Dialog_StatsGoBusiness(playerid, response, listitem);
                    case DialogRescue: Dialog_Rescue(playerid, response, listitem); // The rescue-dialog
                    case DialogBuyLicenses: Dialog_BuyLicenses(playerid, response, listitem); // The license-dialog (allows the player to buy trucker/busdriver licenses)
                    case DialogRules: Dialog_Rules(playerid, response);
                    case DialogTruckerJobMethod: Dialog_TruckerSelectJobMethod(playerid, response, listitem); // The work-dialog for truckers (shows the loads he can carry and lets the player choose the load)
                    case DialogTruckerSelectLoad: Dialog_TruckerSelectLoad(playerid, response, listitem); // The load-selection dialog for truckers (shows the startlocations for the selected load and let the player choose his startlocation)
                    case DialogTruckerStartLoc: Dialog_TruckerSelectStartLoc(playerid, response, listitem); // The start-location dialog for truckers (shows the endlocations for the selected load and let the player choose his endlocation)
                    case DialogTruckerEndLoc: Dialog_TruckerSelectEndLoc(playerid, response, listitem); // The end-location dialog for truckers (processes the selected endlocation and starts the job)
                    case DialogBusJobMethod: Dialog_BusSelectJobMethod(playerid, response, listitem); // The work-dialog for busdrivers (process the options to choose own busroute or auto-assigned busroute)
                    case DialogBusSelectRoute: Dialog_BusSelectRoute(playerid, response, listitem); // Choose the busroute and start the job
                    case DialogCourierSelectQuant: Dialog_CourierSelectQuant(playerid, response, listitem);
                    case DialogBike: Dialog_Bike(playerid, response, listitem); // The bike-dialog
                    case DialogCar: Dialog_Car(playerid, response, listitem); // The car-dialog (which uses a split dialog structure)
                    case DialogPlane: Dialog_Plane(playerid, response, listitem); // The plane-dialog (which uses a split dialog structure)
                    case DialogTrailer: Dialog_Trailer(playerid, response, listitem); // The trailer-dialog (which uses a split dialog structure)
                    case DialogBoat: Dialog_Boat(playerid, response, listitem); // The boat-dialog
                    case DialogRentCarClass: Dialog_RentProcessClass(playerid, response, listitem); // The player chose a vehicleclass from where he can rent a vehicle
                    case DialogRentCar: Dialog_RentCar(playerid, response, listitem); // The player chose a vehicle from the list of vehicles from the vehicleclass he chose before
                    case DialogPlayerCommands: Dialog_PlayerCommands(playerid, response, listitem); // Displays all commands in a split-dialog structure
                    case DialogPrimaryCarColor: Dialog_PrimaryCarColor(playerid, response, listitem);
                    case DialogSedundaryCarColor: Dialog_SedundaryCarColor(playerid, response, listitem);
                    case DialogWeather: Dialog_Weather(playerid, response, listitem); // The weather dialog
                    case DialogCarOption: Dialog_CarOption(playerid, response, listitem); // The caroption dialog
                    case DialogSelectConvoy: Dialog_SelectConvoy(playerid, response, listitem);
                    case DialogHouseMenu: Dialog_HouseMenu(playerid, response, listitem); // Process the main housemenu
                    case DialogUpgradeHouse: Dialog_UpgradeHouse(playerid, response, listitem); // Process the house-upgrade menu
                    case DialogGoHome: Dialog_GoHome(playerid, response, listitem); // Port to one of your houses
                    case DialogHouseNameChange: Dialog_ChangeHouseName(playerid, response, inputtext); // Change the name of your house
                    case DialogSellHouse: Dialog_SellHouse(playerid, response); // Sell the house
                    case DialogBuyCarClass: Dialog_BuyCarClass(playerid, response, listitem); // The player chose a vehicleclass from where he can buy a vehicle
                    case DialogBuyCar: Dialog_BuyCar(playerid, response, listitem); // The player chose a vehicle from the list of vehicles from the vehicleclass he chose before
                    case DialogSellCar: Dialog_SellCar(playerid, response, listitem);
                    case DialogBuyInsurance: Dialog_BuyInsurance(playerid, response);
                    case DialogGetCarSelectHouse: Dialog_GetCarSelectHouse(playerid, response, listitem);
                    case DialogGetCarSelectCar: Dialog_GetCarSelectCar(playerid, response, listitem);
                    case DialogUnclampVehicles: Dialog_UnclampVehicles(playerid, response);
                    case DialogCreateBusSelType: Dialog_CreateBusSelType(playerid, response, listitem);
                    case DialogBusinessMenu: Dialog_BusinessMenu(playerid, response, listitem);
                    case DialogGoBusiness: Dialog_GoBusiness(playerid, response, listitem);
                    case DialogBusinessNameChange: Dialog_ChangeBusinessName(playerid, response, inputtext); // Change the name of your business
                    case DialogSellBusiness: Dialog_SellBusiness(playerid, response); // Sell the business
                    case DialogBankPasswordRegister: Dialog_BankPasswordRegister(playerid, response, inputtext);
                    case DialogBankPasswordLogin: Dialog_BankPasswordLogin(playerid, response, inputtext);
                    case DialogBankOptions: Dialog_BankOptions(playerid, response, listitem);
                    case DialogBankDeposit: Dialog_BankDeposit(playerid, response, inputtext);
                    case DialogBankWithdraw: Dialog_BankWithdraw(playerid, response, inputtext);
                    case DialogBankTransferMoney: Dialog_BankTransferMoney(playerid, response, inputtext);
                    case DialogBankTransferName: Dialog_BankTransferName(playerid, response, inputtext);
                    case DialogBankCancel: Dialog_BankCancel(playerid, response);
                    case DialogHelpItemChosen: Dialog_HelpItemChosen(playerid, response, listitem);
                    case DialogHelpItem: Dialog_HelpItem(playerid, response);
                    case DialogOldPassword: Dialog_OldPassword(playerid, response, inputtext);
                    case DialogNewPassword: Dialog_NewPassword(playerid, response, inputtext);
                    case DialogConfirmPassword: Dialog_ConfirmPassword(playerid, response);
            }
        return 1;
    }
    // this callback gets called when a player clicks on another player on the scoreboard
    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
            // Check if the player is an admin of at least level 1
            if (APlayerData[playerid][PlayerLevel] >= 1)
            {
                    // Setup local variables
                    new Name[24], DialogTitle[128], PlayerStatList[3000], PlayerIP[16], NumHouses, NumBusinesses;
                    // Construct the dialog-title
                    GetPlayerName(clickedplayerid, Name, sizeof(Name));
                    format(DialogTitle, 128, \"Statisztika: %s\", Name);
                    // Add the IP of the player to the list
                GetPlayerIp(clickedplayerid, PlayerIP, sizeof(PlayerIP));
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Játékos-IP: {00FF00}%s\\n\", PlayerStatList, PlayerIP);
                    // Add the level of the player to the list
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Admin-level: {00FF00}%i\\n\", PlayerStatList, APlayerData[clickedplayerid][PlayerLevel]);
                    // Add the class of the player to the list
                    switch(APlayerData[clickedplayerid][PlayerClass])
                    {
                            case ClassTruckDriver: format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Munka: {00FF00}Kamionos\\n\", PlayerStatList);
                            case ClassBusDriver: format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Munka: {00FF00}Buszos\\n\", PlayerStatList);
                            case ClassPilot: format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Munka: {00FF00}Pilóta\\n\", PlayerStatList);
                            case ClassPolice: format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Munka: {00FF00}Rendör\\n\", PlayerStatList);
                            case ClassMafia: format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Munka: {00FF00}Mafia\\n\", PlayerStatList);
                            case ClassCourier: format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Munka: {00FF00}Pizzafutár\\n\", PlayerStatList);
                            case ClassAssistance: format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Munka: {00FF00}Szerelo\\n\", PlayerStatList);
                    }
                    // Add money and score of the player to the list
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Pénz: {00FF00}%i\\n\", PlayerStatList, APlayerData[clickedplayerid][PlayerMoney]);
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}POntok: {00FF00}%i\\n\", PlayerStatList, APlayerData[clickedplayerid][PlayerScore]);
                    // Add wanted-level of the player to the list
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Körözés: {00FF00}%i\\n\", PlayerStatList, GetPlayerWantedLevel(clickedplayerid));
                    // Add truckerlicense and busdriver license of the player to the list
                    if (APlayerData[clickedplayerid][TruckerLicense] == 1)
                            format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Kamionos jogsi: {00FF00}Yes\\n\", PlayerStatList);
                    else
                            format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Kamionos jogsi: {00FF00}No\\n\", PlayerStatList);
                    if (APlayerData[clickedplayerid][busLicense] == 1)
                            format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Busz jogis: {00FF00}Yes\\n\", PlayerStatList);
                    else
                            format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Busz jogis: {00FF00}No\\n\", PlayerStatList);
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Sikeresen Befejezted a Kamionos munkát: {00FF00}%i\\n\", PlayerStatList, APlayerData[clickedplayerid][statsTruckerJobs]);
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Sikeresen Befejezted a convoy munkát: {00FF00}%i\\n\", PlayerStatList, APlayerData[clickedplayerid][statsConvoyJobs]);
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Sikeresen Befejezted a buszos munkát: {00FF00}%i\\n\", PlayerStatList, APlayerData[clickedplayerid][statsBusDriverJobs]);
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Sikeresen Befejezted a pilota munkát: {00FF00}%i\\n\", PlayerStatList, APlayerData[clickedplayerid][statsPilotJobs]);
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Sikeresen Befejezted a maffia melot: {00FF00}%i\\n\", PlayerStatList, APlayerData[clickedplayerid][statsMafiaJobs]);
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Stolen mafia-loads: {00FF00}%i\\n\", PlayerStatList, APlayerData[clickedplayerid][statsMafiaStolen]);
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Fined players: {00FF00}%i\\n\", PlayerStatList, APlayerData[clickedplayerid][statsPoliceFined]);
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Jailed players: {00FF00}%i\\n\", PlayerStatList, APlayerData[clickedplayerid][statsPoliceJailed]);
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Sikeresen Befejezted a csomagszálitást: {00FF00}%i\\n\", PlayerStatList, APlayerData[clickedplayerid][statsCourierJobs]);
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Sikeresen Befejezted a Ut karbantartoi munkát: {00FF00}%i\\n\", PlayerStatList, APlayerData[clickedplayerid][statsRoadworkerJobs]);
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Assistolt játékos: {00FF00}%i\\n\", PlayerStatList, APlayerData[clickedplayerid][statsAssistance]);
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Megtett méter!: {00FF00}%f\\n\", PlayerStatList, APlayerData[clickedplayerid][statsMetersDriven]);
                    // Count the number of houses/businesses that the player has and add them to the list
                    for (new i; i < MAX_HOUSESPERPLAYER; i++)
                            if (APlayerData[clickedplayerid][Houses] != 0)
                                NumHouses++;
                    for (new i; i < MAX_BUSINESSPERPLAYER; i++)
                            if (APlayerData[clickedplayerid][business] != 0)
                                NumBusinesses++;
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Házak: {00FF00}%i (Dupla kattintás)\\n\", PlayerStatList, NumHouses);
                    format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Boltok: {00FF00}%i (upla kattintás)\\n\", PlayerStatList, NumBusinesses);
                    // Store the player-id of the other player so the other dialogs can display his statistics further (houses, businesses, cars)
                    APlayerData[playerid][DialogOtherPlayer] = clickedplayerid;
                    // Show the statistics of the other player
                    ShowPlayerDialog(playerid, DialogStatsOtherPlayer, DIALOG_STYLE_LIST, DialogTitle, PlayerStatList, TXT_DialogButtonSelect, TXT_DialogButtonCancel); // Let the player buy a license
            }
            return 1;
    }
 
    // This callback gets called when a player picks up any pickup
    public OnPlayerPickUpPickup(playerid, pickupid)
    {
            // If the player picks up the Buy_License pickup at the driving school in Doherty
            if (pickupid == Pickup_License)
                // Ask the player which license he wants to buy
                    ShowPlayerDialog(playerid, DialogBuyLicenses, DIALOG_STYLE_LIST, TXT_DialogLicenseTitle, TXT_DialogLicenseList, TXT_DialogButtonBuy, TXT_DialogButtonCancel); // Let the player buy a license
            return 1;
    }
 
    // This callback gets called when a player spawns somewhere
    public OnPlayerSpawn(playerid)
    {
            // Always allow NPC\'s to spawn without logging in
            if (IsPlayerNPC(playerid))
                    return 1;
            // Check if the player properly logged in by typing his password
            if (APlayerData[playerid][LoggedIn] == false)
            {
                    SendClientMessage(playerid, 0xFFFFFFFF, TXT_FailedLoginProperly);
                Kick(playerid); // Kick the player if he didn\'t log in properly
            }
            // Setup local variables
            new missiontext[200];
            // Spawn the player in the global world (where everybody plays the game)
        SetPlayerVirtualWorld(playerid, 0);
            SetPlayerInterior(playerid, 0);
            // Also set a variable that tracks in which house the player currently is
            APlayerData[playerid][CurrentHouse] = 0;
            // Disable the clock
            TogglePlayerClock(playerid, 0);
            // Delete all weapons from the player
            ResetPlayerWeapons(playerid);
            // Set the missiontext based on the chosen class
            switch (APlayerData[playerid][PlayerClass])
            {
                    case ClassTruckDriver: // Truck-driver class
                    {
                            format(missiontext, sizeof(missiontext), Trucker_NoJobText); // Preset the missiontext
                            SetPlayerColor(playerid, ColorClassTruckDriver); // Set the playercolor (chatcolor for the player and color on the map)
                    }
                    case ClassBusDriver: // Bus-driver class
                    {
                            format(missiontext, sizeof(missiontext), BusDriver_NoJobText); // Preset the missiontext
                            SetPlayerColor(playerid, ColorClassBusDriver); // Set the playercolor (chatcolor for the player and color on the map)
                    }
                    case ClassPilot: // Pilot class
                    {
                            format(missiontext, sizeof(missiontext), Pilot_NoJobText); // Preset the missiontext
                            SetPlayerColor(playerid, ColorClassPilot); // Set the playercolor (chatcolor for the player and color on the map)
                    }
                    case ClassPolice: // Police class
                    {
                            format(missiontext, sizeof(missiontext), Police_NoJobText); // Preset the missiontext
                            SetPlayerColor(playerid, ColorClassPolice); // Set the playercolor (chatcolor for the player and color on the map)
                            // Start the PlayerCheckTimer to scan for wanted players (be sure the timer has been destroyed first)
                            KillTimer(APlayerData[playerid][PlayerCheckTimer]);
                            APlayerData[playerid][PlayerCheckTimer] = SetTimerEx(\"Police_CheckWantedPlayers\", 1000, true, \"i\", playerid);
                            // Check if the police player can get weapons
                            if (PoliceGetsWeapons == true)
                            {
                                // Give up to 12 weapons to the player
                                    for (new i; i < 12; i++)
                                        GivePlayerWeapon(playerid, APoliceWeapons, PoliceWeaponsAmmo);
                            }
                    }
                    case ClassMafia: // Mafia class
                    {
                            format(missiontext, sizeof(missiontext), Mafia_NoJobText); // Preset the missiontext
                            SetPlayerColor(playerid, ColorClassMafia); // Set the playercolor (chatcolor for the player and color on the map)
                            // Start the PlayerCheckTimer to scan for players that carry mafia-loads (be sure the timer has been destroyed first)
                            KillTimer(APlayerData[playerid][PlayerCheckTimer]);
                            APlayerData[playerid][PlayerCheckTimer] = SetTimerEx(\"Mafia_CheckMafiaLoads\", 1000, true, \"i\", playerid);
                    }
                    case ClassCourier: // Courier class
                    {
                            format(missiontext, sizeof(missiontext), Courier_NoJobText); // Preset the missiontext
                            SetPlayerColor(playerid, ColorClassCourier); // Set the playercolor (chatcolor for the player and color on the map)
                    }
                    case ClassAssistance: // Assistance class
                    {
                            format(missiontext, sizeof(missiontext), Assistance_NoJobText); // Preset the missiontext
                            SetPlayerColor(playerid, ColorClassAssistance); // Set the playercolor (chatcolor for the player and color on the map)
                            // Start the PlayerCheckTimer to scan for players who need assistance (be sure the timer has been destroyed first)
                            KillTimer(APlayerData[playerid][PlayerCheckTimer]);
                            APlayerData[playerid][PlayerCheckTimer] = SetTimerEx(\"Assistance_CheckPlayers\", 1000, true, \"i\", playerid);
                    }
                    case ClassRoadWorker: // Roadworker class
                    {
                            format(missiontext, sizeof(missiontext), RoadWorker_NoJobText); // Preset the missiontext
                            SetPlayerColor(playerid, ColorClassRoadWorker); // Set the playercolor (chatcolor for the player and color on the map)
                    }
            }
            // Set the missiontext
            TextDrawSetString(APlayerData[playerid][MissionText], missiontext);
            // Show the missiontext for this player
            TextDrawShowForPlayer(playerid, APlayerData[playerid][MissionText]);
            // If the player spawns and his jailtime hasn\'t passed yet, put him back in jail
            if (APlayerData[playerid][PlayerJailed] != 0)
                Police_JailPlayer(playerid, APlayerData[playerid][PlayerJailed]);
            return 1;
    }
 
    // This callback gets called whenever a player enters a checkpoint
    public OnPlayerEnterCheckpoint(playerid)
    {
            // Check the player\'s class
            switch (APlayerData[playerid][PlayerClass])
            {
                    case ClassTruckDriver: // Truckdriver class
                            Trucker_OnPlayerEnterCheckpoint(playerid); // Process the checkpoint (load or unload goods)
                    case ClassBusDriver: // BusDriver class
                    {
                            GameTextForPlayer(playerid, TXT_BusDriverMissionPassed, 3000, 4); // Show a message to let the player know he finished his job
                            BusDriver_EndJob(playerid); // End the current mission
                    }
                    case ClassPilot: // Pilot class
                            Pilot_OnPlayerEnterCheckpoint(playerid); // Process the checkpoint (load or unload)
                    case ClassMafia: // Mafia class
                            Mafia_OnPlayerEnterCheckpoint(playerid);
                    case ClassCourier: // Courier class
                            Courier_OnPlayerEnterCheckpoint(playerid);
                    case ClassRoadWorker: // Roadworker class
                    {
                            // Only end the mission when doing \"repair-speedcamera\" jobtype (checkpoint is the base of the roadworker)
                            if (APlayerData[playerid][JobID] == 1) // Repairing speedcamera\'s
                            {
                                    GameTextForPlayer(playerid, TXT_RoadworkerMissionPassed, 3000, 4); // Show a message to let the player know he finished his job
                                    Roadworker_EndJob(playerid); // End the current mission
                            }
                            if (APlayerData[playerid][JobID] == 2) // Towing broken vehicle to shredder
                    Roadworker_EnterCheckpoint(playerid);
                    }
            }
            return 1;
    }
 
    // This callback gets called when a player enters a race-checkpoint
    public OnPlayerEnterRaceCheckpoint(playerid)
    {
            // Check the player\'s class
            switch (APlayerData[playerid][PlayerClass])
            {
                    case ClassBusDriver: // BusDriver class
                        Bus_EnterRaceCheckpoint(playerid); // Process the checkpoint
                    case ClassRoadWorker: // Roadworker class
                            Roadworker_EnterRaceCheckpoint(playerid);
            }
            return 1;
    }
 
    // This callback gets called whenever a player dies
    public OnPlayerDeath(playerid, killerid, reason)
    {
            // Setup local variables
            new VictimName[24], KillerName[24], Msg[128];
            // Clear the missiontext
            TextDrawSetString(APlayerData[playerid][MissionText], \" \");
            // Hide the missiontext for this player (when the player is choosing a class, it\'s not required to show any mission-text)
            TextDrawHideForPlayer(playerid, APlayerData[playerid][MissionText]);
            // Stop any job that may have started
            switch (APlayerData[playerid][PlayerClass])
            {
                    case ClassTruckDriver: Trucker_EndJob(playerid);
                    case ClassBusDriver: BusDriver_EndJob(playerid);
                    case ClassPilot: Pilot_EndJob(playerid);
                    case ClassPolice: Police_EndJob(playerid);
                    case ClassMafia: Mafia_EndJob(playerid);
                    case ClassCourier: Courier_EndJob(playerid);
                    case ClassAssistance: Assistance_EndJob(playerid);
                    case ClassRoadWorker: Roadworker_EndJob(playerid);
            }
            // If the player is part of a convoy, kick him from it
            Convoy_Leave(playerid);
            // If another player kills you, he\'ll get an extra star of his wanted level
            if (killerid != INVALID_PLAYER_ID)
            {
                    // Increase the wanted level of the killer by one star
                SetPlayerWantedLevel(killerid, GetPlayerWantedLevel(killerid) + 1);
                // Get the name of the killed player and the killer
                GetPlayerName(playerid, VictimName, sizeof(VictimName));
                GetPlayerName(killerid, KillerName, sizeof(KillerName));
                // Let the killed know the police are informed about the kill
                    format(Msg, 128, \"{FF0000}Megöltél {FFFF00}%s{FF0000}, egy jatékost ezér köröz a rendörség\", VictimName);
                    SendClientMessage(killerid, 0xFFFFFFFF, Msg);
                    // Inform all police players about the kill
                    format(Msg, 128, \"{00FF00}Játékos {FFFF00}%s {00FF00}megölted {FFFF00}%s {00FF00}játékost,ezért most keres a rendorség.\", KillerName, VictimName);
                    Police_SendMessage(Msg);
            }
            return 1;
    }
 
    // This callback gets called when the player is selecting a class (but hasn\'t clicked \"Spawn\" yet)
    public OnPlayerRequestClass(playerid, classid)
    {
            SetPlayerInterior(playerid,14);
            SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
            SetPlayerFacingAngle(playerid, 270.0);
            SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
            SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
            // Display a short message to inform the player about the class he\'s about to choose
            switch (classid)
            {
                    case 0, 1, 2, 3, 4, 5, 6, 7: // Classes that will be truckdrivers
                    {
                            // Display the name of the class
                GameTextForPlayer(playerid, TXT_ClassTrucker, 3000, 4);
                            // Store the class for the player (truckdriver)
                            APlayerData[playerid][PlayerClass] = ClassTruckDriver;
                    }
                    case 8, 9: // Classes that will be bus-drivers
                    {
                            // Display the name of the class
                GameTextForPlayer(playerid, TXT_ClassBusDriver, 3000, 4);
                            // Store the class for the player (busdriver)
                            APlayerData[playerid][PlayerClass] = ClassBusDriver;
                    }
                    case 10: // Classes that will be Pilot
                    {
                            // Display the name of the class
                GameTextForPlayer(playerid, TXT_ClassPilot, 3000, 4);
                            // Store the class for the player (pilot)
                            APlayerData[playerid][PlayerClass] = ClassPilot;
                    }
                    case 11, 12, 13: // Classes that will be police
                    {
                            // Display the name of the class
                GameTextForPlayer(playerid, TXT_ClassPolice, 3000, 4);
                            // Store the class for the player (police)
                            APlayerData[playerid][PlayerClass] = ClassPolice;
                    }
                    case 14, 15, 16: // Classes that will be mafia
                    {
                            // Display the name of the class
                            GameTextForPlayer(playerid, TXT_ClassMafia, 3000, 4);
                            // Store the class for the player (mafia)
                            APlayerData[playerid][PlayerClass] = ClassMafia;
                    }
                    case 17, 18: // Classes that will be courier
                    {
                            // Display the name of the class
                            GameTextForPlayer(playerid, TXT_ClassCourier, 3000, 4);
                            // Store the class for the player (courier)
                            APlayerData[playerid][PlayerClass] = ClassCourier;
                    }
                    case 19: // Classes that will be assistance
                    {
                            // Display the name of the class
                            GameTextForPlayer(playerid, TXT_ClassAssistance, 3000, 4);
                            // Store the class for the player (assistance)
                            APlayerData[playerid][PlayerClass] = ClassAssistance;
                    }
                    case 20, 21, 22: // Classes that will be roadworker
                    {
                            // Display the name of the class
                            GameTextForPlayer(playerid, TXT_ClassRoadWorker, 3000, 4);
                            // Store the class for the player (roadworker)
                            APlayerData[playerid][PlayerClass] = ClassRoadWorker;
                    }
            }
            return 1;
    }
 
    // This callback is called when the player attempts to spawn via class-selection
    public OnPlayerRequestSpawn(playerid)
    {
            new Index, Float:x, Float:y, Float:z, Float:Angle, Name[24], Msg[128];
            // Get the player\'s name
            GetPlayerName(playerid, Name, sizeof(Name));
            // Choose a random spawnlocation based on the player\'s class
            switch (APlayerData[playerid][PlayerClass])
            {
                    case ClassTruckDriver:
                    {
                            Index = random(sizeof(ASpawnLocationsTrucker)); // Get a random array-index to chose a random spawnlocation
                            x = ASpawnLocationsTrucker[index][spawnX]; // Get the X-position for the spawnlocation
                            y = ASpawnLocationsTrucker[index][spawnY]; // Get the Y-position for the spawnlocation
                            z = ASpawnLocationsTrucker[index][spawnZ]; // Get the Z-position for the spawnlocation
                            Angle = ASpawnLocationsTrucker[index][spawnAngle]; // Get the rotation-angle for the spawnlocation
                            format(Msg, 128, \"{00FF00}Játékos {FFFF00}%s{00FF00} Belépet {FFFF00}A kamionos csoportba\", Name);
                    }
                    case ClassBusDriver:
                    {
                            Index = random(sizeof(ASpawnLocationsBusDriver));
                            x = ASpawnLocationsBusDriver[index][spawnX]; // Get the X-position for the spawnlocation
                            y = ASpawnLocationsBusDriver[index][spawnY]; // Get the Y-position for the spawnlocation
                            z = ASpawnLocationsBusDriver[index][spawnZ]; // Get the Z-position for the spawnlocation
                            Angle = ASpawnLocationsBusDriver[index][spawnAngle]; // Get the rotation-angle for the spawnlocation
                            format(Msg, 128, \"{00FF00}Játékos {FFFF00}%s{00FF00} Belépet {FFFF00}A Buszos csoportba\", Name);
                    }
                    case ClassPilot:
                    {
                            Index = random(sizeof(ASpawnLocationsPilot));
                            x = ASpawnLocationsPilot[index][spawnX]; // Get the X-position for the spawnlocation
                            y = ASpawnLocationsPilot[index][spawnY]; // Get the Y-position for the spawnlocation
                            z = ASpawnLocationsPilot[index][spawnZ]; // Get the Z-position for the spawnlocation
                            Angle = ASpawnLocationsPilot[index][spawnAngle]; // Get the rotation-angle for the spawnlocation
                            format(Msg, 128, \"{00FF00}Játékos {FFFF00}%s{00FF00} Belépet {FFFF00}A pilota csoportba\", Name);
                    }
                    case ClassPolice:
                    {
                        // Count the number of normal players (all classes except police) and count the amount of police players
                        new NormalPlayers, PolicePlayers, bool:CanSpawnAsCop = false;
                            // Block this check if PlayersBeforePolice is set to 0 (this allows anyone to join as police)
                            if (PlayersBeforePolice > 0)
                            {
                                    // Loop through all players
                                    for (new pid; pid < MAX_PLAYERS; pid++)
                                    {
                                            // Exclude this player, as he doesn\'t have a class yet, he\'s still choosing here
                                            if (pid != playerid)
                                            {
                                                // Also exclude all players who are still in the class-selection screen, as they don\'t have a class selected yet
                                                if (GetPlayerInterior(pid) != 14)
                                                {
                                                            // Check if this player is logged in
                                                            if (APlayerData[pid][LoggedIn] == true)
                                                            {
                                                                    // Count the amount of normal players and police players
                                                                    switch (APlayerData[pid][PlayerClass])
                                                                    {
                                                                            case ClassPolice:
                                                                                PolicePlayers++;
                                                                            case ClassTruckDriver, ClassBusDriver, ClassPilot, ClassMafia, ClassCourier, ClassAssistance, ClassRoadWorker:
                                                                            NormalPlayers++;
                                                                    }
                                                            }
                                                    }
                                            }
                                    }
                                    // Check if there are less police players than allowed
                                    if (PolicePlayers < (NormalPlayers / PlayersBeforePolice))
                                        CanSpawnAsCop = true; // There are less police players than allowed, so the player can choose this class
                                    else
                                        CanSpawnAsCop = false; // The maximum amount of police players has been reached, the player can\'t choose to be a cop
                                    // Check if the player isn\'t allowed to spawn as police
                                    if (CanSpawnAsCop == false)
                                    {
                                            // Let the player know the maximum amount of cops has been reached
                                            GameTextForPlayer(playerid, \"Maximális összege a zsaruk már elérte.\", 5000, 4);
                                            SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}A maximális összege zsaruk már elérte, válasszon egy másik munka csoportot.\");
                                            return 0; // Don\'t allow the player to spawn as police player
                                    }
                            }
                            // If the player has less than 100 scorepoints
                        if (APlayerData[playerid][PlayerScore] < 80)
                        {
                                    // Let the player know he needs 100 scorepoints
                                    GameTextForPlayer(playerid, \"100 pont kell hogy rend&#38;#245;r lehes\", 5000, 4);
                                    SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}100 pont kell hogy rend&#38;#245;r lehes\");
                                    return 0; // Don\'t allow the player to spawn as police player
                        }
                            // If the player has a wanted level
                        if (GetPlayerWantedLevel(playerid) > 0)
                        {
                                    // Let the player know he can

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal