[Ajuda] Random Checkpoints
#1

Boas,

Entгo pessoal... preciso de ajuda aqui num mini-sistema.


Й o seguinte:

Imaginem um local onde existem 6 veнculos.

A - B - C - D - E - F
[ ] [ ] [ ] [ ] [ ] [ ]



Um jogador digita /CriarCheckpoint e й criado para o jogador um checkpoint em um desses veнculos.

Ficaria tipo assim:

A - B - C - D - E - F
[ ] [ ] [ ] [ ] [ ] [X]



Depois outros jogadores iriam fazer o mesmo e ficaria algo desse tipo:

A - B - C - D - E - F
[X] [X] [X] [X] [X] [X]



Ou seja, iria ser criado 1 checkpoint em um veнculo diferente para cada jogador.

Quando nгo houvesse + veнculos, iria aparecer uma mensagem para o jogador que digitou /CriarCheckpoint de que nгo existem veнculos disponнveis.

Depois os veнculos iriam ser automaticamente spawnados e os jogadores jб podiam criar novos checkpoints.


A minha dъvida й: como posso fazer isso?

Eu sei que existe um sistema de Random, porйm, nгo sei como iria adequar para essa situaзгo, limitando a 6 veнculos e o mesmo checkpoint nгo pode aparecer para 2 jogadores diferentes.


Pronto, basicamente й isso... essa forma pode nгo ser a melhor para vocкs entenderem, porque na verdade nгo tem muito a ver com o que eu estou a fazer. Isso foi apenas para proteger uma ideia. Penso que quem entende de programaзгo vai entender bem isso.
Reply
#2

Quote:
Originally Posted by CyNiC
Посмотреть сообщение
Usando IRL(https://sampforum.blast.hk/showthread.php?tid=269457):
pawn Код:
//Criando nъmeros a ser sorteados:
new RandomList:Loteria;
Loteria = CreateRandomList();
for(new i = 1; i < 51; i++) AddItemsToRandomList(Loteria, i);
//Obter nъmeros random
new Numbers[6];
Numbers[0] = RandomNumberFromList(Loteria);
RemoveItemsFromRandomList(Loteria, Numbers[0]);
Numbers[1] = RandomNumberFromList(Loteria);
RemoveItemsFromRandomList(Loteria, Numbers[1]);
Numbers[2] = RandomNumberFromList(Loteria);
RemoveItemsFromRandomList(Loteria, Numbers[2]);
Numbers[3] = RandomNumberFromList(Loteria);
RemoveItemsFromRandomList(Loteria, Numbers[3]);
Numbers[4] = RandomNumberFromList(Loteria);
RemoveItemsFromRandomList(Loteria, Numbers[4]);
Numbers[5] = RandomNumberFromList(Loteria);
RemoveItemsFromRandomList(Loteria, Numbers[5]);
//Destruindo lista
DestroyRandomList(Loteria);
Usando foreach: (https://sampforum.blast.hk/showthread.php?tid=92679)
pawn Код:
//Criando nъmeros a ser sorteados:
new Iterator:Numeros<50>;
for(new i = 1; i < 51; i++) Itter_Add(Numeros, i);
//Obter nъmeros random
new Numbers[6];
Numbers[0] = Itter_Random(Numeros);
Itter_Remove(Numeros, Numbers[0]);
Numbers[1] = Itter_Random(Numeros);
Itter_Remove(Numeros, Numbers[1]);
Numbers[2] = Itter_Random(Numeros);
Itter_Remove(Numeros, Numbers[2]);
Numbers[3] = Itter_Random(Numeros);
Itter_Remove(Numeros, Numbers[3]);
Numbers[4] = Itter_Random(Numeros);
Itter_Remove(Numeros, Numbers[4]);
Numbers[5] = Itter_Random(Numeros);
Itter_Remove(Numeros, Numbers[5]);
Da uma pesquisada mano.
Reply
#3

Quote:
Originally Posted by zSuYaNw
Посмотреть сообщение
Da uma pesquisada mano.
Nгo entendi muito bem essa explicaзгo...

O 2є link nгo estб funcionando.

Consegue explicar melhor de outra forma pfv?

Obrigado.
Reply
#4

Quote:
Originally Posted by Nenzittow
Посмотреть сообщение
Nгo entendi muito bem essa explicaзгo...

O 2є link nгo estб funcionando.

Consegue explicar melhor de outra forma pfv?

Obrigado.
Hб infinitas formas de se fazer isto, listas encadeadas, tambйm com y_iterate do ****** que o garf postou acima.

y_iterate
Listas Encadeadas
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)