[DUV] Funзгo Randomica.
#1

Como eu crio um 3DTextLabel em cima da cabeзa de um player, com informaзхes contias dentro de um arquivo? (Irei colocar isso no sistema de Gang do SuB)

INFO: Reciclando Tуpico.
Reply
#2

Й bem simples, cara

Use Aleatуria, man. Eu uma vez falei randфmica na aula de portuguкs e a profressora quase me bota pra fora :S

pawn Код:
new FunзгoAleatуria;//Qualquer nome. Serve pra definir nosso random.
FunзгoAleatуria = random([mбximo de cases aqui.]);//Isso ativa o randomizer. Ou o script que faz os nъmeros aqui. Ou seja, com este cуdigo, ele irб escolher um nъmero qualquer entre 0 e o nъmero colocado dentro do random(). Se vocк quer um random dentre nъmeros (Exemplo: Vocк quer um random entre 15 e 20), vocк deve digitar: [nome da sua funзгo que vai servir de random] = [nъmero mнnimo que a random pode escolher] + random([Nъmero mбximo que a random pode escolher]);|| Exemplo: FunзгoAleatуria: 15 + random(20);
switch(FunзгoAleatуria)//Um simples switch para a random :)
{
     case 0:
     {
     //Cуdigo aqui :)
     } (Nгo й necessбrio SEMPRE ser case 0. Se vocк tiver um nъmero mнnimo que a Random deve escolher, coloque-o aqui.
      //Vocк pode tambйm usar em switches um range de cases. Exemplo:
     case 10 ... 15:
     {
     //Executa um cуdigo se o switch resultar um nъmero entre 10 e 15;
     }
     default:
    {
     //Este default serve para se o switch nгo resultar nada dentre nenhum dos casos. Exemplo: Vocк fez um switch do nъmero 0 ao 3. Se o seu switch resultar 4, ou qualquer outro nъmero diferente de 0, 1, 2, ou 3, ele irб executar o default.
     }      
}
//Lembrando que Switches nгo servem somente para nъmeros! Podem servir para letras, e atй strings!

E assim vai.





Espero ter ajudado.

LOOOL AGORA QUE EU VН VOCК MUDOU O TУPICO.


Enfim.


Use Attach3DTextLabelToPlayer

Й simples.

pawn Код:
//Defina em qualquer lugar:
new Text3D:Gang[MAX_PLAYERS]; //Pode ser qualquer nome :)

//Agora, como devo imaginar, vocк deve ter um enum de informaзхes.
//Vamos supor que seu enum se chame JogadorInfo[playerid][jGang];
//Em OnPlayerSpawn, ou em qualquer outro lugar, adicione:
new GangStr[128];
format(GangStr, 128, "Este cara pertence a gangue:\n%s", JogadorInfo[playerid][jGang]); //O \n alн significa pra pular uma linha.
Gang[playerid] = Create3DTextLabel(GangStr, [cor], 0.0, 0.0, 0.0, [distвncia da visгo da textlabel], [virtual world em que ela pode ser vista. Para ser vista em todos, digite -1], [digite 1 aqui para que o TextLabel nгo possa ser visto pelas paredes. Digite 0 para que possa.]); //Cria uma 3DTextLabel.
Attach3DTextLabelToPlayer(Gang[playerid], playerid, 0.0, 0.0, 1.0); //Coloca a 3DTextLabel na cabeзa do player.

//Quando quiser fazer um update da 3DTextLabel:
new GangStr[128];
format(GangStr, 128, "Este cara pertence a gangue:\n%s", JogadorInfo[playerid][jGang]); //Format para a string que vai ser usada como o texto da 3DTextLabel;
Update3DTextLabel(Gang[playerid], [cor], GangStr);

//Por ъltimo, em OnPlayerDisconnect
Update3DTextLabel(Gang[playerid], 0xFFFFFF00, "Se vocк vк isso, vocк tem super poderes.");//Faz com que a 3DTextLabel fique invisнvel. Pois se vocк usar Destroy3DTextLabel, ela vai destruir TODAS as 3DTextLabels da array Gang[MAX_PLAYERS];

Eu acho que isso tem no meu tutorial de pawn.


Enfim, espero ter ajudado di novo
Reply
#3

euri. Dos dois jeitos me ajudou. Eu tinha conseguido um jeito aqui porйm nгo й aleatorio. E o da 3DText eu vou testar aqui.

Mesmo assim Vlw
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)