Introdução:
Bem-vindo ao meu tutorial passo a passo sobre como criar spawns aleatórios. Este tutorial foi criado como se eu fosse totalmente novo no peão de scripts, desta forma, tornei o tutorial compreensível para todos os tipos de usuários, de Noobs a Pro's.O tutorial:
Etapa 1: Obtendo as coordenadas
Para criar spawns aleatórios, é claro que precisamos obter as coordenadas que usaremos para nossos spawns aleatórios. Esta é a maneira mais fácil de obter estes:
- Entre no jogo.
- Vá para o local onde deseja que um dos spawns esteja.
- Digite "/ salvar" (sem o "")
- Repita os passos acima até que você tenha todos os seus spawns.
Nota2: Aconselho você a adicionar uma palavra atrás de "/ save" para que você saiba facilmente quais são para os spawns aleatórios.
(Exemplo: / save randomspawn)
Passo 2: Encontrando as coordenadas
No passo 1 nós salvamos nossos spawns e agora é hora de retirá-los do arquivo padrão onde o comando "/ save" salva as posições.
Navegar também
Código:
... \ Meus documentos \ Arquivos de usuário do GTA San Andreas \ SAMPCódigo:
savepositions.txtAgora pesquise no arquivo até encontrar suas posições que estão marcadas com qualquer palavra que você adicionou ao seu comando "/ save" (no tutorial isso será randomspawn).
Passo 3: Convertendo as coordenadas
No passo 2 localizamos as posições, agora teremos que fazer com que elas se encaixem em nosso array.
NOTA IMPORTANTE: Esta ferramenta pode converter as coordenadas automaticamente !! Graças a JaTochNietDan
Copie todas as posições dos seus pontos de spawn e cole-os dentro do seu modo de jogo (ou onde você quiser que os spawns aleatórios estejam)
Código:
AddPlayerClass (101,1249.7258, -2047.9263,59.9209,90.2055,0,0,0,0,0,0); // Randomspawn AddPlayerClass (101,1241.2084, -2057.6521,60.0190,94.9352,0,0,0,0,0,0); // Randomspawn AddPlayerClass (101,1241.0105, -2052.6873,59.9975,2.8144,0,0,0,0,0,0); // Randomspawn AddPlayerClass (101.718.4906, -1477.3024,5.4688,357.9947,0,0,0,0,0,0); // Randomspawn AddPlayerClass (101,722.3772, -1477.2856,5.4688,272.3814,0,0,0,0,0,0); // Randomspawn
O que é o que?
Código:
AddPlayerClass (skinid, x, y, z, ângulo, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo)Para nossos spawns aleatórios, precisaremos apenas das coordenadas x, y, z e do ângulo.
Código:
1249.7258, -2047.9263, 59.9209, 90.2055 // Randomspawn 1241.2084, -2057.6521, 60.0190, 94.9352 // Randomspawn 1241.0105, -2052.6873, 59.9975, 2.8144 // Randomspawn 718.4906, -1477.3024, 5.4688, 357.9947 // Randomspawn 722.3772, -1477.2856, 5.4688, 272.3814 // Randomspawn
Código:
novo Float: RandomSpawns [] [] = { {1249.7258, -2047.9263, 59.9209, 90.2055}, // Randomspawn {1241.2084, -2057.6521, 60.0190, 94.9352}, // Randomspawn {1241.0105, -2052.6873, 59.9975, 2.8144}, // Randomspawn {718.4906, -1477.3024, 5.4688, 357.9947}, // Randomspawn {722.3772, -1477.2856, 5.4688, 272.3814} // Randomspawn };
Nossa que isso?
É hora de explicar, você não acha:
Código:
novo Float: RandomSpawns [] [] = { };
- novo é a palavra padrão para indicar a criação de uma nova variável, array, ....
- Float indica que os dados dentro da matriz serão Floats.
- RandomSpawns é o nome da matriz (você pode alterar isso se quiser, mas lembre-se de alterá-lo em todos os lugares em que iremos usá-lo!)
- O primeiro [] é deixado em branco para que não tenhamos que alterar o número quando adicionarmos mais spawns, isso basicamente permite dados ilimitados.
- O segundo [] é deixado em branco para que não tenhamos que alterar o número quando quisermos adicionar mais dados a um spawn. (Exemplo: x, y, z, ângulo, pele, arma)
- O resto do código deve ser bem fácil de entender.
Código:
{1249.7258, -2047.9263, 59.9209, 90.2055}, // RandomspawnCódigo:
{x, y, z, ângulo}, // RandomspawnEtapa 4: Criando o código de spawn
Nas etapas anteriores fizemos tudo contendo as coordenadas, agora é hora de usá-las!
O array deve estar no mesmo script onde colocaremos este trecho de código!
Achar
Código:
public OnPlayerSpawn (playerid) { return 1; }
Depois de encontrar esta função, é hora de criar a desova aleatória real.
Código:
public OnPlayerSpawn (playerid) { novo Random = random (sizeof (RandomSpawns)); SetPlayerPos (playerid, RandomSpawns [Random] [0], RandomSpawns [Random] [1], RandomSpawns [Random] [2]); SetPlayerFacingAngle (playerid, RandomSpawns [Random] [3]); return 1; }
- random (sizeof (RandomSpawns)) é uma função que escolhe aleatoriamente um número de uma determinada quantidade. O sizeof (RandomPlayerSpawns) gera automaticamente a quantidade de dados dentro da matriz, neste exemplo, 5.
- SetPlayerPos: Clique em mim
- RandomSpawns [Random] [0] representa a coordenada x que corresponde ao número que nossa variável "Random" contém.
- RandomSpawns [Random] [1] representa a coordenada y.
- RandomSpawns [Random] [2] representa a coordenada z.
- SetPlayerFacingAngle: Clique em mim
- RandomSpawns [Random] [3] representa o ângulo.
Palavras finais:
Parabéns! Você criou um spawn aleatório e as informações fornecidas devem permitir que você altere o que quiser sem problemas.

0 Comentários