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
#2

maybe deleting all this and starting new one?
like this gamemode doesn't even contain something special and you are including timerfix and other useless things that doesn't write code for you.
you write many rows with same content, but you could just create one function and call it where it's needed to be called.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)