/count
#1

i have a problem with that count(appear at all players online
Код:
if(strcmp(cmdtext,"/count",true) == 0)
	{
		new pName[30];
		if(Event[playerid] == 1 || PlayerInfo[playerid][pAdmin] >= 1)
		{
		   	if (aaa == false)
			{
			   	aaa = true;
   				GetPlayerName(playerid, pName, 30);
   				new Float:x, Float:y, Float:z;
   				GetPlayerPos(playerid,x,y,z);
				for(new i=0; i < MAX_PLAYERS; i++)
				{
					if(IsPlayerInRangeOfPoint(i,30.5,x,y,z))//radi = 30.5
					{
					    format(string,sizeof(string),"   {FFD900}*** {00FFFF}%s {FFD900}has started the count",pName);
					    SendClientMessage(i,COLOR_WHITE,string);
						GameTextForPlayer(i,"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~g~-~y~ 3 ~g~-",1000,3);
						TogglePlayerControllable(i,0);
						SetTimer("unfreeze1",3000,0);
					}
				}
   				SetTimer("count2",1000,0);
		 		SetTimer("count1",2000,0);
		   		SetTimer("countgo",3000,0);
   				SetTimer("stop",6000,0);
			}
	   		else SendClientMessage(playerid, 0xFF9900AA, "Its allready started!");
	   		return 1;
		}
		else SendClientMessage(playerid, COLOR_GRAD1, "   Numaratoare se foloseste doar la {FFB300}event");
  	}
Код:
forward count2();
public count2()
{
	new Float:x, Float:y, Float:z;
	new playerid;
	GetPlayerPos(playerid,x,y,z);
	for(new i=0; i < MAX_PLAYERS; i++)
	{
		if(IsPlayerInRangeOfPoint(i,30.5,x,y,z))//radi = 30.5
		{
			GameTextForPlayer(i,"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~g~-~y~ 2 ~g~-",1000,3);
			TogglePlayerControllable(i,0);
			SetTimer("unfreeze2",2000,0);
		}
	}
}
forward count1();
public count1()
{
	new Float:x, Float:y, Float:z;
	new playerid;
    GetPlayerPos(playerid,x,y,z);
	for(new i=0; i < MAX_PLAYERS; i++)
	{
		if(IsPlayerInRangeOfPoint(i,30.5,x,y,z))//radi = 30.5
		{
			GameTextForPlayer(i,"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~g~-~y~ 1 ~g~-",1000,3);
			TogglePlayerControllable(i,0);
			SetTimer("unfreeze1",1000,0);
		}
	}
}
forward countgo();
public countgo()
{
	new Float:x, Float:y, Float:z;
	new playerid;
	GetPlayerPos(playerid,x,y,z);
	for(new i=0; i < MAX_PLAYERS; i++)
	{
		if(IsPlayerInRangeOfPoint(i,30.5,x,y,z))//radi =30.5
		{
		    TogglePlayerControllable(i,1);
			GameTextForPlayer(i,"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~g~-~y~]~g~-~y~START~g~-~y~]~g~-",1000,3);
			PlayerPlaySound(i,1057,x,y,z);
		}
	}
}

forward stop();
public stop()
{
	aaa = false;
}
forward unfreeze3();
public unfreeze3()
{
    for(new i; i < MAX_PLAYERS; i++)
	{
    	TogglePlayerControllable(i,1);
	}
}
forward unfreeze2();
public unfreeze2()
{
    for(new i; i < MAX_PLAYERS; i++)
	{
    	TogglePlayerControllable(i,1);
	}
}
forward unfreeze1();
public unfreeze1()
{
    for(new i; i < MAX_PLAYERS; i++)
	{
    	TogglePlayerControllable(i,1);
	}
}
Reply
#2

Use GameTextForAll instead of GameTextForPlayer.
Reply
#3

I want the text to appear only the players who is in range of points
Reply
#4

You have to set range for it like use proxdector etc.This will send message of gametext to player's only near you like:
pawn Код:
stock 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;
        new invehicle[MAX_PLAYERS];
        new virtualworld = GetPlayerVirtualWorld(playerid);
        new interior = GetPlayerInterior(playerid);
        new vehicleid = GetPlayerVehicleID(playerid);
        new ivehicleid;
        if(vehicleid)
        {
            GetVehiclePos(vehicleid,oldposx,oldposy,oldposz);
        }
        else
        {
            GetPlayerPos(playerid, oldposx, oldposy, oldposz);
            vehicleid = GetPlayerVehicleID(playerid);
        }
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                if(!BigEar[i])
                {
                    if(GetPlayerVirtualWorld(i) == virtualworld)
                    {
                        if((GetPlayerInterior(i) == interior))
                        {
                            if(vehicleid)
                            {
                                if(IsPlayerInVehicle(i,vehicleid)) invehicle[i] = 1;
                            }
                            if(!invehicle[i])
                            {
                                if(IsPlayerInAnyVehicle(i))
                                {
                                    ivehicleid = GetPlayerVehicleID(i);
                                    GetVehiclePos(ivehicleid,posx,posy,posz);
                                }
                                else
                                {
                                    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);
                        }
                    }
                }
                else SendClientMessage(i, col1, string);
            }
        }
    }
    return 1;
}
I use this in my script.
And then use it in commands.
pawn Код:
ProxDetector(30.0, playerid, string, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE);
Reply
#5

but how i cand w\use that in gametextforplayer?
Reply
#6

pawn Код:
stock 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;
        new invehicle[MAX_PLAYERS];
        new virtualworld = GetPlayerVirtualWorld(playerid);
        new interior = GetPlayerInterior(playerid);
        new vehicleid = GetPlayerVehicleID(playerid);
        new ivehicleid;
        if(vehicleid)
        {
            GetVehiclePos(vehicleid,oldposx,oldposy,oldposz);
        }
        else
        {
            GetPlayerPos(playerid, oldposx, oldposy, oldposz);
            vehicleid = GetPlayerVehicleID(playerid);
        }
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                if(!BigEar[i])
                {
                    if(GetPlayerVirtualWorld(i) == virtualworld)
                    {
                        if((GetPlayerInterior(i) == interior))
                        {
                            if(vehicleid)
                            {
                                if(IsPlayerInVehicle(i,vehicleid)) invehicle[i] = 1;
                            }
                            if(!invehicle[i])
                            {
                                if(IsPlayerInAnyVehicle(i))
                                {
                                    ivehicleid = GetPlayerVehicleID(i);
                                    GetVehiclePos(ivehicleid,posx,posy,posz);
                                }
                                else
                                {
                                    GetPlayerPos(i,posx,posy,posz);GameTextForPlayer(
                                }
                                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 GameTextForPlayer(i, col1, string,5000,5);
                        }
                    }
                }
                else GameTextForPlayer(i, string,5000,5);
            }
        }
    }
    return 1;
}
first add this stock in your script and then I have edited your script,
use this:
pawn Код:
forward count2();
public count2()
{
    new Float:x, Float:y, Float:z;
    new playerid;
    GetPlayerPos(playerid,x,y,z);
    for(new i=0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerInRangeOfPoint(i,30.5,x,y,z))//radi = 30.5
        {
            //GameTextForPlayer(i,"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~g~-~y~ 2 ~g~-",1000,3);
            ProxDetector(30.0, playerid, string, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE);
            TogglePlayerControllable(i,0);
            SetTimer("unfreeze2",2000,0);
        }
    }
}
forward count1();
public count1()
{
    new Float:x, Float:y, Float:z;
    new playerid;
    GetPlayerPos(playerid,x,y,z);
    for(new i=0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerInRangeOfPoint(i,30.5,x,y,z))//radi = 30.5
        {
            //GameTextForPlayer(i,"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~g~-~y~ 1 ~g~-",1000,3);
            ProxDetector(30.0, playerid, string, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE);
            TogglePlayerControllable(i,0);
            SetTimer("unfreeze1",1000,0);
        }
    }
}
forward countgo();
public countgo()
{
    new Float:x, Float:y, Float:z;
    new playerid;
    GetPlayerPos(playerid,x,y,z);
    for(new i=0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerInRangeOfPoint(i,30.5,x,y,z))//radi =30.5
        {
            TogglePlayerControllable(i,1);
            //GameTextForPlayer(i,"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~g~-~y~]~g~-~y~START~g~-~y~]~g~-",1000,3);
            ProxDetector(30.0, playerid, string, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE);
            PlayerPlaySound(i,1057,x,y,z);
        }
    }
}
if(strcmp(cmdtext,"/count",true) == 0)
    {
        new pName[30];
        if(Event[playerid] == 1 || PlayerInfo[playerid][pAdmin] >= 1)
        {
            if (aaa == false)
            {
                aaa = true;
                GetPlayerName(playerid, pName, 30);
                new Float:x, Float:y, Float:z;
                GetPlayerPos(playerid,x,y,z);
                for(new i=0; i < MAX_PLAYERS; i++)
                {
                        format(string,sizeof(string),"   {FFD900}*** {00FFFF}%s {FFD900}has started the count",pName);
                        SendClientMessage(i,COLOR_WHITE,string);
                        //GameTextForPlayer(i,"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~g~-~y~ 3 ~g~-",1000,3);
                        ProxDetector(30.0, playerid, string, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE);
                        TogglePlayerControllable(i,0);
                        SetTimer("unfreeze1",3000,0);
                }
                SetTimer("count2",1000,0);
                SetTimer("count1",2000,0);
                SetTimer("countgo",3000,0);
                SetTimer("stop",6000,0);
            }
            else SendClientMessage(playerid, 0xFF9900AA, "Its allready started!");
            return 1;
        }
        else SendClientMessage(playerid, COLOR_GRAD1, "   Numaratoare se foloseste doar la {FFB300}event");
    }
forward stop();
public stop()
{
    aaa = false;
}
forward unfreeze3();
public unfreeze3()
{
    for(new i; i < MAX_PLAYERS; i++)
    {
        TogglePlayerControllable(i,1);
    }
}
forward unfreeze2();
public unfreeze2()
{
    for(new i; i < MAX_PLAYERS; i++)
    {
        TogglePlayerControllable(i,1);
    }
}
forward unfreeze1();
public unfreeze1()
{
    for(new i; i < MAX_PLAYERS; i++)
    {
        TogglePlayerControllable(i,1);
    }
}
Don't paste it as it it,edit it first as you want.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)