[AJUDA] Menssagens/ Vida do Automovel/ Rand Timer.
#1

Eae pessoal.

[Menssagens]
Eu queria saber como posso fazer ou qual linha ou code posso usar, com que determinada menssagem enviada de um player para todos, aparecer em apenas uma determinada area.

Por exemplo: o prefeito de los santos anuncia algo sobre a cidade de los santos. e apenas os players que estao em los santos possam ler a menssagem. e nao para quem estiver em San Fierro ou Las Venturas.

[Vida do Automovel]
Bom para ser mais real, queria saber se й possivel fazer com que quando um veiculo fique com uns 5 % de vida ele pare de andar, nao explodir, e sу funcionar quando algum mecanico venha arrumar ou entao ser guinchado.
(eu atй tentei fazer, mas quando o player digitar ligar motor, ele volta a andar :X)

[Rand Timer Veiculo]
Bom essa й parecida com a de cima, mas eu queria que depois de algum tempo o veiculo parasse de andar, e acontecesse a mesma coisa que citei acima.
mas porque o rand ?
Pq tmbem nao quero que todo veiculo que o player pegar ele estragar, apenas algum veiculo (Azar de pegar um carro veio xD), e tambem depois de algum tempo que o veiculo estiver sendo usado.


Eu sei que posso estar "pedindo de mais" , mas tambem nao precisa alguem fazer tudo prontinho e entregar pra mim.
apenas poste as linhas nescessarias para q eu possa montar esses sistemas.
Claro, que aquele que me ajudar com todo o code, tera seus creditos em meu servidor.

Agradeзo desde ja, e aguardo.
Reply
#2

o de [Vida do Automovel] tem um aki ..acho que foi o Knife que feiz(Badark)..procura por : Veiculo parar ...algo do tipo...
Reply
#3

bom sobre o [Vida do automovel] eu consegui resolver.

http://forum.sa-mp.com/showthread.ph...=Veiculo+parar

usei este topico e mais algumas ideias (:

agora aguardo alguem que possa me ajuda com os outros codes.
Reply
#4

Tipo, esse rand vocкode fazer assim.

Se a vida do carro tб em 900-1000 a chance й de 1/2
800-900 1/4
700-800 1/5

E por ai vai.
Reply
#5

Bem, com o Luнs Miki jб citou sobre o Rand Timer, vou citar sobre a mensagem .

Bastaria criar uma бrea em volta do territуrio de Los Santos, e depois fazer um IsPlayerInArea: https://sampwiki.blast.hk/wiki/Areacheck


Fiz a funзгo pra vocк, ela mandarб a mensagem para todos que estiverem em Los Santos, incluindo na parte rural de Los Santos que pra min tambйm faz parte .


Ela deverб resolver o seu problema o seu problema .


pawn Код:
stock SendLosSantosMessage(color,string[])
{
    new Float:x,Float:y,Float:z;
    for(new t = 0; t < MAX_PLAYERS; ++t)
    {
        GetPlayerPos(t, x, y, z);
        if(x >= 151.8124 && y >= -2837.724 && x <= 2966.18 && y <= -490.4708)
        {
            SendClientMessage(t,color,string);
            return 1;
        }
    }
    return 0;
}
Daн pra mandar a mensagem faзa algo do tipo:

pawn Код:
SendLosSantosMessage(0xFFFFFFAA,"E ae Galera de Los Santos !");


Espero ter ajudado .
Reply
#6

Obrigado rjjj, aqui deu certo. (:

mas sу uma duvida, para pegar estas cordenadas.

Quote:

if(x >= 151.8124 && y >= -2837.724 && x <= 2966.18 && y <= -490.4708 )

Й o mesmo esquema para fazer territorios de gangues ?

===================
E Luнs Miki.

Й exatamente isso, que eu queria, mas eu atй tentei fazer por uma settimer
mas dai pega todos os veiculos que o player entrar
mesmo se a engine estiver 100%
e eu queria saber como posso fazer para que isso acontecesse apenas para alguns veiculos, ou os veiculos mais velhos (menas "vida"), entende ?
Reply
#7

Quote:
Originally Posted by maikonk
Посмотреть сообщение
Obrigado rjjj, aqui deu certo. (:

mas sу uma duvida, para pegar estas cordenadas.



Й o mesmo esquema para fazer territorios de gangues ?

===================
E Luнs Miki.

Й exatamente isso, que eu queria, mas eu atй tentei fazer por uma settimer
mas dai pega todos os veiculos que o player ....e ?
Sim, para pegar coordenadas da бrea basta vocк pegar 2 pontos (X,Y) de 2 extremidades apostas.
______________________________

Quanto ao "Rand Timer", nгo entendi exatamente o que vocк realmente quer, entгo, desculpe se nгo for o que estб procurando.

Acredito que vocк esteja querendo que o veнculo tenha uma certa "chance" de quebrar, sendo tal chance definida pela vida atual do veнculo. Se for isso, montarei um exemplo, usando uma funзгo "random":

______________________________

Primeiro, criei um temporizador bбsico (Vocк pode defini-lo em uma variбvel para poder destruн-lo mais tarde):
Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
	if(newstate == PLAYER_STATE_DRIVER)
	{
		SetTimerEx("Verificar", random(30*4000), false, "i", playerid);
	}
	return 1;
}
Veja que, no periodo de tempo do temporizador, defini um perнodo de tempo aleatуrio de 0 segundos a 2 minutos, usei um tempo baixo, mais vocк pode defini-lo para um perнodo mais longo.

Agora, na funзгo "Verificar", coloquei o exemplo de quando a vida do veнculo estiver entre 900 e 1000. E sua chance de parar serб de 1/4 (Uma chance, em quatro).
Код:
public Verificar(playerid)
{
	new Float:vVida, rand = random(4);
    
	GetVehicleHealth(vehicleid, vVida);
    
	if(IsPlayerInAnyVehicle(playerid))
	{
		if(vVida >= 900 && vVida <= 1000 && GetPVarInt(playerid, "Parou") == 0)
		{
			switch(rand)
			{
				case 0:
				return TogglePlayerControllable(playerid, 0),
				SendClientMessage(playerid, Cor, "Carro Quebrou!"),
				SetPVarInt(playerid, "Parou",1);
			
				case 1,2,3:
				return TogglePlayerControllable(playerid, 1),
				SendClientMessage(playerid, Cor, "Carro Andando!");
			}
		}
	}
	return 1;
}
Eu defini as pVars para que vocк possa ter a liberdade de "fixar" o veнculo, caso ele pare, para que o jogador nгo saia do mesmo, entre novamente e comece a andar.

Agora, devemos liberar o jogador do veнculo, caso o mesmo quebre:
Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{   
	if(IsPlayerInAnyVehicle(playerid))
	{
		if(GetPVarInt(playerid, "Parou") == 1 && newkeys == KEY_SECONDARY_ATTACK)
		{
			RemovePlayerFromVehicle(playerid);
			TogglePlayerControllable(playerid, 1);
			SetPVarInt(playerid, "Parou",0);
		}
	}
	return 1;
}
Assim, ao pressionar a tecla de sair do veнculo, mesmo este estando quebrando, o jogador sairб normalmente.

Como eu disse acima, й apenas um exemplo para dar-lhe uma noзгo de como a funзгo "random" pode ser usada em seu objetivo. Aprimore-a e monte-a de acordo com seu modo e o objetivo do seu script.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)