vendredi 6 avril 2012

GTA San Andreas - Créer un serveur SAMP et le modifer

Bonjour ! Il y a bien longtemps, j'avais créer un serveur SAMP, depuis j'en est recréer un. Donc je vais vous expliquer comment en faire un !!!


I ) Préalable


A ) Téléchargements


Le préalable, c'est déjà d'avoir SAMP, bon je pense que tout le monde devrais l'avoir.
=> Je vous le mai quand même : Cliquer ici (Tuto)
 Puis d'avoir les fichiers pour créer le serveur:
=> Je vous mes le lien direct POUR WINDOWS : Ici (version 0.3d R2)
=> Et la POUR LINUX : Ici (version 0.3d R2 linux server)

B) Linux Server


/????\ C'est quoi linux ?
Linux, c'est pareil que windows (Un système d'exploitation) mais linux ne supporte pas les jeux et est plus professionnel que windows.


/????\ Pourquoi linux est en téléchargement libre sur le site de samp ?
Pourquoi ? C'est tout simple, pour moi un serveur, et pour tous, c'est un gros un ordi qui tourne tout le temps et qui n'a pas d'écran. j'ai oublier un petit détaille assez important :


Exemple: car on comprend toujours mieux avec des exemples !
Quand vous vous connecter a un serveur sur samp, votre ordi va envoyer une requête au serveur, et le server va répondre a votre demande.
Maintenant, prenez le serveur du restaurant, si le serveur est la va vous servir, mais s'il n'est pas la, vous n'aller pas être servi. Et ba la on est dans la même cas.


Et maintenant, je reviens a linux. Un serveur est hébergé par des entreprises (Enfin je crois), et ces la que vous pourrez hébergé votre propre serveur et qu'il soit jour et nuit en marche ! Et les serveur que héberge les entreprises, il son sous linux ! Et donc, vous devrez vous renseigner au hébergeurs s'il utilisent linux comme serveur. Mais c'est pour vous dire, il y a quasiment que sa !


(PS: j'ai pas fait hébergé mon serveur, il est juste étain tout le temps)


ouffff ! C'est fini la lecture, maintenant on passe a l'action !!!


II ) Avant la création, la configuration !


 OK, c'est bon on a tout téléchargée on prêt !

A ) Précaution


Normalement vous avez un téléchargée un fichier .zip (Fichier de winrar, z-zip, ...) en gros en comprsseur de fichiers.


Dézipper le fichier ou vous voulez !


/Attention\ éviter de le mettre dans le bureau, car si jamais votre disque dur se plante ou crash enfin ce que vous voulez vous perdez facilement le serveur !


B ) Configuration du serveur


A présent, vous avez un dossier nommer "server" (Si sa n'a pas changer). Aller dedans et vous voyer maintenant des dossiers et des fichiers, voici votre SERVEUR !!


Il y a un fichier .cfg nommer "server", ouvrez-le
suivez les indication :


echo Executing Server Config...
lanmode 0 >toucher pas
rcon_password >mot_de-passe
maxplayers 50 >le nombre de joueur
port 7777 >le port, laisser sa ne serre a rien si vous le changer mais on s'en servira après
hostname nom_du_serveur
gamemode0 >on verra après
filterscripts >toucher pas et on verra après
announce >toucher pas
query 1 >toucher pas
weburl www.sa-mp.com > vous pouvez
toucher si vous avez prévu un site pour votre serveur
onfoot_rate 40 >la rate de coup de poing
incar_rate 40 >la rate dans la voiture (je vois pas ce que sais)
weapon_rate 40 >la rate des armes
stream_distance 300.0 >toucher pas sauf si vous connaissez
stream_rate 1000 >idem
maxnpc 0 >toucher pas
logtimeformat [%H:%M:%S] >idem
Bref je vous explique la ligne "gamemode0":
vous avez du voir un dossier nommé "gamemode" dans le dossier server, et bien ces la que se trouveras le(s) script(s) de votre server. A oui j'oubliais, soit vous téléchargée un gamemode sur internet ou vous faite votre propre gamemode. Sinon pour faire son propre gamemode, il faut le programmer !
(PS: mon avis c'est un langage de pas bien fait !)


Voila, on va voir après un peu le code mais, il est complexe donc des trucs du style, comment mettre une voiture, perso... ...et bien d'autre choses !

III ) Exportation ou mise dans samp pour jouer.

Maintenant, en quelque sorte on va se servir de son ordinateur comme serveur qui n'a pas les capacité de serveur mais capable de faire comme un serveur. Si vous n'avez pas compris ce que je viens de dire, en gros votre ordinateur va rien avoir du tout il ne faut pas d’inquiété !

Sinon la, je vais vous demander de faire un choix. A ou B, sachant que A vous avez un risque qu'on vous pirate votre ordinateur sauf si vous l'hébergé sur un serveur. Choisissez B si vous voulez l'hébergé sur votre ordinateur, mais un inconvénient, vous devrez téléchargée un logicielle pour que votre(vos) ami(e)(s) vienne sur votre serveur samp.

A ) 1ère solution (A vos risque de votre ordinateur sauf si il est hébergé par un serveur)


OK maintenant je ne vais pas vous demander de comprendre, aller dans le menu démarré de votre ordinateur:
 tous les programmes > accessoires > invite des commandes
Puis taper "ipconfig". Vous trouverez quelque lignes, une ligne va nous intéresser, la ou il y a marquer "adresse IPv4" aller au bout de la ligne et vous aurez marquer des chiffres avec des point:
Sous cette forme: 192.168.X.XX
X = nombre que je ne connais pas !

B ) 2ème solution (Sans risque sur votre ordinateur mais un inconvénient)

Cette méthode consiste à créer un autre réseau. Téléchargée Hamachi ICI ! *L'installation durent quelques minutes

Une fois fait, faite créer réseaux :
• réseau > créer un réseau.
• ID réseau et mot de passe.


L'autre ordinateur qui veut ce connecter à votre serveur devra faire:
• réseau > Rejoindre un réseau.
• Taper l'id réseau.
• Taper le mot de passe.

C'est pour ça que je parle d'inconvénient !

C ) Mise en ligne
Ouvrer samp et ajouter un serveur en favori:
• ajouter les chiffres que vous avez vu (192.168...) !
OU vous avez fait le B :
• ajouter les autres chiffres
 Il ne vous reste qu'une chose a faire, allumer votre serveur le temps que votre PC soit allumer ! Aller dans le dossier server que vous avez dézziper au début puis cliquer sur samp-server.exe .
Normalement une boite noir s'ouvre, comme celle qu'on a utiliser tout a leur, et elle est censé ne pas se fermer.


Si elle se ferme, reprenez le B du II.

Une fois fait, BRAVOS vous avez créer votre serveur !!
double cliquer dessus et c'est parti a jouer tout seul !

IV ) Le code, le gamemode du serveur (Programmation)


La vous ne serez pas obliger de suivre !
Inscrivez-vous et téléchargée un gamemode a cette adresse si vous voulez pas programmer !


Donc le code, plus précisément, un langage propre à samp, cela s'appelle du pawn, d’où le logicielle pawno !

• Ouvrer pawno (Qui ce trouve dans le dossier server), faite la fiche blanche (en gros new ou nouveau) puis enregistrer dans le dossier gamemode sous le nom que vous voulez !

• ouvrer server.cfg (toujours dans le dossier server) puis supprimer la ligne à part gamemode puis rajouter le nom de votre fichier que vous venez d’enregistrer.

• Revenez sur pawno copier tous et supprimer tous et coller ça à la place :

#include <a_samp>
#include <core>
#include <float>
#include "../include/voiture.inc"
static gTeam[MAX_PLAYERS];
new gPlayerClass[MAX_PLAYERS];
new total_vehicles_from_files=0
forward SetupPlayerForClassSelection(playerid);
#define PM_INCOMING_COLOR     0xFFFF22AA
#define PM_OUTGOING_COLOR     0xFFCC2299
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_WHITE 0xFFFFFFAA
#define NOIR 0x000000FF
#define BLANC 0xFFFFFFFF
#define ROUGE 0xFF0000FF
#define ADMINFS_MESSAGE_COLOR 0xFF444499
#define TEAM_GROVE 1
#define TEAM_BALLA 2
#define TEAM_GROVE_COLOR 0x00FF00AA // Bright Green (in RGBA format)
#define TEAM_BALLA_COLOR 0xFF00FFAA // Bright Purple
#define REASON_CRASH        0 //Timed out
#define REASON_LEAVE        1 //Left normally (/q or ESC menu and quit)
#define REASON_KICK         2 //Kicked
#define REASON_BAN          3 //Banned
#define REASON_RECONNECT    4 //Custom reconnect function
#define REASON_DEATH        0
native ReconnectPlayer(playerid);
native CrashPlayer(playerid);
// new playerget = GetPlayerName();
// printf (%g, playerget);






public OnGameModeInit()
{
    SetGameModeText("nom du gamemode");
    ShowPlayerMarkers(1);
    SetWorldTime(01);
    AllowInteriorWeapons(1);

// Votre personnage: AddPlayerClass(ID de votre Skin, posX, PosY, PosZ, RotX, RotY, armes 1, munition arme 1, arme 2, munition arme 2, arme 3, munition arme 3);
    AddPlayerClass(0,1547.4220,-1610.3519,13.3828,269.6430,38,1000000,31,1000000,34,1000000); // CJ
  
        // policier
    AddPlayerClass(265,1579.463,-1635.264,13.56143,269.6430,3,1000000,23,1000000,34,1000000); // Tenpenny
    AddPlayerClass(266,1579.463,-1635.264,13.56143,269.6430,3,1000000,23,1000000,34,1000000); // Pulaski
    AddPlayerClass(267,1579.463,-1635.264,13.56143,269.6430,3,1000000,23,1000000,34,1000000); // Hernandez
    AddPlayerClass(280,1579.463,-1635.264,13.56143,269.6430,3,1000000,23,1000000,34,1000000); // spawn
    AddPlayerClass(281,1579.463,-1635.264,13.56143,269.6430,3,1000000,23,1000000,34,1000000); // spawn
    AddPlayerClass(282,1579.463,-1635.264,13.56143,269.6430,3,1000000,23,1000000,34,1000000); // spawn
    AddPlayerClass(283,1579.463,-1635.264,13.56143,269.6430,3,1000000,23,1000000,34,1000000); // spawn
    AddPlayerClass(284,1579.463,-1635.264,13.56143,269.6430,3,1000000,23,1000000,34,1000000); // spawn
    AddPlayerClass(285,1579.463,-1635.264,13.56143,269.6430,3,1000000,23,1000000,34,1000000); // spawn
    AddPlayerClass(286,1579.463,-1635.264,13.56143,269.6430,29,1000000,23,1000000,34,1000000); // F.B.I
    AddPlayerClass(287,1579.463,-1635.264,13.56143,269.6430,38,1000000,8,1000000,39,1000000); // Militaire
    AddPlayerClass(288,1579.463,-1635.264,13.56143,269.6430,3,1000000,23,1000000,34,1000000); // Shérif du désert
  
    // Gangs Groove
    AddPlayerClass(269,2485.002,-1668.986,13.33595,269.6430,38,1000000,31,1000000,34,1000000); // Big Smoke
    AddPlayerClass(270,2485.002,-1668.986,13.33595,269.6430,38,1000000,31,1000000,34,1000000); // Sweet
    AddPlayerClass(271,2485.002,-1668.986,13.33595,269.6430,38,1000000,31,1000000,34,1000000); // Ryder

    // other
    AddPlayerClass(292,1719.118,-1603.739,13.54688,269.6430,38,1000000,31,1000000,34,1000000); // Cesar
    AddPlayerClass(250,1719.118,-1603.739,13.54688,269.6430,38,1000000,31,1000000,34,1000000); // spawn
    AddPlayerClass(249,1719.118,-1603.739,13.54688,269.6430,38,1000000,31,1000000,34,1000000); // spawn
    AddPlayerClass(100,1719.118,-1603.739,13.54688,269.6430,38,1000000,31,1000000,34,1000000); // spawn
    AddPlayerClass(15,1719.118,-1603.739,13.54688,269.6430,38,1000000,31,1000000,34,1000000); // spawn
    AddPlayerClass(28,1719.118,-1603.739,13.54688,269.6430,38,1000000,31,1000000,34,1000000); // spawn
    AddPlayerClass(131,1719.118,-1603.739,13.54688,269.6430,38,1000000,31,1000000,39,1000000);     AddPlayerClass(40,1719.118,-1603.739,13.54688,269.6430,38,1000000,31,1000000,39,1000000);     AddPlayerClass(29,1719.118,-1603.739,13.54688,269.6430,38,1000000,31,1000000,39,1000000);     AddPlayerClass(34,1719.118,-1603.739,13.54688,269.6430,38,1000000,31,1000000,39,1000000);   
  



// Vos véhicules : AddStaticVehicle(ID de votre Voiture, posX, PosY, PosZ, RotX, Couleur 1, Couleur 2);
// Los Santo
    AddStaticVehicle(411,1560.1447,-1607.2573,13.6134,177.4725,3,3);
    AddStaticVehicle(560,1567.0615,-1606.6888,13.6159,180.5685,6,6);
    AddStaticVehicle(506,1573.7769,-1606.3861,13.6168,180.2195,0,0);
    AddStaticVehicle(497,1592.8611,-1619.3246,13.6311,265.8031,-1,-1);
    AddStaticVehicle(522,1554.8679,-1634.2294,13.7895,268.7030,3,1);
    AddStaticVehicle(468,1566.1501,-1634.3081,13.7869,270.7630,252,252);
    AddStaticVehicle(587,1533.8961,-841.2318,64.8144,94.9158,40,1); // Euros
    AddStaticVehicle(487,1543.7959,-1352.9675,329.6492,268.4221,29,42); // Maverick ls phtdj
    AddStaticVehicle(410,2058.1125,-1636.2084,13.1803,268.0590,3,1); // mini
    AddStaticVehicle(482,2065.9226,-1636.4720,13.6647,270.9148,48,48); // buritos
    AddStaticVehicle(602,2013.4738,-1596.2610,13.3820,135.3425,69,1); // alpha 1
    AddStaticVehicle(603,1841.3038,-1871.1031,13.2276,180.2613,69,1); // 603
    AddStaticVehicle(603,1394.9862,-2242.3665,13.3851,0.5493,69,1); // 603 in LS airoport
    AddStaticVehicle(603,1330.3986,-1239.1462,13.3854,338.6710,69,1); // 603 in amustation LS


  
  
    // Trains LS, SF, LV + station
    AddStaticVehicle(537,1700.7551,-1953.6531,14.8756,200.0,-1,-1); // train LS
    AddStaticVehicle(438,818.5524,-1332.5916,13.4701,90.4924,6,76); // cabbi marcket station ls
    AddStaticVehicle(438,829.9993,-1332.7109,13.4711,90.0641,6,76); // cabbi marcket station ls 2
    AddStaticVehicle(515,2055.1333,-1940.0701,14.3458,269.7146,24,77); // camion ac remorque ls près de la station de train
    AddStaticVehicle(537,-1942.7950,168.4164,27.0006,200.0,-1,-1); // train SF
    AddStaticVehicle(537,1462.0745,2630.8787,10.8203,200.0,-1,-1); // train LV
    AddStaticVehicle(537,2276.3416,-2114.8298,13.7711,200.0,-1,-1); // train LV
  

  
    // Groove Street
    AddStaticVehicle(492,2509.6309,-1668.1626,13.2247,11.2028,2,26); // Sweet car
    AddStaticVehicle(600,2473.4805,-1693.7561,13.2297,1.5888,30,8); // car ryder
    AddStaticVehicle(475,2505.6187,-1693.7401,13.3615,0.3188,252,252); // Sabre car carl ls
    AddStaticVehicle(506,2445.7004,-1761.5432,13.2926,180.6316,6,6); // super gt a coté
    AddStaticVehicle(444,2456.9526,-1784.5660,13.8861,272.7161,32,42); // monster truck groove street
    AddStaticVehicle(609,2361.9197,-1782.0269,13.6192,359.7249,36,36); // Boxville pr cambriolage
    AddStaticVehicle(609,2361.8413,-1798.6212,13.6148,359.7263,36,36); // boxville pr cambriolage 2
  
    // Centre ville (Départ des civil)
    AddStaticVehicle(600,1716.2108,-1579.3416,13.2634,180.5492,32,8); // picadore ls centre ville
    AddStaticVehicle(589,1716.3083,-1571.9229,13.2050,177.9662,31,31); // club ls centre ville
    AddStaticVehicle(562,1707.0463,-1535.0332,13.1021,357.9888,35,1); // elegy ls centre ville
    AddStaticVehicle(541,1706.2732,-1542.5348,13.0840,358.5641,58,8); // bullet ls centre ville

  
    // Garage police ls
    AddStaticVehicle(596,1600.9396,-1687.9734,5.6124,89.8306,0,1); // police ls 1
    AddStaticVehicle(596,1558.6647,-1710.6329,5.6118,0.2017,0,1); // police ls 2
    AddStaticVehicle(601,1591.2819,-1710.8077,5.6493,358.6438,1,1); // S.A.W.T ls garage police
    AddStaticVehicle(427,1601.8854,-1684.0798,6.0225,91.4994,0,1); // van police garge ls
    AddStaticVehicle(427,1584.8351,-1607.2172,13.5146,181.9265,0,1); // van police ls
  
    // pompier et ambulance
    AddStaticVehicle(407,1748.5750,-1455.5059,13.7784,270.1349,3,1); // van pompier ls
    AddStaticVehicle(416,2033.0380,-1437.4197,17.3774,166.3325,1,3); // ambulance ls
  
    // Skate parck
    AddStaticVehicle(481,1917.8060,-1403.2473,13.0824,241.9391,3,3); // BMX
    AddStaticVehicle(510,1940.7592,-1408.1123,13.1793,23.3638,46,46); // VTT

    // LS airoport et parcking voiture + ocean dock
    AddStaticVehicle(519,1806.1066,-2406.8108,14.4731,220.1901,1,1) ;
    AddStaticVehicle(519,1851.0873,-2397.0818,14.4738,221.0776,1,1) ;
    AddStaticVehicle(519,1881.2903,-2364.6726,14.4760,231.6925,1,1) ; // jet priver
    AddStaticVehicle(593,1990.4940,-2400.4700,14.0069,126.8314,58,8) ; // dodo
    AddStaticVehicle(553,1954.6254,-2436.8525,14.8759,117.2574,55,23); // airoport ls nevada
    AddStaticVehicle(511,1789.4178,-2522.4492,14.9217,54.8837,4,90); // airoport ls beagle
    AddStaticVehicle(460,2351.6680,-2508.7383,1.8641,162.5516,1,30); // ocean dock ls skimer
    AddStaticVehicle(476,1778.7820,-2532.2405,14.2537,49.7271,7,6); // rustler 1
    AddStaticVehicle(476,1705.7207,-2530.2646,14.2537,45.1285,7,6); // rustler 2
    AddStaticVehicle(476,1544.9803,-2622.3672,14.2587,319.8249,7,6); // rustler 3
    AddStaticVehicle(476,1681.6730,-2623.3938,14.2537,281.2889,7,6); // rustler 4

  
    // ocean dock base militaire
  
    AddStaticVehicle(470,2777.4788,-2434.6421,13.6284,92.1222,43,0); // pat 1
    AddStaticVehicle(470,2777.4517,-2439.7070,13.6309,90.2862,43,0); // pat 2
    AddStaticVehicle(470,2778.5347,-2447.6919,13.6271,180.1082,43,0); // pat 3
    AddStaticVehicle(530,2780.8472,-2410.3828,13.4005,179.9911,112,1); // charioelev 1
    AddStaticVehicle(530,2777.9534,-2410.3821,13.4015,180.6325,114,1); // charioelev 2
    AddStaticVehicle(500,2766.1494,-2389.3103,13.7404,95.2057,40,84); // 500
    AddStaticVehicle(433,2792.1125,-2454.5432,14.0691,86.5402,43,0); // 433 van militaire
    AddStaticVehicle(433,2726.5349,-2392.9534,14.0695,89.4489,43,0); // 433 van militaire entré
  
  
    // Parking voitures ls  aéroport
    AddStaticVehicle(415,1560.6111,-2315.5901,13.3207,269.5740,25,1); // cheetah airoport ls
    // AddStaticVehicle(432,272.6756,1990.3163,17.6533,268.2450,43,0); // tank engare 2
    AddStaticVehicle(425,360.9012,1956.8245,18.3015,176.0409,43,0); // heli de chasse
  
    // autoroute ls
    AddStaticVehicle(411,2111.4790,-1545.8251,2.3810,243.4359,64,1); // infernus en panne ls autoroute
    AddStaticVehicle(525,2120.6475,-1549.2700,2.5101,259.3753,17,20); // depanneuse autoroute ls

    // pizza ls
    AddStaticVehicle(448,2103.5103,-1770.5983,12.9938,66.9678,3,6); // pizzaboy 1
    AddStaticVehicle(448,2102.8245,-1771.7499,12.9880,73.0635,3,6); // pizzaboy 2
    AddStaticVehicle(448,2102.8091,-1772.9287,12.9898,76.5358,3,6); // pizzaboy 3
    AddStaticVehicle(448,2102.5581,-1774.1206,12.9888,77.9360,3,6); // pizzaboy 4
    AddStaticVehicle(521,2096.2688,-1812.9006,12.9499,268.5355,75,13); // moto customer pizza
    AddStaticVehicle(603,2095.1423,-1820.4349,13.2208,270.9107,69,1); // phoenix customer pizza
    AddStaticVehicle(517,2095.3611,-1800.6780,13.2377,269.5375,40,36); // voiture ballas customer pizza
    AddStaticVehicle(400,2157.0027,-1808.2125,13.4746,179.7097,123,1); // motel customer ls
    AddStaticVehicle(456,2113.3833,-1781.0908,13.5629,358.4870,91,63); // van livraison pizza ls
  
    // Lowriders + a coter
    AddStaticVehicle(412,1805.3616,-1914.3459,13.2325,358.9399,10,8); // lowrider 1
    AddStaticVehicle(575,1777.5537,-1916.9597,12.9902,268.2851,19,96); // lowriders 2
    AddStaticVehicle(534,1793.4875,-1913.5588,13.1201,352.2615,42,42); // lowrider 3
    AddStaticVehicle(576,1794.8685,-1904.8032,13.0091,171.9786,68,96); // lowider 4
    AddStaticVehicle(575,1798.9297,-1919.1760,12.9975,19.0024,31,64); // lowrider 5
    AddStaticVehicle(576,1786.4537,-1920.2117,13.0002,326.5441,72,1); // lowrider 6
    AddStaticVehicle(534,1776.3177,-1897.4714,13.1091,195.4715,53,53); // lowrider 7
    AddStaticVehicle(412,1785.7335,-1901.7354,13.2321,152.4405,25,8); // lowrider 8
    AddStaticVehicle(574,1671.3428,-1892.9181,13.2720,91.5249,26,26); // lave sol
  
    // place et star
    AddStaticVehicle(411,1065.2076,-1366.8171,13.1099,1.4286,64,1); // infernus place
    AddStaticVehicle(412,1065.2035,-1342.1174,13.2195,0.0912,10,8); // savana place
    AddStaticVehicle(600,1050.7627,-1342.1967,13.0961,181.0812,32,8); // industriail place
    AddStaticVehicle(506,1050.6840,-1188.9806,20.4291,181.2439,6,6); // spergt place
    AddStaticVehicle(507,1065.0686,-1232.7369,16.3761,179.8447,42,42); // elegent place
    AddStaticVehicle(510,1077.4388,-1209.9154,17.0754,83.0921,39,39); // BMX place
    AddStaticVehicle(507,1010.0384,-1137.1566,23.4308,89.6795,0,0); // elegent star place 1
    AddStaticVehicle(507,1028.7340,-1137.7981,23.4811,90.1299,0,0); // elegent star place 2
    AddStaticVehicle(409,1019.3593,-1137.6741,23.4400,89.2498,1,1); // limousine star place
  
    // confernece centre
    AddStaticVehicle(420,1224.7386,-1826.9194,13.3722,270.6447,0,0); // conference centre taxi 1
    AddStaticVehicle(420,1237.5007,-1818.1884,13.3869,358.5525,0,0); // confer centre taxi 2




//San Fierro
    // Sf Airoport
    AddStaticVehicle(447,-1211.8110,-7.3242,14.1621,38.3023,1,3); // sparow airoport sf
    AddStaticVehicle(592,-1548.3496,-55.9912,15.3424,316.3760,1,1); // 1er avion de ligne SF airoport
  
    AddStaticVehicle(520,-1453.7855,502.5403,19.1844,92.5409,0,0); // hydra 1 sf port avion
    AddStaticVehicle(520,-1293.5402,501.9189,18.9574,270.3964,0,0); // hydra 2 sf porteavion
    AddStaticVehicle(548,-1429.3977,506.6845,19.8714,56.2208,1,1); // helico qtp    qtp = qui tire pas
    AddStaticVehicle(425,-1414.6099,518.6611,18.8142,87.9465,43,0); // helico de chasse sf porteavion
    AddStaticVehicle(470,-1528.4761,445.6746,7.1782,266.5498,43,0); // pat 1 near portevion
    AddStaticVehicle(470,-1302.1940,478.4663,7.1805,183.8289,43,0); // pet 2 near proteavion
    AddStaticVehicle(470,-1453.4915,455.0349,7.1775,1.3563,43,0); // pat 3 près du porteavion
    AddStaticVehicle(470,-1449.3273,455.7984,7.1798,2.4087,43,0); // pat 4 près du porte avion
    AddStaticVehicle(548,-1256.0192,475.0715,8.8598,90.1089,1,1); // helico qtp près du porteavion
    AddStaticVehicle(430,-1390.2512,422.5616,-0.3280,271.6352,46,26); // predator police 1 sf
    AddStaticVehicle(430,-1404.5720,431.1919,-0.1814,269.4843,46,26); // predator 2 sf
    AddStaticVehicle(473,-1163.2181,379.2838,-0.2389,318.0025,56,53); // petit bateaux
  
// Las Venturas
    AddStaticVehicle(451,2040.0520,1319.2799,10.3779,183.2439,16,16);
    AddStaticVehicle(429,2040.5247,1359.2783,10.3516,177.1306,13,13);
    AddStaticVehicle(421,2110.4102,1398.3672,10.7552,359.5964,13,13);
    AddStaticVehicle(411,2074.9624,1479.2120,10.3990,359.6861,64,64);
    AddStaticVehicle(477,2075.6038,1666.9750,10.4252,359.7507,94,94);
    AddStaticVehicle(541,2119.5845,1938.5969,10.2967,181.9064,22,22);
    AddStaticVehicle(541,1843.7881,1216.0122,10.4556,270.8793,60,1);
    AddStaticVehicle(402,1944.1003,1344.7717,8.9411,0.8168,30,30);
    AddStaticVehicle(402,1679.2278,1316.6287,10.6520,180.4150,90,90);
    AddStaticVehicle(415,1685.4872,1751.9667,10.5990,268.1183,25,1);
    AddStaticVehicle(411,2034.5016,1912.5874,11.9048,0.2909,123,1);
    AddStaticVehicle(411,2172.1682,1988.8643,10.5474,89.9151,116,1);
    AddStaticVehicle(429,2245.5759,2042.4166,10.5000,270.7350,14,14);
    AddStaticVehicle(477,2361.1538,1993.9761,10.4260,178.3929,101,1);
    AddStaticVehicle(550,2221.9946,1998.7787,9.6815,92.6188,53,53);
    AddStaticVehicle(558,2243.3833,1952.4221,14.9761,359.4796,116,1);
    AddStaticVehicle(587,2276.7085,1938.7263,31.5046,359.2321,40,1);
    AddStaticVehicle(587,2602.7769,1853.0667,10.5468,91.4813,43,1);
    AddStaticVehicle(603,2610.7600,1694.2588,10.6585,89.3303,69,1);
    AddStaticVehicle(587,2635.2419,1075.7726,10.5472,89.9571,53,1);
    AddStaticVehicle(437,2577.2354,1038.8063,10.4777,181.7069,35,1);
    AddStaticVehicle(535,2039.1257,1545.0879,10.3481,359.6690,123,1);
    AddStaticVehicle(535,2009.8782,2411.7524,10.5828,178.9618,66,1);
    AddStaticVehicle(429,2010.0841,2489.5510,10.5003,268.7720,1,2);
    AddStaticVehicle(415,2076.4033,2468.7947,10.5923,359.9186,36,1);
    AddStaticVehicle(487,2093.2754,2414.9421,74.7556,89.0247,26,57);
    AddStaticVehicle(506,2352.9026,2577.9768,10.5201,0.4091,7,7);
    AddStaticVehicle(506,2166.6963,2741.0413,10.5245,89.7816,52,52);
    AddStaticVehicle(411,1960.9989,2754.9072,10.5473,200.4316,112,1);
    AddStaticVehicle(429,1919.5863,2760.7595,10.5079,100.0753,2,1);
    AddStaticVehicle(415,1673.8038,2693.8044,10.5912,359.7903,40,1);
    AddStaticVehicle(402,1591.0482,2746.3982,10.6519,172.5125,30,30);
    AddStaticVehicle(603,1580.4537,2838.2886,10.6614,181.4573,75,77);
    AddStaticVehicle(550,1555.2734,2750.5261,10.6388,91.7773,62,62);
    AddStaticVehicle(535,1455.9305,2878.5288,10.5837,181.0987,118,1);
    AddStaticVehicle(477,1537.8425,2578.0525,10.5662,0.0650,121,1);
    AddStaticVehicle(451,1433.1594,2607.3762,10.3781,88.0013,16,16);
    AddStaticVehicle(603,2223.5898,1288.1464,10.5104,182.0297,18,1);
    AddStaticVehicle(558,2451.6707,1207.1179,10.4510,179.8960,24,1);
    AddStaticVehicle(550,2461.7253,1357.9705,10.6389,180.2927,62,62);
    AddStaticVehicle(558,2461.8162,1629.2268,10.4496,181.4625,117,1);
    AddStaticVehicle(477,2395.7554,1658.9591,10.5740,359.7374,0,1);
    AddStaticVehicle(404,1553.3696,1020.2884,10.5532,270.6825,119,50);
    AddStaticVehicle(400,1380.8304,1159.1782,10.9128,355.7117,123,1);
    AddStaticVehicle(418,1383.4630,1035.0420,10.9131,91.2515,117,227);
    AddStaticVehicle(404,1445.4526,974.2831,10.5534,1.6213,109,100);
    AddStaticVehicle(400,1704.2365,940.1490,10.9127,91.9048,113,1);
    AddStaticVehicle(404,1658.5463,1028.5432,10.5533,359.8419,101,101);
    AddStaticVehicle(581,1677.6628,1040.1930,10.4136,178.7038,58,1);
    AddStaticVehicle(581,1383.6959,1042.2114,10.4121,85.7269,66,1);
    AddStaticVehicle(581,1064.2332,1215.4158,10.4157,177.2942,72,1);
    AddStaticVehicle(581,1111.4536,1788.3893,10.4158,92.4627,72,1);
    AddStaticVehicle(522,953.2818,1806.1392,8.2188,235.0706,3,8);
    AddStaticVehicle(522,995.5328,1886.6055,10.5359,90.1048,3,8);
    AddStaticVehicle(521,993.7083,2267.4133,11.0315,1.5610,75,13);
    AddStaticVehicle(535,1439.5662,1999.9822,10.5843,0.4194,66,1);
    AddStaticVehicle(522,1430.2354,1999.0144,10.3896,352.0951,6,25);
    AddStaticVehicle(522,2156.3540,2188.6572,10.2414,22.6504,6,25);
    AddStaticVehicle(598,2277.6846,2477.1096,10.5652,180.1090,0,1);
    AddStaticVehicle(598,2268.9888,2443.1697,10.5662,181.8062,0,1);
    AddStaticVehicle(598,2256.2891,2458.5110,10.5680,358.7335,0,1);
    AddStaticVehicle(598,2251.6921,2477.0205,10.5671,179.5244,0,1);
    AddStaticVehicle(523,2294.7305,2441.2651,10.3860,9.3764,0,0);
    AddStaticVehicle(523,2290.7268,2441.3323,10.3944,16.4594,0,0);
    AddStaticVehicle(523,2295.5503,2455.9656,2.8444,272.6913,0,0);
    AddStaticVehicle(522,2476.7900,2532.2222,21.4416,0.5081,8,82);
    AddStaticVehicle(522,2580.5320,2267.9595,10.3917,271.2372,8,82);
    AddStaticVehicle(522,2814.4331,2364.6641,10.3907,89.6752,36,105);
    AddStaticVehicle(535,2827.4143,2345.6953,10.5768,270.0668,97,1);
    AddStaticVehicle(521,1670.1089,1297.8322,10.3864,359.4936,87,118);
    AddStaticVehicle(487,1614.7153,1548.7513,11.2749,347.1516,58,8);
    AddStaticVehicle(487,1647.7902,1538.9934,11.2433,51.8071,0,8);
    AddStaticVehicle(487,1608.3851,1630.7268,11.2840,174.5517,58,8);
    AddStaticVehicle(476,1283.0006,1324.8849,9.5332,275.0468,7,6); //11.5332
    AddStaticVehicle(476,1283.5107,1361.3171,9.5382,271.1684,1,6); //11.5382
    AddStaticVehicle(476,1283.6847,1386.5137,11.5300,272.1003,89,91);
    AddStaticVehicle(476,1288.0499,1403.6605,11.5295,243.5028,119,117);
    AddStaticVehicle(415,1319.1038,1279.1791,10.5931,0.9661,62,1);
    AddStaticVehicle(521,1710.5763,1805.9275,10.3911,176.5028,92,3);
    AddStaticVehicle(521,2805.1650,2027.0028,10.3920,357.5978,92,3);
    AddStaticVehicle(535,2822.3628,2240.3594,10.5812,89.7540,123,1);
    AddStaticVehicle(521,2876.8013,2326.8418,10.3914,267.8946,115,118);
    AddStaticVehicle(429,2842.0554,2637.0105,10.5000,182.2949,1,3);
    AddStaticVehicle(549,2494.4214,2813.9348,10.5172,316.9462,72,39);
    AddStaticVehicle(549,2327.6484,2787.7327,10.5174,179.5639,75,39);
    AddStaticVehicle(549,2142.6970,2806.6758,10.5176,89.8970,79,39);
    AddStaticVehicle(521,2139.7012,2799.2114,10.3917,229.6327,25,118);
    AddStaticVehicle(521,2104.9446,2658.1331,10.3834,82.2700,36,0);
    AddStaticVehicle(521,1914.2322,2148.2590,10.3906,267.7297,36,0);
    AddStaticVehicle(549,1904.7527,2157.4312,10.5175,183.7728,83,36);
    AddStaticVehicle(549,1532.6139,2258.0173,10.5176,359.1516,84,36);
    AddStaticVehicle(521,1534.3204,2202.8970,10.3644,4.9108,118,118);
    AddStaticVehicle(549,1613.1553,2200.2664,10.5176,89.6204,89,35);
    AddStaticVehicle(400,1552.1292,2341.7854,10.9126,274.0815,101,1);
    AddStaticVehicle(404,1637.6285,2329.8774,10.5538,89.6408,101,101);
    AddStaticVehicle(400,1357.4165,2259.7158,10.9126,269.5567,62,1);
    AddStaticVehicle(411,1281.7458,2571.6719,10.5472,270.6128,106,1);
    AddStaticVehicle(522,1305.5295,2528.3076,10.3955,88.7249,3,8);
    AddStaticVehicle(521,993.9020,2159.4194,10.3905,88.8805,74,74);
    AddStaticVehicle(415,1512.7134,787.6931,10.5921,359.5796,75,1);
    AddStaticVehicle(522,2299.5872,1469.7910,10.3815,258.4984,3,8);
    AddStaticVehicle(522,2133.6428,1012.8537,10.3789,87.1290,3,8);
  
    //Monday 13th Additions ~ Jax
    AddStaticVehicle(415,2266.7336,648.4756,11.0053,177.8517,0,1); //
    AddStaticVehicle(461,2404.6636,647.9255,10.7919,183.7688,53,1); //
    AddStaticVehicle(506,2628.1047,746.8704,10.5246,352.7574,3,3); //
    AddStaticVehicle(549,2817.6445,928.3469,10.4470,359.5235,72,39); //
    // --- uncommented
    AddStaticVehicle(562,1919.8829,947.1886,10.4715,359.4453,11,1); //
    AddStaticVehicle(562,1881.6346,1006.7653,10.4783,86.9967,11,1); //
    AddStaticVehicle(562,2038.1044,1006.4022,10.4040,179.2641,11,1); //
    AddStaticVehicle(562,2038.1614,1014.8566,10.4057,179.8665,11,1); //
    AddStaticVehicle(562,2038.0966,1026.7987,10.4040,180.6107,11,1); //
    // --- uncommented end

    //Uber haxed
    AddStaticVehicle(422,9.1065,1165.5066,19.5855,2.1281,101,25); //
    AddStaticVehicle(463,19.8059,1163.7103,19.1504,346.3326,11,11); //
    AddStaticVehicle(463,12.5740,1232.2848,18.8822,121.8670,22,22); //
    //AddStaticVehicle(434,-110.8473,1133.7113,19.7091,359.7000,2,2); //hotknife
    AddStaticVehicle(586,69.4633,1217.0189,18.3304,158.9345,10,1); //
    AddStaticVehicle(586,-199.4185,1223.0405,19.2624,176.7001,25,1); //
    //AddStaticVehicle(605,-340.2598,1177.4846,19.5565,182.6176,43,8); // SMASHED UP CAR
    AddStaticVehicle(476,325.4121,2538.5999,17.5184,181.2964,71,77); //
    AddStaticVehicle(476,291.0975,2540.0410,17.5276,182.7206,7,6); //
    AddStaticVehicle(576,384.2365,2602.1763,16.0926,192.4858,72,1); //
    AddStaticVehicle(586,423.8012,2541.6870,15.9708,338.2426,10,1); //
    AddStaticVehicle(586,-244.0047,2724.5439,62.2077,51.5825,10,1); //
    AddStaticVehicle(586,-311.1414,2659.4329,62.4513,310.9601,27,1); //

    //uber haxed x 50
    //AddStaticVehicle(406,547.4633,843.0204,-39.8406,285.2948,1,1); // DUMPER
    //AddStaticVehicle(406,625.1979,828.9873,-41.4497,71.3360,1,1); // DUMPER
    //AddStaticVehicle(486,680.7997,919.0510,-40.4735,105.9145,1,1); // DOZER
    //AddStaticVehicle(486,674.3994,927.7518,-40.6087,128.6116,1,1); // DOZER
    AddStaticVehicle(543,596.8064,866.2578,-43.2617,186.8359,67,8); //
    AddStaticVehicle(543,835.0838,836.8370,11.8739,14.8920,8,90); //
    AddStaticVehicle(549,843.1893,838.8093,12.5177,18.2348,79,39); //
    //AddStaticVehicle(605,319.3803,740.2404,6.7814,271.2593,8,90); // SMASHED UP CAR
    AddStaticVehicle(400,-235.9767,1045.8623,19.8158,180.0806,75,1); //
    AddStaticVehicle(599,-211.5940,998.9857,19.8437,265.4935,0,1); //
    AddStaticVehicle(422,-304.0620,1024.1111,19.5714,94.1812,96,25); //
    AddStaticVehicle(588,-290.2229,1317.0276,54.1871,81.7529,1,1); //
    //AddStaticVehicle(424,-330.2399,1514.3022,75.1388,179.1514,2,2); //BF INJECT
    AddStaticVehicle(451,-290.3145,1567.1534,75.0654,133.1694,61,61); //
    AddStaticVehicle(470,280.4914,1945.6143,17.6317,310.3278,43,0); //
    AddStaticVehicle(470,272.2862,1949.4713,17.6367,285.9714,43,0); //
    AddStaticVehicle(470,271.6122,1961.2386,17.6373,251.9081,43,0); //
    AddStaticVehicle(470,279.8705,1966.2362,17.6436,228.4709,43,0); //
    //AddStaticVehicle(548,292.2317,1923.6440,19.2898,235.3379,1,1); // CARGOBOB
    AddStaticVehicle(433,277.6437,1985.7559,18.0772,270.4079,43,0); //
    AddStaticVehicle(433,277.4477,1994.8329,18.0773,267.7378,43,0); //
    //AddStaticVehicle(432,275.9634,2024.3629,17.6516,270.6823,43,0); // Tank (can cause scary shit to go down)
    AddStaticVehicle(568,-441.3438,2215.7026,42.2489,191.7953,41,29); //
    AddStaticVehicle(568,-422.2956,2225.2612,42.2465,0.0616,41,29); //
    AddStaticVehicle(568,-371.7973,2234.5527,42.3497,285.9481,41,29); //
    AddStaticVehicle(568,-360.1159,2203.4272,42.3039,113.6446,41,29); //
    AddStaticVehicle(468,-660.7385,2315.2642,138.3866,358.7643,6,6); //
    AddStaticVehicle(460,-1029.2648,2237.2217,42.2679,260.5732,1,3); //

    //Uber haxed x 100

    // --- uncommented
    AddStaticVehicle(419,95.0568,1056.5530,13.4068,192.1461,13,76); //
    AddStaticVehicle(429,114.7416,1048.3517,13.2890,174.9752,1,2); //
    //AddStaticVehicle(466,124.2480,1075.1835,13.3512,174.5334,78,76); // exceeds model limit
    AddStaticVehicle(411,-290.0065,1759.4958,42.4154,89.7571,116,1); //
    // --- uncommented end
    AddStaticVehicle(522,-302.5649,1777.7349,42.2514,238.5039,6,25); //
    AddStaticVehicle(522,-302.9650,1776.1152,42.2588,239.9874,8,82); //
    AddStaticVehicle(533,-301.0404,1750.8517,42.3966,268.7585,75,1); //
    AddStaticVehicle(535,-866.1774,1557.2700,23.8319,269.3263,31,1); //
    AddStaticVehicle(550,-799.3062,1518.1556,26.7488,88.5295,53,53); //
    AddStaticVehicle(521,-749.9730,1589.8435,26.5311,125.6508,92,3); //
    AddStaticVehicle(522,-867.8612,1544.5282,22.5419,296.0923,3,3); //
    AddStaticVehicle(554,-904.2978,1553.8269,25.9229,266.6985,34,30); //
    AddStaticVehicle(521,-944.2642,1424.1603,29.6783,148.5582,92,3); //
    // Exceeds model limit, cars need model adjustments
    // --- uncommented
    AddStaticVehicle(429,-237.7157,2594.8804,62.3828,178.6802,1,2); //
    //AddStaticVehicle(431,-160.5815,2693.7185,62.2031,89.4133,47,74); //
    AddStaticVehicle(463,-196.3012,2774.4395,61.4775,303.8402,22,22); //
    //AddStaticVehicle(483,-204.1827,2608.7368,62.6956,179.9914,1,5); //
    //AddStaticVehicle(490,-295.4756,2674.9141,62.7434,359.3378,0,0); //
    //AddStaticVehicle(500,-301.5293,2687.6013,62.7723,87.9509,28,119); //
    //AddStaticVehicle(500,-301.6699,2680.3293,62.7393,89.7925,13,119); //
    AddStaticVehicle(519,-1341.1079,-254.3787,15.0701,321.6338,1,1); //
    AddStaticVehicle(519,-1371.1775,-232.3967,15.0676,315.6091,1,1); //
    //AddStaticVehicle(552,-1396.2028,-196.8298,13.8434,286.2720,56,56); //
    //AddStaticVehicle(552,-1312.4509,-284.4692,13.8417,354.3546,56,56); //
    //AddStaticVehicle(552,-1393.5995,-521.0770,13.8441,187.1324,56,56); //
    //AddStaticVehicle(513,-1355.6632,-488.9562,14.7157,191.2547,48,18); //
    //AddStaticVehicle(513,-1374.4580,-499.1462,14.7482,220.4057,54,34); //
    //AddStaticVehicle(553,-1197.8773,-489.6715,15.4841,0.4029,91,87); //
    //AddStaticVehicle(553,1852.9989,-2385.4009,14.8827,200.0707,102,119); //
    //AddStaticVehicle(583,1879.9594,-2349.1919,13.0875,11.0992,1,1); //
    //AddStaticVehicle(583,1620.9697,-2431.0752,13.0951,126.3341,1,1); //
    //AddStaticVehicle(583,1545.1564,-2409.2114,13.0953,23.5581,1,1); //
    //AddStaticVehicle(583,1656.3702,-2651.7913,13.0874,352.7619,1,1); //
    AddStaticVehicle(519,1642.9850,-2425.2063,14.4744,159.8745,1,1); //
    AddStaticVehicle(519,1734.1311,-2426.7563,14.4734,172.2036,1,1); //
    // --- uncommented end

    AddStaticVehicle(415,-680.9882,955.4495,11.9032,84.2754,36,1); //
    AddStaticVehicle(460,-816.3951,2222.7375,43.0045,268.1861,1,3); //
    AddStaticVehicle(460,-94.6885,455.4018,1.5719,250.5473,1,3); //
    AddStaticVehicle(460,1624.5901,565.8568,1.7817,200.5292,1,3); //
    AddStaticVehicle(460,1639.3567,572.2720,1.5311,206.6160,1,3); //
    AddStaticVehicle(460,2293.4219,517.5514,1.7537,270.7889,1,3); //
    AddStaticVehicle(460,2354.4690,518.5284,1.7450,270.2214,1,3); //
    AddStaticVehicle(460,772.4293,2912.5579,1.0753,69.6706,1,3); //

    // 22/4 UPDATE
    AddStaticVehicle(560,2133.0769,1019.2366,10.5259,90.5265,9,39); //
    AddStaticVehicle(560,2142.4023,1408.5675,10.5258,0.3660,17,1); //
    AddStaticVehicle(560,2196.3340,1856.8469,10.5257,179.8070,21,1); //
    AddStaticVehicle(560,2103.4146,2069.1514,10.5249,270.1451,33,0); //
    AddStaticVehicle(560,2361.8042,2210.9951,10.3848,178.7366,37,0); //
    AddStaticVehicle(560,-1993.2465,241.5329,34.8774,310.0117,41,29); //
    AddStaticVehicle(559,-1989.3235,270.1447,34.8321,88.6822,58,8); //
    AddStaticVehicle(559,-1946.2416,273.2482,35.1302,126.4200,60,1); //
    AddStaticVehicle(558,-1956.8257,271.4941,35.0984,71.7499,24,1); //
    AddStaticVehicle(562,-1952.8894,258.8604,40.7082,51.7172,17,1); //
    AddStaticVehicle(411,-1949.8689,266.5759,40.7776,216.4882,112,1); //
    AddStaticVehicle(429,-1988.0347,305.4242,34.8553,87.0725,2,1); //
    AddStaticVehicle(559,-1657.6660,1213.6195,6.9062,282.6953,13,8); //
    AddStaticVehicle(560,-1658.3722,1213.2236,13.3806,37.9052,52,39); //
    AddStaticVehicle(558,-1660.8994,1210.7589,20.7875,317.6098,36,1); //
    AddStaticVehicle(550,-1645.2401,1303.9883,6.8482,133.6013,7,7); //
    AddStaticVehicle(460,-1333.1960,903.7660,1.5568,0.5095,46,32); //

    // 25/4 UPDATE
    AddStaticVehicle(411,113.8611,1068.6182,13.3395,177.1330,116,1); //
    AddStaticVehicle(429,159.5199,1185.1160,14.7324,85.5769,1,2); //
    AddStaticVehicle(411,612.4678,1694.4126,6.7192,302.5539,75,1); //
    AddStaticVehicle(522,661.7609,1720.9894,6.5641,19.1231,6,25); //
    AddStaticVehicle(522,660.0554,1719.1187,6.5642,12.7699,8,82); //
    AddStaticVehicle(567,711.4207,1947.5208,5.4056,179.3810,90,96); //
    AddStaticVehicle(567,1031.8435,1920.3726,11.3369,89.4978,97,96); //
    AddStaticVehicle(567,1112.3754,1747.8737,10.6923,270.9278,102,114); //
    AddStaticVehicle(567,1641.6802,1299.2113,10.6869,271.4891,97,96); //
    AddStaticVehicle(567,2135.8757,1408.4512,10.6867,180.4562,90,96); //
    AddStaticVehicle(567,2262.2639,1469.2202,14.9177,91.1919,99,81); //
    AddStaticVehicle(567,2461.7380,1345.5385,10.6975,0.9317,114,1); //
    AddStaticVehicle(567,2804.4365,1332.5348,10.6283,271.7682,88,64); //
    AddStaticVehicle(560,2805.1685,1361.4004,10.4548,270.2340,17,1); //
    AddStaticVehicle(506,2853.5378,1361.4677,10.5149,269.6648,7,7); //
    AddStaticVehicle(567,2633.9832,2205.7061,10.6868,180.0076,93,64); //
    AddStaticVehicle(567,2119.9751,2049.3127,10.5423,180.1963,93,64); //
    AddStaticVehicle(567,2785.0261,-1835.0374,9.6874,226.9852,93,64); //
    AddStaticVehicle(567,2787.8975,-1876.2583,9.6966,0.5804,99,81); //
    AddStaticVehicle(411,2771.2993,-1841.5620,9.4870,20.7678,116,1); //
    AddStaticVehicle(420,1713.9319,1467.8354,10.5219,342.8006,6,1); // taxi
  
    // SAN FIERRO
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_law.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_airport.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_gen.txt");

    // OTHER AREAS
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/whetstone.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/bone.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/flint.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/tierra.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/red_county.txt");

    printf("Total vehicles from files: %d",total_vehicles_from_files);


  
// Pickup(ID du pickup, type(2 de pref), posX, posY, posZ, virtalworld (prf0))
    // groove street
    AddStaticPickup(355, 2, 2522.3999023438, -1675.9000244141, 20.299999237061, 0);
    AddStaticPickup(359, 2, 2536.929, -1665.159, 15.15388, 0);
    AddStaticPickup(371, 2, 1528.4015,-1357.5100,329.8370, 0); // parachute sur phtdj
    AddStaticPickup(372, 2, 2499.3425,-1662.4407,13.4504, 0); // tec-9
    AddStaticPickup(351, 2, 2486.8892,-1647.5894,13.9902, 0); // fusil a pompe
    AddStaticPickup(363, 2, 2353.6309,-1819.6559,13.3536, 0); // C4
    AddStaticPickup(1274, 2, 2451.7212,-1785.9359,13.3850, 0); // Dollars
  
    // garge police ls
    AddStaticPickup(335, 2,1722.0466,-1622.9558,13.2514, 0); // arms centre ville
    AddStaticPickup(352, 2,1554.4939,-1637.0697,5.9252, 0); // arms garge 1
    AddStaticPickup(349, 2,1550.5323,-1636.4805,5.9245, 0); // arms garge police 2
    AddStaticPickup(342, 2,1547.2708,-1637.7838,5.9246, 0); // arms garge police 3
    AddStaticPickup(1242, 2,1527.8071,-1635.8416,5.9230, 0); // arms garge police 4
    AddStaticPickup(355, 2,2353.6309,-1819.6559,13.3536, 0); // garge nn couvert

  



////////////////////////////////////////////////////////////////////////////////
}
// #definie IDCAR GetPlayerVehicleID(playerid);
// if(IsPlayerInVehicle(playerid))
// {
// SendClientMessage(playerid, 0xFFFFFFFFF, "You're in vehicle!");
// }
public OnPlayerConnect(playerid)
{
    GameTextForPlayer(playerid,"~g~game~r~Mode",2900,6);
    SendClientMessage(playerid, COLOR_GREEN, "Bienvenu ! /cmds pour voir toutes les commandes.");
    GivePlayerMoney(playerid, 1000000);
    SetPlayerColor(playerid, COLOR_RED);
    GivePlayerWeapon(playerid, 34, 1000000000);
    SetPlayerHealth(playerid, 100000);
  
    // message d'entrer
     new pname[MAX_PLAYER_NAME], string[22 + MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(string, sizeof(string), "%s est venu dans le server !", pname);
    SendClientMessageToAll(0xAAAAAAAA, string);
    {
    return 1;
}


}
public OnPlayerSpawn(playerid)
{
    GivePlayerWeapon(playerid, 34, 1000000000);
    if(gTeam[playerid] == TEAM_GROVE) {
    SetPlayerColor(playerid,COLOR_GREEN); // vert
    SetPlayerTeam(playerid, 1);
        }
    if(gTeam[playerid] == TEAM_BALLA) {
    SetPlayerColor(playerid,TEAM_BALLA_COLOR); // violet
    SetPlayerTeam(playerid, 2);
        }
    return 1;
}
public SetupPlayerForClassSelection(playerid)
{
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,-2204.5581,648.2476,73.8359);
    SetPlayerFacingAngle(playerid,309.6090);
    SetPlayerCameraPos(playerid,-2197.6504,654.1795,73.8359);
    SetPlayerCameraLookAt(playerid,-2204.5581,648.2476,73.8359);
}
public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerClass(playerid, classid);
    SetupPlayerForClassSelection(playerid);
    gPlayerClass[playerid] = classid;
  
    if(classid == 0)
    {
      GameTextForPlayer(playerid, "~b~Police", 2000, 5);
      SetPlayerColor(playerid,COLOR_GREEN);
      gTeam[playerid] = TEAM_BALLA;
    }
  
    switch (classid) {
        case 0:
            {
                GameTextForPlayer(playerid, "~g~CJ", 500, 3);
            }
        case 1:
            {
                GameTextForPlayer(playerid, "~b~Tenpenny", 500, 3);
            }
        case 2:
            {
                GameTextForPlayer(playerid, "~b~Pulaski", 500, 3);
            }
        case 3:
            {
                GameTextForPlayer(playerid, "~b~Hernandez", 500, 3);
            }
        case 4:
            {
                GameTextForPlayer(playerid, "~b~Officier de police", 500, 3);
            }
        case 5:
            {
                GameTextForPlayer(playerid, "~b~Officier de police", 500, 3);
            }
        case 6:
            {
                GameTextForPlayer(playerid, "~b~Officier de police", 500, 3);
            }
        case 7:
            {
                GameTextForPlayer(playerid, "~b~Officier de police", 500, 3);
            }
        case 8:
            {
                GameTextForPlayer(playerid, "~b~Motar policier", 500, 3);
            }
        case 9:
            {
                GameTextForPlayer(playerid, "~b~S.A.W.T", 500, 3);
            }
        case 10:
            {
                GameTextForPlayer(playerid, "~b~F.B.I", 500, 3);
            }
        case 11:
            {
                GameTextForPlayer(playerid, "~b~Militaire", 500, 3);
                // SendClientMessage(playerid,0xAFAFAFAA,"Skin bloquer. Veuiller taper /débloquer [mot de passe]");
                // Locked[playerid] = 1;

            }
        case 12:
            {
                GameTextForPlayer(playerid, "~b~Shérif du désert", 500, 3);
            }
        case 13:
            {
                GameTextForPlayer(playerid, "~g~Big smoke", 500, 3);
                SetPlayerColor(playerid, TEAM_GROVE);
            }
        case 14:
            {
                GameTextForPlayer(playerid, "~g~Seewt", 500, 3);
                SetPlayerColor(playerid, TEAM_GROVE);
            }
        case 15:
            {
                GameTextForPlayer(playerid, "~g~Ryder", 500, 3);
                SetPlayerColor(playerid, TEAM_GROVE);
            }
        case 16:
            {
                GameTextForPlayer(playerid, "~w~Cesar", 500, 3);
            }
        case 17:
            {
                GameTextForPlayer(playerid, "~w~Civil et après", 500, 3);
            }

}
    return 1;
}

public OnPlayerRequestSpawn(playerid)
{
    if(Locked[playerid]) return 0;
    //If player's current class is passworded, stop them from spawning
    return 1;
}


////////////////////////// Les commandes //////////////////////////
public OnPlayerCommandText(playerid, cmdtext[])
{
  
     if(strcmp(cmdtext, "/rep", true) == 0) {
         new vehicleid = GetPlayerVehicleID(playerid);
        SetVehicleHealth(vehicleid, 1000.0);
            return 1;
        }
      
    if(strcmp(cmdtext, "/kill", true) == 0) {
        SetPlayerHealth(playerid,0.0);
            return 1;
     }
   
    if(strcmp(cmdtext, "/weapons", true) == 0) {
        GivePlayerWeapon(playerid, 26, 1000000000);
        GivePlayerWeapon(playerid, 37, 1000000000);
            return 1;
     }
   
     if(strcmp(cmdtext,"/cmdsaction",true) == 0) {
        SendClientMessage(playerid,0xAFAFAFAA,"Animation :");
        SendClientMessage(playerid,0xAFAFAFAA,"/handsup /drunk /bomb /getarrested /laugh /lookout /robman");
        SendClientMessage(playerid,0xAFAFAFAA,"/crossarms /lay /hide /vomit /eat /wave /taichi");
        SendClientMessage(playerid,0xAFAFAFAA,"/deal /crack /smokem /smokef /groundsit /chat /dance /f**ku");
    }
   
    if(strcmp(cmdtext, "/cmds", true) == 0) {
        SendClientMessage(playerid, COLOR_RED, "/Kill : T'es mort");
        SendClientMessage(playerid, COLOR_RED, "/rep : Réparer sa voiture");
        SendClientMessage(playerid, COLOR_RED, "/cmdsaction : voir les animation");
            return 1;
     }
   
    
   
  
    
// Telportation
    if(strcmp(cmdtext, "/lv", true) == 0) {
      SetPlayerInterior(playerid,0);
      SetPlayerPos(playerid,2027.9156,1342.3516,10.8203);
      GameTextForPlayer(playerid," Bienvenue a Las Venturas ",500,1);
      SendClientMessage(playerid, COLOR_BLUE," Bienvenue a Las Venturas ");
      return 1;
      }
    
    if(strcmp(cmdtext, "/sf", true) == 0) {
      SetPlayerInterior(playerid,0);
      SetPlayerPos(playerid,-1260.49,28.61912,14.14844);
      GameTextForPlayer(playerid," Bienvenue a San Fierro ",500,1);
      SendClientMessage(playerid, COLOR_BLUE," Bienvenue a San Fierro ");
      return 1;
      }
    
    if(strcmp(cmdtext, "/Skateparck", true) == 0) {
      SetPlayerInterior(playerid,0);
      SetPlayerPos(playerid,1940.436,-1398.45,13.57031);
      GameTextForPlayer(playerid," Bienvenue au Skateparck ",500,1);
      SendClientMessage(playerid, COLOR_BLUE," Bienvenue au Skateparck ");
      return 1;
      }

// Activer des voitures (faire apparaitre)
    if(IsPlayerAdmin(playerid)) if(strcmp(cmdtext,"/BOOM",true) == 0) {
        new Float:X,Float:Y,Float:Z;
        GetPlayerPos(playerid,X,Y,Z);
        CreateVehicle(432, X, Y, Z, 250, 0, 3, 1000);
        SendClientMessage(playerid, COLOR_BLUE, "* hey !");
        return 1;
    }
  
       if(strcmp(cmdtext,"/Pizzaboy",true) == 0) {
        new Float:X,Float:Y,Float:Z;
        GetPlayerPos(playerid,X,Y,Z);
        CreateVehicle(448, X, Y, Z, 250, 3, 3, 10000);
        SendClientMessage(playerid, COLOR_BLUE, "* PizzaBoy Activer");
        return 1;
    }
  
    if(strcmp(cmdtext,"/sanchez",true) == 0) {
        new Float:X,Float:Y,Float:Z;
        GetPlayerPos(playerid,X,Y,Z);
        CreateVehicle(468, X, Y, Z, 250, 0, 3, 10000);
        SendClientMessage(playerid, COLOR_BLUE, "* Sanchez Activer");
        return 1;
    }
  
    if(strcmp(cmdtext,"/BMX",true) == 0) {
        new Float:X,Float:Y,Float:Z;
        GetPlayerPos(playerid,X,Y,Z);
        CreateVehicle(481, X, Y, Z, 250, 0, 3, 10000);
        SendClientMessage(playerid, COLOR_BLUE, "* BMX Activer");
        return 1;
    }

    if(strcmp(cmdtext,"/SuperGT",true) == 0) {
        new Float:X,Float:Y,Float:Z;
        GetPlayerPos(playerid,X,Y,Z);
        CreateVehicle(506, X, Y, Z, 250, 0, 1, 10000);
        SendClientMessage(playerid, COLOR_BLUE, "* SuperGT Activer");
        return 1;
    }
  
    if(strcmp(cmdtext,"/VTT",true) == 0) {
        new Float:X,Float:Y,Float:Z;
        GetPlayerPos(playerid,X,Y,Z);
        CreateVehicle(510, X, Y, Z, 250, 0, 3, 10000);
        SendClientMessage(playerid, COLOR_BLUE, "* VTT Activer");
        return 1;
    }

    if(strcmp(cmdtext,"/Nrg500",true) == 0) {
        new Float:X,Float:Y,Float:Z;
        GetPlayerPos(playerid,X,Y,Z);
        CreateVehicle(522, X, Y, Z, 250, 0, 1, 10000);
        SendClientMessage(playerid, COLOR_BLUE, "* Nrg-500 Activer");
        return 1;
    }
   
    return 1;
}
SetPlayerClass(playerid, classid) {
    if(classid == 0) {
    gTeam[playerid] = TEAM_GROVE;
    } else if(classid == 1) {
    gTeam[playerid] = TEAM_BALLA;
     }

}

public OnPlayerDeath(playerid, killerid, reason)
{
    new pName[MAX_PLAYER_NAME], StringMessage[128];
    GetPlayerName(playerid, pName, sizeof(pName));
    switch(reason)
    {
    case REASON_DEATH: format(StringMessage, sizeof(StringMessage), "%s vient de crever !",pName[playerid], playerid);
    }
    SendClientMessageToAll(0xFF0000AA, StringMessage);
    // Ajouter 1 de score, 1000 $ et 1 étoile (par crime) au tueur.
    if(killerid != INVALID_PLAYER_ID) SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
    GivePlayerMoney(killerid, 1000);
    SetPlayerWantedLevel(killerid, 1);
    GameTextForPlayer(playerid,"~w~T'es Mort",2900,6);
    // SetPlayerColor(killerid, COLOR_RED);
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
new pName[MAX_PLAYER_NAME], StringMessage[128];
GetPlayerName(playerid, pName, sizeof(pName));
switch(reason)
{
    case REASON_CRASH: format(StringMessage, sizeof(StringMessage), "%s est parti du server ! [Crash]",pName[playerid], playerid);
    case REASON_LEAVE: format(StringMessage, sizeof(StringMessage), "%s est parti du server ! [Parti(e)]",pName[playerid], playerid);
    case REASON_KICK: format(StringMessage, sizeof(StringMessage), "%s est parti du server ! [Kick]",pName[playerid], playerid);
    case REASON_BAN: format(StringMessage, sizeof(StringMessage), "%s est parti du server ! [BAN]",pName[playerid], playerid);
    case REASON_RECONNECT: format(StringMessage, sizeof(StringMessage), "%s est parti du server ! [Reconnection]",pName[playerid], playerid);
}
SendClientMessageToAll(0xFF0000AA, StringMessage);

}

public OnPlayerUpdate(playerid)
{
    if(!IsPlayerConnected(playerid)) return 0;
    if(IsPlayerNPC(playerid)) return 1;
    return 1;
}



Et enfin cliquer sur le bouton play/lecture en bleu.

3 commentaires:

  1. sa dit cannot read frome de file: ".../include/voiture.inc" et j'arrive pas a trouver le voiture.inv sur internet...

    RépondreSupprimer
  2. Bonjour

    Tous sa est pas mal et j'aimerais savoir comment créer un système d'entreprise ( en gros une nouvelle faction ) avec un admin qui ajoute les personnes qui veux et un système d'autolock des véhicules de l'entreprise a ceux qui sont dans cette entreprise je suis un débutant alors bon j'ai un peu de mal avec Pawno. Voila merci de répondre a Bientôt !!

    RépondreSupprimer
  3. moi ca me sort ca ====> C:\Users\Albano\Desktop\Dolce Vita\pawno\Untitled.pwn(4) : fatal error 100: cannot read from file: "../include/voiture.inc"

    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    1 Error.
    Aidez moi svp

    RépondreSupprimer