Need optimization help
#1

Hello everybody, can you help me how I can optimize that gamemode?

Код:
/*Modifikacija pradėta kurti 2018-09-26
Autorius: ©Ponas_Algelis
*/


//=============================== { INCLUDE'AI } ===============================
#include <YSI\y_timers>
#include <timerfix>
#include <a_mysql>
#include <sscanf2>
#include <streamer>
#include <zcmd>

//==============================================================================



#undef MAX_PLAYERS
#define MAX_PLAYERS 300
//==============================================================================
//=============================== { FORWARD'AI } ===============================
forward Zaidimas();
forward Greitis();
forward TekstoValymas(playerid);
forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
//==============================================================================

//=============================== { DEFINE'AI } ================================
#define MySQL_HOST "localhost"
#define MySQL_USER "root"
#define MySQL_DATA "serveris"
#define MySQL_PASS ""

#define HOLDING(%0) \
	((newkeys & (%0)) == (%0))
#define PRESSED(%0) \
	(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))

#define DLG_RADIJAS 0
#define DLG_INFO 1
#define DLG_REGISTRACIJA 2
#define DLG_PRISIJUNGIMAS 3

#define AUKSINE 0xE6B800FF

//==============================================================================
new bool:GTRezimas[MAX_VEHICLES];
new PlayerText:Textdraw[4][MAX_PLAYERS];

new Float:LigoninesAtsiradimoVietos[][] =
{
     {171.6668,-42.2873,1.5781, 90.0000},
     {160.6668,-42.2873,1.5781, 90.0000}
};

enum _playerData
{
    pPrazaide,
	pSkin,
	pPinigai,
	pPatirtis,
	pLygis,
	pKreditai,
	pVIP,
	pAdmin

};

new playerData[MAX_PLAYERS][_playerData];
new bool: online[MAX_PLAYERS];
new bool: from_login[MAX_PLAYERS];
new bool: from_reg[MAX_PLAYERS];
new trylog[MAX_PLAYERS];
//==============================================================================

main(){}

public OnGameModeInit()
{
    SetGameModeText("VER 0.00.1");
	mysql_debug( true );
	mysql_connect( MySQL_HOST,MySQL_USER,MySQL_DATA,MySQL_PASS );
	mysql_set_charset("utf8");
	if( mysql_ping( ) >= 1 )    print( "\nPrisijungėte prie duomenų bazės.\n\n");
	else   						print("Nepavyko prisijungti prie MySQL duomenų bazės!\n");
    DisableInteriorEnterExits();
    UsePlayerPedAnims();
    EnableStuntBonusForAll(0);
    SetNameTagDrawDistance(20.0);
	return 1;
}
//==============================================================================
public OnGameModeExit()
{
    for(new i=0; i < MAX_PLAYERS; i++)
	{
	    if( IsPlayerConnected(i) && online[i] ) MySQL_Save(i);
	}
	mysql_close( );
	return 1;
}
//==============================================================================
public OnPlayerRequestClass(playerid, classid)
{
    
    new Query[ 200 ];
	format( Query,sizeof( Query ),"SELECT * FROM `zaidejai` WHERE vardas = '%s'",GetPlayerNameEx( playerid ) );
	mysql_query( Query );
	mysql_store_result( );

	if( mysql_num_rows( ) )
	{
	    RodytiPrisijungima(playerid);
	}
	else
	{
	    RodytiRegistracija(playerid);

	}
	mysql_free_result( );

	return 1;
}
//==============================================================================
public OnPlayerConnect(playerid)
{
    if (IsPlayerNPC(playerid))
    {
    	return 1;
    }
 	online[playerid] = false;
	trylog[playerid] = 0;
    SendClientMessage(playerid, 0xFFFF00FF, "SVEIKAS ATVYKĘS Į SERVERĮ");
    Textdrawai(playerid);
	return 1;
}
//==============================================================================
public OnPlayerDisconnect(playerid, reason)
{
    if( online[playerid] )
	{
		MySQL_Save(playerid);
		SleptiTextdrawus(playerid);
	}
	return 1;
}
//==============================================================================
public OnPlayerSpawn(playerid)
{
    if( !online[playerid] ) Kick(playerid);

	if( from_login[playerid] )
	{
	    MySQL_Load(playerid);
 		from_login[playerid] = false;
		return 1;
	}
	if( from_reg[playerid] )
	{
		from_reg[playerid] = false;

	    return 1;
	}
	return 1;
}
//==============================================================================
public OnPlayerDeath(playerid, killerid, reason)
{
    for(new p = 0; p < MAX_PLAYERS; p++)
	{
	    SleptiTextdrawus(p);
	    MoveToHospital(p);
	    GameTextForPlayer(p,"~r~MIRETE!",5000,4);
	}
	return 1;
}
//==============================================================================
public OnVehicleSpawn(vehicleid)
{
    for(new p = 0; p < MAX_PLAYERS; p++)
	{
	    if(IsPlayerConnected(p))
    	{
    		SleptiTextdrawus(p);
    	}
	}
	return 1;
}
//==============================================================================
public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}
//==============================================================================
public OnPlayerText(playerid, text[])
{
    new Keiksmazodziai[][] =
{
	"SARG","LMG","DOGBERRY","LIBERTY",".LT",".RU",".EN",".DE"
};
	for(new i; i != sizeof(Keiksmazodziai); ++i)
	{
	PakeistiKeiksmazodi(text, Keiksmazodziai[i]);
}

    new pname[MAX_PLAYER_NAME], str[64];
    GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
    if(playerData[playerid][pAdmin] <4)
    {
    	format(str, sizeof(str), "%s sako: {006699}%s", pname, text);
    	ProxDetector(25.0, playerid, str, -1, -1, -1, -1, -1);
	}
    if(playerData[playerid][pAdmin] == 4)
    {
        format(str, sizeof(str), "%s: %s", pname, text);
    	ProxDetector(30.0, playerid, str, 0x18BD09FF, 0x18BD09FF, 0x18BD09FF, 0x18BD09FF, 0x18BD09FF);
    }
    return 0;
	}

public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
    if(IsPlayerConnected(playerid))
    {
        new Float:posx, Float:posy, Float:posz;
        new Float:oldposx, Float:oldposy, Float:oldposz;
        new Float:tempposx, Float:tempposy, Float:tempposz;
        GetPlayerPos(playerid, oldposx, oldposy, oldposz);
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
            {
                GetPlayerPos(i, posx, posy, posz);
                tempposx = (oldposx -posx);
                tempposy = (oldposy -posy);
                tempposz = (oldposz -posz);
                if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
                {
                    SendClientMessage(i, col1, string);
                }
                else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
                {
                    SendClientMessage(i, col2, string);
                }
                else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
                {
                    SendClientMessage(i, col3, string);
                }
                else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
                {
                    SendClientMessage(i, col4, string);
                }
                else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
                {
                    SendClientMessage(i, col5, string);
                }
            }
            else
            {
                SendClientMessage(i, col1, string);
            }
        }
    }
    return 1;
}
//==============================================================================
public OnPlayerCommandPerformed( playerid, cmdtext[ ], success )
{
    if(!success )
    {
    
    	return SendClientMessage( playerid, 0xFF0000FF, "Tokios komandos nėra!");
   	}
    return 1;
}
//==============================================================================
public OnPlayerCommandText(playerid, cmdtext[])
{
	return 0;
}
//==============================================================================
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}
//==============================================================================
public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}
//==============================================================================
public OnPlayerStateChange(playerid, newstate, oldstate)
{

    for(new i; i < MAX_PLAYERS; i++)
	{
		if (IsPlayerConnected(i))
	    {
				if(newstate == PLAYER_STATE_DRIVER)
				{
					SendClientMessage(i, 0x999999FF, "Kad būtų linksmiau vaћiuoti, įsijunk radiją {006699}/radijas");
				}
				if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
				{
					PlayerTextDrawShow(i, Textdraw[0][i]);
					PlayerTextDrawShow(i, Textdraw[1][i]);
					PlayerTextDrawShow(i, Textdraw[2][i]);
				}
				if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
				{
					SleptiTextdrawus(i);
				}
		}
	}
	return 1;
}
//==============================================================================
public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}
//==============================================================================
public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}
//==============================================================================
public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}
//==============================================================================
public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}
//==============================================================================
public OnRconCommand(cmd[])
{
	return 1;
}
//==============================================================================
public OnPlayerRequestSpawn(playerid)
{
	return 1;
}
//==============================================================================
public OnObjectMoved(objectid)
{
	return 1;
}
//==============================================================================
public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}
//==============================================================================
public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}
//==============================================================================
public OnVehicleMod(playerid, vehicleid, componentid)
{
	return 1;
}
//==============================================================================
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
	return 1;
}
//==============================================================================
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	return 1;
}
//==============================================================================
public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}
//==============================================================================
public OnPlayerExitedMenu(playerid)
{
	return 1;
}
//==============================================================================
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}
//==============================================================================
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if( IsPlayerInAnyVehicle( playerid ) && GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )
	{
		new
			masina = GetPlayerVehicleID( playerid )
		;
		if( GTRezimas[ masina ] )
		{
			if (HOLDING (KEY_SPRINT))
			{
				if( GetPlayerSpeed( masina ) < 50 )
				{
					new
						Float:vehx,
						Float:vehy,
						Float:vehz
					;
					GetVehicleVelocity( masina, vehx, vehy, vehz );
					SetVehicleVelocity( masina, vehx * 1.4, vehy * 1.4, vehz * 1.4 );
				}
			}
		}
	}
	if (PRESSED(KEY_YES))
	{
		Radijas(playerid);
	}
	return 1;
}
//==============================================================================
public OnRconLoginAttempt(ip[], password[], success)
{
	return 1;
}
//==============================================================================
public OnPlayerUpdate(playerid)
{
	return 1;
}
//==============================================================================
public OnPlayerStreamIn(playerid, forplayerid)
{
	return 1;
}
//==============================================================================
public OnPlayerStreamOut(playerid, forplayerid)
{
	return 1;
}
//==============================================================================
public OnVehicleStreamIn(vehicleid, forplayerid)
{
	return 1;
}
//==============================================================================
public OnVehicleStreamOut(vehicleid, forplayerid)
{
	return 1;
}
//==============================================================================
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if( dialogid == DLG_REGISTRACIJA ) //Registracija
	{
	    if( response )
	    {
	        new pw[40];
	        mysql_real_escape_string(inputtext, pw);
	        if( !strlen( pw ) )
			{
	            SendClientMessage( playerid,0xFF0000FF,"Laukelis negali būti tuљčias." );
	            RodytiRegistracija(playerid);
	            return 1;
			}
			if( strlen( pw ) > 40 )
			{
			    SendClientMessage( playerid,0xFF0000FF,"Slaptaћodis negali būti ilgesnis nei 40simbolių." );
			    RodytiRegistracija(playerid);

			    return 1;
			}

			new Query[ 150 ];
			format( Query,sizeof( Query ),"INSERT INTO `zaidejai` (vardas,slaptazodis) VALUES ('%s','%s')",GetPlayerNameEx( playerid ), pw );
			mysql_query( Query );
			online[playerid] = true;
			from_reg[playerid] = true;
			SpawnPlayer(playerid);
			SetPlayerPos(playerid, -1969.5012,137.9058,27.6875);
			GivePlayerMoney     (playerid, 70000);
			SetPlayerScore       (playerid, 0);
			SetPlayerHealth(playerid, 200);
			SetPlayerSkin(playerid, 250);
		}
		else
		{
 	 	  Kick( playerid );
		}
		return 1;
	}
	if( dialogid == DLG_PRISIJUNGIMAS ) //Prisijungimas
	{
	    if( response )
	    {
	        new pw[40];
	        mysql_real_escape_string(inputtext, pw);
			if( strlen( pw ) > 40 )
			{
			    SendClientMessage( playerid,0xFF0000FF,"Slaptaћodis negali būti ilgesnis nei 40simbolių." );
			    RodytiPrisijungima(playerid);
				return 1;
			}

			new
			    Query[ 150 ]
			;
			format( Query,sizeof( Query ),"SELECT * FROM `zaidejai` WHERE vardas = '%s' AND slaptazodis = '%s'",GetPlayerNameEx( playerid ),pw );
			mysql_query( Query );
			mysql_store_result( );

			if(! mysql_num_rows( ) )
			{
			    if(trylog[playerid] > 2) { SendClientMessage(playerid, 0xFF0000FF, "Norėdamas(-a) iљeiti, raљyk /q"); Kick(playerid); }
			    trylog[playerid]++;

	   			SendClientMessage(playerid, 0xFF0000FF, "Neteisingas slaptaћodis!");
				RodytiPrisijungima(playerid);
			}
			else
			{
			    UzsaldytiZaideja(playerid, 2000);
			    SpawnPlayer(playerid);
			    GameTextForPlayer(playerid,"~y~SVEIKAS SUGRIZES I SERVERI!",4000,5);
				online[playerid] = true;
				from_login[playerid] = true;
				return 1;
			}
			mysql_free_result( );
			return 1;
		}
		if( !response )
		{
  			Kick( playerid );
		}
		return 1;
	}
	if(dialogid == DLG_RADIJAS)
        {
            if(!response) return 1;
            switch(listitem)
            {
                case 0:
                {
                    PlayAudioStreamForPlayer(playerid, "http://84.46.205.13:80/rc128.mp3");
           			GameTextForPlayer(playerid, "~b~Radiocentras",1500,4);
                }
                case 1:
                {
                    PlayAudioStreamForPlayer(playerid, "http://radio.m-1.fm/lietus/mp3");
           			GameTextForPlayer(playerid, "~b~Lietus",2500,4);
                }
                        case 2:
                        {
                            PlayAudioStreamForPlayer(playerid, "http://radio.m-1.fm:80/m1/mp3");
           					GameTextForPlayer(playerid, "~b~M-1",2500,4);
                        }
                        case 3:
                        {
                            PlayAudioStreamForPlayer(playerid, "http://radio.m-1.fm:80/m1plius/mp3");
           					GameTextForPlayer(playerid, "~b~M-1 Plius",2500,4);
                        }
                        case 4:
                        {
                            PlayAudioStreamForPlayer(playerid, "http://5.20.223.18:80/rrb128.mp3");
           					GameTextForPlayer(playerid, "~b~Ruskoje Radio",2500,4);
                        }
                        case 5:
                        {
                            PlayAudioStreamForPlayer(playerid, "http://84.46.205.13:80/zipfm128.mp3");
           					GameTextForPlayer(playerid, "~b~ZIP FM",2500,4);
                        }
                        case 6:
                        {
                            PlayAudioStreamForPlayer(playerid, "http://82.135.234.195:8000/fm99.mp3");
           					GameTextForPlayer(playerid, "~b~FM99",2500,4);
                        }
                        case 7:
                        {
                            PlayAudioStreamForPlayer(playerid, "http://82.135.234.195:8000/kelyje_klaipeda.mp3");
           					GameTextForPlayer(playerid, "~b~Kelyje Klaipeda",2500,4);
                        }
                        case 8:
                        {
                            PlayAudioStreamForPlayer(playerid, "http://82.135.234.195:8000/kelyje_kaunas.mp3");
           					GameTextForPlayer(playerid, "~b~Kelyje Kaunas",2500,4);
                        }
                        case 9:
                        {
                            PlayAudioStreamForPlayer(playerid, "http://82.135.234.195:8000/ehr.mp3");
           					GameTextForPlayer(playerid, "~b~European Hit Radio",2500,4);
                        }
                        case 10:
                        {
                            PlayAudioStreamForPlayer(playerid, "http://5.20.223.18:80/relaxfm128.mp3");
      					 	GameTextForPlayer(playerid, "~b~Relax FM",2500,4);
                        }
                        case 11:
                        {
                            PlayAudioStreamForPlayer(playerid, "http://listen2.myradio24.com:9000/8608");
           					GameTextForPlayer(playerid, "~b~Baltracker",2500,4);
                        }
                        case 12:
                        {
                            PlayAudioStreamForPlayer(playerid, "http://82.135.234.195:8000/extrafm.mp3");
       					 	GameTextForPlayer(playerid, "~b~Extra FM",2500,4);
                        }
                        case 13:
                        {
                            PlayAudioStreamForPlayer(playerid, "http://gyvai.utenosradijas.lt:8010/Utenosradijas");
           					GameTextForPlayer(playerid, "~b~Utenos radijas",2500,4);
                        }
                        case 14:
                        {
                            PlayAudioStreamForPlayer(playerid, "http://82.135.234.195:8000/gerasfm.mp3");
           					GameTextForPlayer(playerid, "~b~Geras FM",2500,4);
                        }

                        case 15:
                        {
                            StopAudioStreamForPlayer(playerid);
                			GameTextForPlayer(playerid, "~r~Isjungete radija!",2500,4);
                			SendClientMessage(playerid, 0xFF0000FF , "Iљjungėte radiją.");
                        }
            }
        }

	return 1;
}
//==============================================================================
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}
//================================ { KOMANDOS } ================================
CMD:gt(playerid)
{

    if(playerData[playerid][pAdmin] <4) return SendClientMessage( playerid, 0xFFFF00FF, "Aha, norėtum..." );
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage( playerid, 0xFF0000FF, "Turi būti tr. priemonėje!" );
	new masina = GetPlayerVehicleID( playerid );
	if( GTRezimas[ masina ] )
	{
		SendClientMessage( playerid, 0xFF0000FF, "GT IЉJUNGTAS!" );
		GTRezimas[ masina ] = false;
		PlayerTextDrawHide(playerid, Textdraw[3][playerid]);
	}
	else
	{
		SendClientMessage( playerid, 0xFFFF00FF, "GT ĮJUNGTAS!" );
		GTRezimas[ masina ] = true;
		PlayerTextDrawShow(playerid, Textdraw[3][playerid]);
	}
	return 1;
}
//==============================================================================
CMD:taisyti(playerid)
{
    if(playerData[playerid][pVIP] == 0) return SendClientMessage(playerid, 0xFF0000FF, "Komanda skirta tik VIP nariams!");
    if(playerData[playerid][pVIP] >0)
    {
		if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "Turi būti tr.priemonėje!");
		RepairVehicle(GetPlayerVehicleID(playerid));
		GivePlayerMoney(playerid, -500);
		SendClientMessage(playerid, 0xFFFF00FF, "Tr.priemonė suremontuota! Remonto kaina 500Ђ");
	}
    return 1;
}
//==============================================================================
CMD:radijas(playerid,params[])
{
    Radijas(playerid);
    return 1;
}
//==============================================================================
CMD:vip(playerid,params[])
{
    new string[140];
    if(isnull(params)) return SendClientMessage(playerid, 0xFF0000FF, "Raљyti vip nariams naudok /vip");
    if(playerData[playerid][pVIP] == 0) return SendClientMessage(playerid, 0xFF0000FF, "Komanda skirta tik VIP nariams!");
    if(playerData[playerid][pVIP] >0)
    {
        format(string, 140, "[VIP]%s: %s", GetPlayerNameEx(playerid), params);
    }
    SendClientMessageToAll(0x339966FF,string);
    return 1;
}
//==============================================================================
CMD:sav(playerid,params[])
{
    new string[100];
    if(playerData[playerid][pAdmin] <4) return SendClientMessage( playerid, 0xFF0000FF, "Tik savininkui!" );
    {
    	format(string, 100, "[SAVININKAS] %s: %s", GetPlayerNameEx(playerid), params);
   	}
	SendClientMessageToAll(0xE68A00FF,string);
    return 1;
}
//==============================================================================
CMD:rr(playerid,params[])
{
    new string[52];
    if(playerData[playerid][pAdmin] <4) return SendClientMessage( playerid, 0xFF0000FF, "Tik savininkui!" );
    {
    	format(string, 52, "<> RESTARTAS: %s <>",params);
   	}
	SendClientMessageToAll(0xE68A00FF,string);
    return 1;
}
//==============================================================================
CMD:info(playerid)
{
	ZaidejoInformacija(playerid);
	return 1;
}
//==============================================================================
CMD:refresh(playerid)
{
	TogglePlayerControllable(playerid,true);
	SetPlayerVirtualWorld( playerid, 0 );
	SetPlayerInterior( playerid, 0 );
	return 1;
}
//==============================================================================
//================================ { STOCK'AI } ================================
stock MySQL_Save(playerid)
{
	if( online[playerid] )
	{
	    new
            Float: pos[3], // 0,1,2 - pozicija;
			Query[512];

		printf("Iљsaugomas %s", GetPlayerNameEx(playerid));

		GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
	    format( Query,sizeof( Query ),"UPDATE `zaidejai` SET x = '%f', y = '%f', z = '%f' WHERE vardas = '%s'",\
		pos[0],	pos[1], pos[2], GetPlayerNameEx( playerid ));
		mysql_query( Query );



		playerData[playerid][pSkin] = GetPlayerSkin(playerid);
		playerData[playerid][pPinigai] = GetPlayerMoney(playerid);
		playerData[playerid][pPatirtis] = GetPlayerScore(playerid);

		format( Query, sizeof(Query),"UPDATE `zaidejai` SET skin = '%i', pinigai = '%i', patirtis = '%i',prazaide = '%i', lygis = '%i', kreditai = '%i', vip = '%i', admin = '%i' WHERE vardas = '%s'",
		playerData[playerid][pSkin], playerData[playerid][pPinigai], playerData[playerid][pPatirtis],
		playerData[playerid][pPrazaide],playerData[playerid][pLygis],playerData[playerid][pKreditai],
		playerData[playerid][pVIP],playerData[playerid][pAdmin],
		GetPlayerNameEx(playerid));
		mysql_query( Query );

		new Float:HP, Float:ARM;
		GetPlayerArmour(playerid, ARM);
		GetPlayerHealth(playerid, HP);
		format(Query, sizeof(Query), "UPDATE `zaidejai` SET hp = '%f', armour = '%f' WHERE vardas = '%s'",\
		HP,ARM, GetPlayerNameEx(playerid));
		mysql_query(Query);
	}
	return 1;
}
//==============================================================================
stock MySQL_Load(playerid)
{
	new
		Float: pos[3], // 0,1,2 - pozicija;
		fetch[16],
	    Query[256];

    format(Query, sizeof(Query), "SELECT * FROM `zaidejai` WHERE vardas = '%s'", GetPlayerNameEx(playerid));
    mysql_query(Query);
	mysql_store_result();
	mysql_retrieve_row();

	mysql_fetch_field_row( fetch, "x" );
	pos[0] = floatstr(fetch);
	mysql_fetch_field_row( fetch, "y" );
	pos[1] = floatstr(fetch);
	mysql_fetch_field_row( fetch, "z" );
	pos[2] = floatstr(fetch);

	SetPlayerPos( playerid, pos[0], pos[1], pos[2] + 0.75);

    mysql_fetch_field_row( fetch,"skin" );          playerData[playerid][pSkin] = strval(fetch);   	SetPlayerSkin(playerid, playerData[playerid][pSkin]);
	mysql_fetch_field_row( fetch,"pinigai" );		playerData[playerid][pPinigai] = strval(fetch);	GivePlayerMoney(playerid, playerData[playerid][pPinigai]);
	mysql_fetch_field_row( fetch,"patirtis" );      playerData[playerid][pPatirtis] = strval(fetch);   	SetPlayerScore(playerid, playerData[playerid][pPatirtis]);
	mysql_fetch_field_row( fetch,"prazaide" );      playerData[playerid][pPrazaide]  = strval(fetch);
	mysql_fetch_field_row( fetch,"lygis" );      	playerData[playerid][pLygis]  = strval(fetch);
	mysql_fetch_field_row( fetch,"kreditai" );      playerData[playerid][pKreditai]  = strval(fetch);
	mysql_fetch_field_row( fetch,"VIP" );      		playerData[playerid][pVIP]  = strval(fetch);
	mysql_fetch_field_row( fetch,"Admin" );      	playerData[playerid][pAdmin]  = strval(fetch);


	new Float: HP,
	    Float: ARM;

    mysql_fetch_field_row( fetch,"hp" );			HP = floatstr( fetch );		SetPlayerHealth( playerid, HP);
    mysql_fetch_field_row( fetch,"armour" );		ARM = floatstr( fetch );	SetPlayerArmour( playerid, ARM);


	mysql_free_result();

	printf("Pakrautas ћaidėjas. [%s]", GetPlayerNameEx(playerid));

	return 1;
}
//==============================================================================
stock GetPlayerNameEx( playerid )
{
	new Vardas[ MAX_PLAYER_NAME ];
	GetPlayerName( playerid,Vardas,MAX_PLAYER_NAME );
	return Vardas;
}
//==============================================================================
stock MoveToHospital(playerid)
{
	{
		new Float:h[2];
		SetPlayerInterior(playerid, 3);
		SetPlayerHealth(playerid, 200);
		UzsaldytiZaideja(playerid, 800);
		h[0] = GetPlayerDistanceFromPoint(playerid, LigoninesAtsiradimoVietos[0][0], LigoninesAtsiradimoVietos[0][1], LigoninesAtsiradimoVietos[0][2]);
		h[1] = GetPlayerDistanceFromPoint(playerid, LigoninesAtsiradimoVietos[1][0], LigoninesAtsiradimoVietos[1][1], LigoninesAtsiradimoVietos[1][2]);
		if(h[0] < h[1])
			{
				SetSpawnInfo(playerid, GetPlayerTeam(playerid), GetPlayerSkin(playerid), LigoninesAtsiradimoVietos[0][0], LigoninesAtsiradimoVietos[0][1], LigoninesAtsiradimoVietos[0][2], LigoninesAtsiradimoVietos[0][3], 0, 0, 0, 0, 0, 0);
			}
			else
			{
				SetSpawnInfo(playerid, GetPlayerTeam(playerid), GetPlayerSkin(playerid), LigoninesAtsiradimoVietos[0][0], LigoninesAtsiradimoVietos[0][1], LigoninesAtsiradimoVietos[0][2], LigoninesAtsiradimoVietos[0][3], 0, 0, 0, 0, 0, 0);
			}
		}
	}
//==============================================================================
stock UzsaldytiZaideja(playerid, Time)
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
		TogglePlayerControllable(playerid, false);
		SetTimerEx("UnfreezePlayer", Time, false, "d", i);
	}
	return 1;
}
//==============================================================================
stock PakeistiKeiksmazodi(string[], Keiksmazodziai[],Simbolis = '*')
{
	new i;
	while((i = strfind(string, Keiksmazodziai, true)) != -1)
	{
	for(new x = (i + strlen(Keiksmazodziai)); i != x; ++i)
	{
		string[i] = Simbolis;
	}
}
	return 1;
}
//==============================================================================
stock strmatch(const String1[], const String2[])
{
    if ((strcmp(String1, String2, true, strlen(String2)) == 0) && (strlen(String2) == strlen(String1)))
    {
        return true;
    }
    else
    {
        return false;
    }
}
//==============================================================================
stock ZaidejoInformacija(playerid)
{
	new String[512], Stringas[512+(MAX_PLAYER_NAME)],Lygiai = 54, Vip[20], Admin[20];

	switch(playerData[playerid][pVIP])
	{
		case 1: Vip = "{006699}BRONZINIS";
		case 2: Vip = "{006699}SIDABRINIS";
		case 3: Vip = "{006699}AUKSINIS";
		default: Vip = "Neturi";
	}
	switch(playerData[playerid][pAdmin])
	{
		case 1: Admin = "{006699}1 lygio";
		case 2: Admin = "{006699}2 lygio";
		case 3: Admin = "{006699}3 lygio";
		case 4: Admin = "{006699}Pagrindinis";
		default: Admin = "Neturi";
	}
	format(Stringas, sizeof(Stringas),
	"{999999}Vardas: {006699}%s\n\
	{999999}Lygis: {006699}%d/%d\n\
	{999999}Kreditai: {006699}%d\n\
	{999999}VIP: {006699}%s\n\
	{999999}Administratorius: {006699}%s\n\
	{999999}Patirtis: {006699}%d {999999}xp\n\
	{999999}Pinigai: {006699}%d {999999}Ђ\n\
	Praћaista: {006699}%d {999999}min.",
	GetPlayerNameEx(playerid),
	playerData[playerid][pLygis],
	Lygiai,
	playerData[playerid][pKreditai],
	Vip,
	Admin,
	GetPlayerScore(playerid),
	GetPlayerMoney(playerid),
	playerData[playerid][pPrazaide]);strcat(String, Stringas);
	ShowPlayerDialog(playerid, DLG_INFO, DIALOG_STYLE_MSGBOX, "{999999}Ћaidėjo informacija", String, "{999999}Gerai", "");
	return 1;
}
//==============================================================================
stock RodytiRegistracija(playerid)
{
    new registracija[364+(MAX_PLAYER_NAME)];format(registracija, sizeof(registracija),
    "{e6e6e6}Sveikas {ff9900}%s\n{e6e6e6}Љiame serveryje esi pirmą kartą, todėl norėdamas ћaisti\n\
	turi uћsiregistruoti,\nsugalvok savo slaptaћodį, kurį naudosi ateityje.\n\
	{32cd32}\tSlaptaћodį turi sudaryti maћiausiai 8 simboliai, ir ne daugiau kaip 40 simbolių\n\
	\tĮterpk į slaptaћodį skaičių bei didћiųjų raidћių, kad būtų kuo sunkesnis",
	GetPlayerNameEx( playerid ));
	ShowPlayerDialog(playerid, DLG_REGISTRACIJA, DIALOG_STYLE_INPUT,
 	"Registracija", registracija, "Tęsti", "Baigti");
}
//==============================================================================
stock RodytiPrisijungima(playerid)
{
	new prisijungimas[128+(MAX_PLAYER_NAME)];
    format(prisijungimas, sizeof(prisijungimas),
    "{e6e6e6}Sveikas {ff9900}%s {e6e6e6}sugriћęs\nĮvesk savo slaptaћodį",
	GetPlayerNameEx( playerid ));
	ShowPlayerDialog(playerid, DLG_PRISIJUNGIMAS, DIALOG_STYLE_PASSWORD,
 	"Prisijungimas", prisijungimas, "Tęsti", "Baigti");

}
//==============================================================================
stock Textdrawai(playerid)
{
	//Spidometras
    Textdraw[0][playerid] = CreatePlayerTextDraw(playerid, 639.000000, 412.750000, "usebox");
	PlayerTextDrawLetterSize(playerid, Textdraw[0][playerid], 0.000000, -0.025000);
	PlayerTextDrawTextSize(playerid, Textdraw[0][playerid], 458.500000, 0.000000);
	PlayerTextDrawAlignment(playerid, Textdraw[0][playerid], 1);
	PlayerTextDrawColor(playerid, Textdraw[0][playerid], 0);
	PlayerTextDrawUseBox(playerid, Textdraw[0][playerid], true);
	PlayerTextDrawBoxColor(playerid, Textdraw[0][playerid], 102);
	PlayerTextDrawSetShadow(playerid, Textdraw[0][playerid], 0);
	PlayerTextDrawSetOutline(playerid, Textdraw[0][playerid], 0);
	PlayerTextDrawFont(playerid, Textdraw[0][playerid], 0);
    ////////////////////////////////////////////////////////////////////////////
	Textdraw[1][playerid] = CreatePlayerTextDraw(playerid, 460.500000, 395.500000, "GREITIS: 222 KM/H");
	PlayerTextDrawLetterSize(playerid, Textdraw[1][playerid], 0.449999, 1.600000);
	PlayerTextDrawAlignment(playerid, Textdraw[1][playerid], 1);
	PlayerTextDrawColor(playerid, Textdraw[1][playerid], 0x969696FF);
	PlayerTextDrawSetShadow(playerid, Textdraw[1][playerid], 0);
	PlayerTextDrawSetOutline(playerid, Textdraw[1][playerid], 1);
	PlayerTextDrawBackgroundColor(playerid, Textdraw[1][playerid], 255);
	PlayerTextDrawFont(playerid, Textdraw[1][playerid], 2);
	PlayerTextDrawSetProportional(playerid, Textdraw[1][playerid], 1);
    ////////////////////////////////////////////////////////////////////////////
	Textdraw[2][playerid] = CreatePlayerTextDraw(playerid, 461.500000, 414.312500, "BUKLE: 1000");
	PlayerTextDrawLetterSize(playerid, Textdraw[2][playerid], 0.449999, 1.600000);
	PlayerTextDrawAlignment(playerid, Textdraw[2][playerid], 1);
	PlayerTextDrawColor(playerid, Textdraw[2][playerid], 0x969696FF);
	PlayerTextDrawSetShadow(playerid, Textdraw[2][playerid], 0);
	PlayerTextDrawSetOutline(playerid, Textdraw[2][playerid], 1);
	PlayerTextDrawBackgroundColor(playerid, Textdraw[2][playerid], 255);
	PlayerTextDrawFont(playerid, Textdraw[2][playerid], 2);
	PlayerTextDrawSetProportional(playerid, Textdraw[2][playerid], 1);
    ////////////////////////////////////////////////////////////////////////////
	Textdraw[3][playerid] = CreatePlayerTextDraw(playerid, 461.500000, 427.437500, "GT");
	PlayerTextDrawLetterSize(playerid, Textdraw[3][playerid], 0.449999, 1.600000);
	PlayerTextDrawAlignment(playerid, Textdraw[3][playerid], 1);
	PlayerTextDrawColor(playerid, Textdraw[3][playerid], -16776961);
	PlayerTextDrawSetShadow(playerid, Textdraw[3][playerid], 0);
	PlayerTextDrawSetOutline(playerid, Textdraw[3][playerid], 1);
	PlayerTextDrawBackgroundColor(playerid, Textdraw[3][playerid], 255);
	PlayerTextDrawFont(playerid, Textdraw[3][playerid], 2);
	PlayerTextDrawSetProportional(playerid, Textdraw[3][playerid], 1);

}
//==============================================================================
stock SleptiTextdrawus(playerid)
{
    PlayerTextDrawHide(playerid, Textdraw[0][playerid]);
	PlayerTextDrawHide(playerid, Textdraw[1][playerid]);
	PlayerTextDrawHide(playerid, Textdraw[2][playerid]);
	PlayerTextDrawHide(playerid, Textdraw[3][playerid]);
}
//==============================================================================
stock GetPlayerSpeed(playerid)
{
    new Float:ST[4];
    if(IsPlayerInAnyVehicle(playerid))
    GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
    else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
    ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 200.25000;
    return floatround(ST[3]);
}
stock Radijas(playerid)
{
    ShowPlayerDialog(playerid, DLG_RADIJAS, DIALOG_STYLE_LIST, "Radijas", "Radiocentras\n\
	Lietus\nM-1\nM-1 Plius\nRuskoje Radio\nZIP FM\nFM99\nKelyje (Klaipėda)\nKelyje (Kaunas)\n\
	EuropeanHitRadio\nRelax FM\nBaltracker\nExtra FM\nUtenos radijas\n\
	Geras FM\nIљjungti radiją", "Gerai", "Baigti");
}
//==============================================================================
//=============================== { TIMERIAI } =================================
task Greitis[100]()
{
    for(new i; i < MAX_PLAYERS; i++)
	{
	    if (IsPlayerConnected(i))
 	   {
	    	if(IsPlayerInAnyVehicle(i))
			{
	   		new getInfo[100], Float:bukle;
			format(getInfo, 50, "GREITIS: ~b~~h~%i KM/H", GetPlayerSpeed(i));
	  		PlayerTextDrawSetString(i, Textdraw[1][i], getInfo);
	  		GetVehicleHealth(GetPlayerVehicleID(i), bukle);
	  		format(getInfo, 50, "BUKLE: ~y~%.0f", bukle/1);
	  		PlayerTextDrawSetString (i, Textdraw[2][i], getInfo);
	  		}
		 }
	}
}
//==============================================================================
task TekstoValymas[7000](playerid)
{
    for(new i; i < MAX_PLAYERS; i++)
	{
		SendClientMessage(i, 0x999999FF, "");
	}
    return 1;
}
//==============================================================================
task Zaidimas[60000]()
{
    for(new p; p < MAX_PLAYERS; p++)
	{
		if (IsPlayerConnected(p))
		{
			playerData[p][pPrazaide] ++;
			SetPlayerScore(p,GetPlayerScore(p)+5);
			GivePlayerMoney(p, 50);
		}
		new XP[55] = {10,30,55,350,500,600,1000,1100,1250,1300,1400,1600,2000,2200,
		2500,2650,2700,3000,3500,3700,4100,4150,4200,4500,5000,5550,5600,6000,6125,6410,
		6700,8000,8125,8200,8250,8270,8350,8500,8600,9000,20000,21150,50000,80000,85000,
		150000,350000,500000,550000,1000000,1050000,1500000,2000000,3500000};
		for(new i = 0; i != sizeof(XP); i++)
		{
			if(GetPlayerScore(p) == XP[i])
			{
 				playerData[p][pLygis] ++;
   				playerData[p][pKreditai] ++;
     			SetPlayerScore(p,GetPlayerScore(p)+10);
     			new str[70];
     			format(str, 70, "[APDOVANOJIMAS]Pasiekėte %d lygį bei gavote 1 kreditą ir 10 XP", playerData[p][pLygis]);
     			SendClientMessage(p, AUKSINE, str);
		}
	}
}
    return 1;

}
//==============================================================================
Reply


Messages In This Thread
Need optimization help - by Algelis - 11.11.2018, 10:00
Re: Need optimization help - by g1venchy - 11.11.2018, 10:56

Forum Jump:


Users browsing this thread: 1 Guest(s)