Szerző Téma: Forditas magyarra!  (Megtekintve 684 alkalommal)

Forditas magyarra!
« Dátum: 2013. október 18. - 13:17:20 »
0 Show voters
Sziasztok :)
Valaki atforditana magyarra ami nem magyarul van??es ha van hiba kijavitana?meg ha tudja bovitheti is modot
 
[code=pawn}
// Make sure you don\'t get warnings about tabsize
#pragma tabsize 0
// ********************************************************************************************************************
// Set default gamemode name
// ********************************************************************************************************************
#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, \"Statistics of player: %s\", Name);

   // Add the IP of the player to the list

    GetPlayerIp(clickedplayerid, PlayerIP, sizeof(PlayerIP));

   format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Player-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}Class: {00FF00}Trucker\\n\", PlayerStatList);

      case ClassBusDriver: format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Class: {00FF00}Bus driver\\n\", PlayerStatList);

      case ClassPilot: format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Class: {00FF00}Pilot\\n\", PlayerStatList);

      case ClassPolice: format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Class: {00FF00}Police\\n\", PlayerStatList);

      case ClassMafia: format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Class: {00FF00}Mafia\\n\", PlayerStatList);

      case ClassCourier: format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Class: {00FF00}Courier\\n\", PlayerStatList);

      case ClassAssistance: format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Class: {00FF00}Assistance\\n\", PlayerStatList);

   }

   // Add money and score of the player to the list

   format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Money: {00FF00}%i\\n\", PlayerStatList, APlayerData[clickedplayerid][PlayerMoney]);

   format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Score: {00FF00}%i\\n\", PlayerStatList, APlayerData[clickedplayerid][PlayerScore]);

   // Add wanted-level of the player to the list

   format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Wanted-level: {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}Trucker License: {00FF00}Yes\\n\", PlayerStatList);

   else

      format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Trucker License: {00FF00}No\\n\", PlayerStatList);

   if (APlayerData[clickedplayerid][busLicense] == 1)

      format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Bus License: {00FF00}Yes\\n\", PlayerStatList);

   else

      format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Bus License: {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}Assisted players: {00FF00}%i\\n\", PlayerStatList, APlayerData[clickedplayerid][statsAssistance]);

   format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Meters driven: {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}Houses: {00FF00}%i (double-click for stats)\\n\", PlayerStatList, NumHouses);

   format(PlayerStatList, sizeof(PlayerStatList), \"%s{FFFFFF}Businesses: {00FF00}%i (double-click for stats)\\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}Player {FFFF00}%s{00FF00} killed {FFFF00}%s{00FF00}, pursue and fine him\", 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)

                {
« Utoljára szerkesztve: 2013. október 18. - 13:20:36 írta Szily88 »

Nem elérhető ZSOLTI99

  • 1827
    • Profil megtekintése
Forditas magyarra!
« Válasz #1 Dátum: 2013. október 18. - 14:36:41 »
0 Show voters
De most ezen mit nem lehet át írni csak pár dolgot kellet Class azok voltak angolok.
 
   #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
   #include
   #include
   #include
   #include
   #include
   // 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
   #include
   #include
   #include
   #include
   #include
   #include
   #include
   #include
   // Include functions for this gamemode
   #include
   #include
   #include
   #include
   #include
   #include
   #include
   #include
   #include
   #include
   #include
   #include
   #include
   #include
   #include
   #include
   #include
   #include
   #include
   // 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}Szerelõ\\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 rendõrsé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&#245;r lehes\", 5000, 4);
                                   SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}100 pont kell hogy rend&#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 cannot have a wanted level to join police
                                   GameTextForPlayer(playerid, \"Ha Korozesi szinted van akkor nem lehetsz rendor\", 5000, 4);
                                   SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Ha körözési szinted van akkor nem lehetsz rend&#245;r.\");
                                   return 0; // Don\'t allow the player to spawn as police player
                       }
                           Index = random(sizeof(ASpawnLocationsPolice));
                           x = ASpawnLocationsPolice[index][spawnX]; // Get the X-position for the spawnlocation
                           y = ASpawnLocationsPolice[index][spawnY]; // Get the Y-position for the spawnlocation
                           z = ASpawnLocationsPolice[index][spawnZ]; // Get the Z-position for the spawnlocation
                           Angle = ASpawnLocationsPolice[index][spawnAngle]; // Get the rotation-angle for the spawnlocation
                           format(Msg, 128, \"{00FF00}Játékos {FFFF00}%s{00FF00} Belépet {FFFF00}A rend&#245;r csoportba\", Name);
                   }
                   case ClassMafia:
                   {
                           Index = random(sizeof(ASpawnLocationsMafia));
                           x = ASpawnLocationsMafia[index][spawnX]; // Get the X-position for the spawnlocation
                           y = ASpawnLocationsMafia[index][spawnY]; // Get the Y-position for the spawnlocation
                           z = ASpawnLocationsMafia[index][spawnZ]; // Get the Z-position for the spawnlocation
                           Angle = ASpawnLocationsMafia[index][spawnAngle]; // Get the rotation-angle for the spawnlocation
                           format(Msg, 128, \"{00FF00}Játékos {FFFF00}%s{00FF00} Belépet {FFFF00}A maffia csoportba\", Name);
                   }
                   case ClassCourier:
                   {
                           Index = random(sizeof(ASpawnLocationsCourier));
                           x = ASpawnLocationsCourier[index][spawnX]; // Get the X-position for the spawnlocation
                           y = ASpawnLocationsCourier[index][spawnY]; // Get the Y-position for the spawnlocation
                           z = ASpawnLocationsCourier[index][spawnZ]; // Get the Z-position for the spawnlocation
                           Angle = ASpawnLocationsCourier[index][spawnAngle]; // Get the rotation-angle for the spawnlocation
                           format(Msg, 128, \"{00FF00}Játékos {FFFF00}%s{00FF00} Belépet {FFFF00}A futar csoportba\", Name);
                   }
                   case ClassAssistance:
                   {
                           Index = random(sizeof(ASpawnLocationsAssistance));
                           x = ASpawnLocationsAssistance[index][spawnX]; // Get the X-position for the spawnlocation
                           y = ASpawnLocationsAssistance[index][spawnY]; // Get the Y-position for the spawnlocation
                           z = ASpawnLocationsAssistance[index][spawnZ]; // Get the Z-position for the spawnlocation
                           Angle = ASpawnLocationsAssistance[index][spawnAngle]; // Get the rotation-angle for the spawnlocation
                           format(Msg, 128, \"{00FF00}Játékos {FFFF00}%s{00FF00} Belépet {FFFF00}Az Automent&#245; csoportba\", Name);
                   }
                   case ClassRoadWorker:
                   {
                           Index = random(sizeof(ASpawnLocationsRoadWorker));
                           x = ASpawnLocationsRoadWorker[index][spawnX]; // Get the X-position for the spawnlocation
                           y = ASpawnLocationsRoadWorker[index][spawnY]; // Get the Y-position for the spawnlocation
                           z = ASpawnLocationsRoadWorker[index][spawnZ]; // Get the Z-position for the spawnlocation
                           Angle = ASpawnLocationsRoadWorker[index][spawnAngle]; // Get the rotation-angle for the spawnlocation
                           format(Msg, 128, \"{00FF00}Játékos {FFFF00}%s{00FF00} Belépet {FFFF00}Útkarbantartó csoportba\", Name);
                   }
           }
           // Spawn the player with his chosen skin at a random location based on his class
           SetSpawnInfo(playerid, 0, GetPlayerSkin(playerid), x, y, z, Angle, 0, 0, 0, 0, 0, 0);
           // Send the message to all players (who joined which class)
           SendClientMessageToAll(0xFFFFFFFF, Msg);
       return 1;
   }
 
   // This callback gets called when a vehicle respawns at it\'s spawn-location (where it was created)
   public OnVehicleSpawn(vehicleid)
   {
           // Set the vehicle as not-wanted by the mafia
           AVehicleData[vehicleid][MafiaLoad] = false;
           // Also reset the fuel to maximum (only for non-owned vehicles)
           if (AVehicleData[vehicleid][Owned] == false)
                   AVehicleData[vehicleid][Fuel] = MaxFuel;
           // Re-apply the paintjob (if any was applied)
           if (AVehicleData[vehicleid][PaintJob] != 0)
           {
               // Re-apply the paintjob
                   ChangeVehiclePaintjob(vehicleid, AVehicleData[vehicleid][PaintJob] - 1);
           }
           // Also update the car-color
           ChangeVehicleColor(vehicleid, AVehicleData[vehicleid][Color1], AVehicleData[vehicleid][Color2]);
           // Re-add all components that were installed (if they were there)
           for (new i; i < 14; i++)
           {
                   // Remove all mods from the vehicle (all added mods applied by hackers will hopefully be removed this way when the vehicle respawns)
           RemoveVehicleComponent(vehicleid, GetVehicleComponentInSlot(vehicleid, i));
               // Check if the componentslot has a valid component-id
                   if (AVehicleData[vehicleid][Components] != 0)
                   AddVehicleComponent(vehicleid, AVehicleData[vehicleid][Components]); // Add the component to the vehicle
           }
       return 1;
   }
 
   // This callback is called when the vehicle leaves a mod shop
   public OnVehicleRespray(playerid, vehicleid, color1, color2)
   {
           // Let the player pay $150 for changing the color (if they have been changed)
           if ((AVehicleData[vehicleid][Color1] != color1) || (AVehicleData[vehicleid][Color2] != color2))
           {
                   RewardPlayer(playerid, -150, 0);
                   SendClientMessage(playerid, 0xFFFFFFFF, \"{00FF00}Sikeresen megváltozatad a járm&#251; színét.Fizetél:$150\");
           }
           // Save the colors
           AVehicleData[vehicleid][Color1] = color1;
           AVehicleData[vehicleid][Color2] = color2;
           // If the primary color is black, remove the paintjob
           if (color1 == 0)
                   AVehicleData[vehicleid][PaintJob] = 0;
           return 1;
   }
 
   // This callback gets called when a player enters or exits a mod-shop
   public OnEnterExitModShop(playerid, enterexit, interiorid)
   {
           return 1;
   }
 
   // This callback gets called whenever a player mods his vehicle
   public OnVehicleMod(playerid, vehicleid, componentid)
   {
           // When the player changes a component of his vehicle, reduce the price of the component from the player\'s money
           APlayerData[playerid][PlayerMoney] = APlayerData[playerid][PlayerMoney] - AVehicleModPrices[componentid - 1000];
           // Store the component in the
« Utoljára szerkesztve: 2013. október 18. - 14:52:25 írta ZyZu »

Forditas magyarra!
« Válasz #2 Dátum: 2013. október 18. - 17:50:08 »
0 Show voters
KOszi

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal