[Ajuda]Random D: -
RebeloX - 17.08.2011
Bem estou fazendo meu firesystem, ele ainda estб na versгo BETA, mas hoje reparei em um bug muito sinistro '-'
Vou exemplificar o bug.
Temos 3 Coordenadas a A,B e C.
Dai o server escolhe a coordenada B, e eu usei o CreateExplosion, porque tem uns id's que cria chamas, dai criei um settimer para definir que de 1 em 1 segundo ele criava explosхes durante 1 minuto, sу que o erro й o seguinte, o server escolheu a coordenada B, quando passa para repetir as explosхes ele volta a selecionar outra coordenada ou seja, ele escolhe a B, depois A, e no fim C, e volta ao seguinte, o que eu queria colocar era salvar a coordenada escolhida pelo servidor, vou passar o code do settimer mais o random.
SetTimer
pawn Код:
public RandomBomb()
{
TimeFire = SetTimer("Fire",1000,1);
SetTimer("Bonus",100000,0);
SetTimer("KillFire",60000,0);
}
Random
pawn Код:
forward Fire(playerid);
public Fire(playerid)
{
new Float:X ,Float:Y ,Float:Z;
new rand = random(sizeof(gBombs));
CreateExplosion( gBombs[rand][0], gBombs[rand][1], gBombs[rand][2], 1, 10);
if(Bombeiro[playerid] == true)
{
if(Usado == 0)
{
GetPlayerName(playerid,Nome,MAX_PLAYER_NAME);
format(Str, sizeof(Str),"Oficial %s Estб avendo um incendio vб ate o checkpoint", Nome);
SendClientMessage(playerid,0x1E90FFFF,Str);
if(check[0] != X) { check[0] = X; }
else if(check[1] != Y) { check[1] = Y; }
else if(check[2] != Z) { check[2] = Z; }
SetPlayerCheckpoint(playerid, gBombs[rand][0], gBombs[rand][1], gBombs[rand][2], 8.0);
check[0] = gBombs[rand][0];
check[1] = gBombs[rand][1];
check[2] = gBombs[rand][2];
Usado = 1;
}
}
}
OBS: o KillerTime irб matar a public Fire para nгo repetir mais que 1 minuto, dai recomeзa o sistema novamente, e eu usei o Usado == 1 para ele nгo repetir os checkpoints.
Re: [Ajuda]Random D: -
Colgate - 17.08.2011
Vocк vai ter que tirar o random do timer, se nгo ele randomiza de novo, vai randomiza toda vez que a funзгo fire for acionada.
Re: [Ajuda]Random D: -
ViniBorn - 17.08.2011
pawn Код:
CreateExplosion( gBombs[rand][0], gBombs[rand][1], gBombs[rand][2], 1, 10);
Vocк tб usando random nas coordenadas. Й уbvio que vai sair cada hora em um lugar.
Re: [Ajuda]Random D: -
RebeloX - 17.08.2011
Sim, mas o que eu queria era salvar a pos escolhida e usar nas explosхes, se alguem me ajudar ficaria muito grato xP
Re: [Ajuda]Random D: -
ViniBorn - 17.08.2011
pawn Код:
new Float:ExpPos[3];
GetPlayerPos(playerid,ExpPos[0],ExpPos[1],ExpPos[2]);
CreateExplosion( ExpPos[0], ExpPos[1], ExpPos[2], 1, 10);
Assim?
Re: [Ajuda]Random D: -
RebeloX - 17.08.2011
Sorry mas nгo era assim kk', era tipo assim.
O servidor escolhia a Pos X, e eu queria que essa pos (X) fosse repetida Durante um tempo, (1 minuto), tipo isso.
Re: [Ajuda]Random D: -
Colgate - 17.08.2011
Й sу vocк fazer que nem eu falei, tirar o random de dentro do timer vocк por pode naquele public que chama a o timer fire.