[Ajuda] Desativar dm em uma area
#1

Bom tem o hospital de ls e queria desativar dm la tipo a pessoa que ta la dentro nгo consegue ter arma e assim que ela sair da area ele recebe as armas da profissгo slб ficaria agradecido.
Reply
#2

Pedido

Acredito nгo ter necessidade de REMOVER as armas do jogador, mas sim definir somente soco.
(outra possibilidade й usar GetPlayerWeaponData e remover as armas e quando sair da бrea, devolvк-las)

Код:
public OnGameModeInit()
{
	SetTimer("DesativarArmas", 1000, true);
}

forward DesativarArmas();
public DesativarArmas()
{
	for(new i = 0; i < MAX_PLAYERS; ++ i)
	{
		if(IsPlayerInRangeOfPoint(i, range, posx, posy, posz))
		{
			if(GetPlayerWeapon(i) != 0)
			{
				GivePlayerWeapon(i , 0, 1);
			}
		}
	}
}
Substitua range, posx, posy, posz pela бrea e posiзгo, respectivamente.
Reply
#3

Se usar GivePlayerWeapon a arma vai pra mгo O.o? nгo sabia achava que sу dava pra fazer isto usando SetArmedWeapon

Mas й oq o F1N4L flw, tu pode usar areas do streamer pra maior velocidade
Reply
#4

Quote:
Originally Posted by Day_
Посмотреть сообщение
Se usar GivePlayerWeapon a arma vai pra mгo O.o? nгo sabia achava que sу dava pra fazer isto usando SetArmedWeapon
Punho e soqueira fazem parte do slot 0, se posso setar soqueira acho que posso setar punho... Mas nunca tentei!
Se nгo funfar tentamos SetArmedWeapon...
Reply
#5

aham
Reply
#6

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Pedido

Acredito nгo ter necessidade de REMOVER as armas do jogador, mas sim definir somente soco.
(outra possibilidade й usar GetPlayerWeaponData e remover as armas e quando sair da бrea, devolvк-las)

Код:
public OnGameModeInit()
{
	SetTimer("DesativarArmas", 1000, true);
}

forward DesativarArmas();
public DesativarArmas()
{
	for(new i = 0; i < MAX_PLAYERS; ++ i)
	{
		if(IsPlayerInRangeOfPoint(i, range, posx, posy, posz))
		{
			if(GetPlayerWeapon(i) != 0)
			{
				GivePlayerWeapon(i , 0, 1);
			}
		}
	}
}
Substitua range, posx, posy, posz pela бrea e posiзгo, respectivamente.
n deu nгo coloquei tudo certo nгo funcionou
Reply
#7

Код:
forward DesativarArmas();
public DesativarArmas()
{
	for(new i = 0; i < MAX_PLAYERS; ++ i)
	{
		if(IsPlayerInRangeOfPoint(i, range, posx, posy, posz))
		{
			if(GetPlayerWeapon(i) != 0)
			{
				SetPlayerArmedWeapon(i, 0);
			}
		}
	}
}
Reply
#8

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Код:
forward DesativarArmas();
public DesativarArmas()
{
	for(new i = 0; i < MAX_PLAYERS; ++ i)
	{
		if(IsPlayerInRangeOfPoint(i, range, posx, posy, posz))
		{
			if(GetPlayerWeapon(i) != 0)
			{
				SetPlayerArmedWeapon(i, 0);
			}
		}
	}
}
muito obrigado deu certo
agora se vocк puder ou quiser que esqueci de falar la em cima, de darvida pro player nessa area tbm....
Reply
#9

Para dar vida й outra coisa man, vocк quer criar uma area neutra ? pq nao falou logo

pawn Код:
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
{
    if (damagedid != INVALID_PLAYER_ID)
    {
        if(IsPlayerInRangeOfPoint(playerid, range, x,y,z ) ||IsPlayerInAreaNeutra(damagedid, range, x,y,z ))
        {
            new Float:vida,Float:Colete;
        GetPlayerHealth(damagedid, vida);
        GetPlayerArmour(damagedid, Colete);
        SetPlayerHealth(damagedid, vida);
        SetPlayerArmour(damagedid, Colete);
        ShowPlayerDialog(playerid, 777, DIALOG_STYLE_MSGBOX, " ", "{FFFFFF}Vocк {FF0000}Nгo,            {FFFFFF}pode bater/atirar em alguem na {00BFFF}Area Neutra!", "OK", "");
        return 1;
        }
        }
        return 1;
}
isso vai fazer com que, quem levou dano nao leve dano rsrs, e vai mandar uma menssagem para o player que atirou ou bateu, no meu gm eu uso uma gangzone, mais isso tbm irar funcionar normalmente.
Reply
#10

Quote:
Originally Posted by Andinho
Посмотреть сообщение
Para dar vida й outra coisa man, vocк quer criar uma area neutra ? pq nao falou logo

pawn Код:
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
{
    if (damagedid != INVALID_PLAYER_ID)
    {
        if(IsPlayerInRangeOfPoint(playerid, range, x,y,z ) ||IsPlayerInAreaNeutra(damagedid, range, x,y,z ))
        {
            new Float:vida,Float:Colete;
        GetPlayerHealth(damagedid, vida);
        GetPlayerArmour(damagedid, Colete);
        SetPlayerHealth(damagedid, vida);
        SetPlayerArmour(damagedid, Colete);
        ShowPlayerDialog(playerid, 777, DIALOG_STYLE_MSGBOX, " ", "{FFFFFF}Vocк {FF0000}Nгo,            {FFFFFF}pode bater/atirar em alguem na {00BFFF}Area Neutra!", "OK", "");
        return 1;
        }
        }
        return 1;
}
isso vai fazer com que, quem levou dano nao leve dano rsrs, e vai mandar uma menssagem para o player que atirou ou bateu, no meu gm eu uso uma gangzone, mais isso tbm irar funcionar normalmente.
da erro ao compilar

pawn Код:
C:\Users\user\Desktop\samp03\gamemodes\GMBNV.pwn(9223) : error 029: invalid expression, assumed zero
e tambem oque coloco no GetPlayerHealth(damagedid, vida);
GetPlayerArmour(damagedid, Colete);
SetPlayerHealth(damagedid, vida);
SetPlayerArmour(damagedid, Colete);
??
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)