Page 1 of 1

RandomSpawns

Posted: Mon Oct 24, 2011 5:47 am
by RoberTo
[center][font=comic sans ms]RandomSpawns Tutorial[/font][/center]
Astazi va voi arata in niste pasi cum sa faceti un RandomSpawn(s)!
La ce imi trebuie?
Pei dupa cum bine observati din Titlu, va veti Spawn-a in mai multe locuri, nu in acelasi de fiecare data!
[hr]
Sa incepem Tutorialul!
[center][font=trebuchet ms]Pas 1![/font][/center]
Pentru a crea un RandomSpawn trebuie sa aflam Coordonatele acelui post:
Va duceti in sa-mp , in post-urile in care vreti s va spawnati si dati /save!(fara !)
Daca ati mai salvat ceva puneti cam asa (doar daca vreti nu e neaaparat) /save RandomSpawn sau /save RS, sau cum vreti voi sa fie numele acelui post!
[hr]
[center][font=trebuchet ms]Pas 2![/font][/center]
Acum trebuie sa gasim coordonatele:
Depinde de versiunea de samp pe care o folositi:
0.2x-0.3a:

Code: Select all

Gta San Andreas\savedposition.txt 
0.3b:

Code: Select all

My Documents\GTA San Andreas User Files\SAMP\savedposition.txt
Deschideti savedposition.txt si veti gasi Coordonatele!
[hr]
[center][font=trebuchet ms]Pas 3![/font][/center]
Veti gasi ceva de genul:

Code: Select all

AddPlayerClass(97,1212.7212,-2034.9263,59.9254,90.2055,0,0,0,0,0,0); // RS sau RandomSpawn
AddPlayerClass(97,1243.2084,-2057.6554,60.0187,94.9352,0,0,0,0,0,0); // RS sau RandomSpawn
AddPlayerClass(97,1238.0105,-2052.6873,59.9975,2.8144,0,0,0,0,0,0); // RS sau RandomSpawn
Aceasta functie inseamna:

Code: Select all

AddPlayerClass(skinid, x, y, z, angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo)
Pentru a afla mai multe apasa Aici
[hr]
Acum sa bagam Coordonatele in GM.
Nu uitati ca trebuie sa bagati doar x, y ,z si angle daca vreti, cam asa:

Code: Select all

1212.7212,-2034.9263,59.9254,90.2055 // RS sau RandomSpawn
1243.2084,-2057.6554,60.0187,94.9352 // RS sau RandomSpawn
1238.0105,-2052.6873,59.9975,2.8144 // RS sau RandomSpawn
Dar nu asa il bagam in GM :D!
Ci asa:

Code: Select all

new Float:RandomSpawns[3][] = 
{
    {1212.7212,-2034.9263,59.9254,90.2055}, // RS sau RandomSpawn
    {1243.2084,-2057.6554,60.0187,94.9352}, // RS sau RandomSpawn
    {1238.0105,-2052.6873,59.9975,2.8144} // RS sau RandomSpawn
};
3 = Cate coordonate sunt.
Coordonatele trebuiesc mereu bagate intre:

Code: Select all

{
};
[hr]
Acum sa va explic ce contine functia(coordonatele):

Code: Select all

    {1238.0105,-2052.6873,59.9975,2.8144} // RS sau RandomSpawn
Cam asta contine:

Code: Select all

    {x, y, z, angle} // RS sau RandomSpawn
Nu puneti niciodata "" la coordonate!
[hr]
[center][font=trebuchet ms]Pas 4![/font][/center]
Acum sa facem(punem) piesa de rezistenta:
Aceasta se pune la OnPlayerSpawn:

Code: Select all

public OnPlayerSpawn(playerid)
{
    return 1;
}
[hr]
Si punem:

Code: Select all

public OnPlayerSpawn(playerid)
{
    new Random = random(sizeof(RandomPlayerSpawns));
    SetPlayerPos(playerid, RandomSpawns[Random][0], RandomSpawns[Random][1], RandomSpawns[Random][2]);
    SetPlayerFacingAngle(playerid, RandomSpawns[Random][3]);
    return 1;
}
Daca nu ati pus angle scoateti:

Code: Select all

    SetPlayerFacingAngle(playerid, RandomSpawns[Random][3]);
[hr]
Functii folosite:
SetPlayerPos: Aici
SetPlayerFacingAngle: Aici
[hr]
[center][font=comic sans ms][glow=navy,2,300]Sper ca data viitoare sa reusiti si singuri![/glow][/font][/center]