[AJUDA] Menssagens/ Vida do Automovel/ Rand Timer. -
maikonk - 20.03.2011
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.
Re: [AJUDA] Menssagens/ Vida do Automovel/ Rand Timer. -
[Ips]Guh - 20.03.2011
o de [Vida do Automovel] tem um aki ..acho que foi o Knife que feiz(Badark)..procura por : Veiculo parar ...algo do tipo...
Re: [AJUDA] Menssagens/ Vida do Automovel/ Rand Timer. -
maikonk - 20.03.2011
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.
Re: [AJUDA] Menssagens/ Vida do Automovel/ Rand Timer. -
steki. - 20.03.2011
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.
Re: [AJUDA] Menssagens/ Vida do Automovel/ Rand Timer. - rjjj - 20.03.2011
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
.
Re: [AJUDA] Menssagens/ Vida do Automovel/ Rand Timer. -
maikonk - 20.03.2011
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 ?
Re: [AJUDA] Menssagens/ Vida do Automovel/ Rand Timer. -
LuxurioN™ - 21.03.2011
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.