[Ajuda]Random D:
#1

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.
Reply
#2

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.
Reply
#3

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.
Reply
#4

Sim, mas o que eu queria era salvar a pos escolhida e usar nas explosхes, se alguem me ajudar ficaria muito grato xP
Reply
#5

pawn Код:
new Float:ExpPos[3];

GetPlayerPos(playerid,ExpPos[0],ExpPos[1],ExpPos[2]);

CreateExplosion( ExpPos[0], ExpPos[1], ExpPos[2], 1, 10);
Assim?
Reply
#6

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.
Reply
#7

Й 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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)