• 02 Mai 2025, 16:52:28


Auteur Sujet: codes/scripts utiles  (Lu 133897 fois)

0 Membres et 7 Invités sur ce sujet

Hors ligne Atlas

  • *
  • Tueur en série
  • Messages: 163
    • Voir le profil
Re : codes/scripts utiles
« Réponse #105 le: 08 Juillet 2009, 15:26:46 »
Re  ;)

Mort de Rire, Sois pas noob Le Petit Clown apprend a lire que j'ai précisé la source du scripte et j'ai aussi précisé que j'ai ajouté que 2 ligne et faux aussi lire les règles de ce topic :

Salut a tous et a toutes,
J'ai créé ce sujet pour que les gens puissent partager leurs commandes ou bouts de scripts qu'ils ont créé eux même ! Si vous n'êtes pas le créateur d'un des ces bouts de script ou commande veuillez mettre l'auteur !

Enoy
++
R@f

Et bah j'ai précisé l'auteur ( SFDTM par Taxi ) alors tu dois donc apprendre bien a lire avant de posté  :D
Et n'oubli pas de Déclaré les règles de R@F  ::) Avant me Déclaré un Roi ( Comme le Roi Lion ou un Autre xD )

Amicalement Atlas  ;)

A+  :lmao
« Modifié: 08 Juillet 2009, 15:29:08 par Atlas »
L'amour c'est le 1er jour,mais il fait du mal les autres jours ... Alors pourquoi aimer ='(

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : codes/scripts utiles
« Réponse #106 le: 08 Juillet 2009, 23:29:19 »
Salut,

fini le HS svp...

retour au sujet: postez vos codes/scripts utiles...

pour ne pas moi-même être HS, je vous poste quelques petites fonctions simples qui, j'espère, ne figurent pas dans les pages précédentes:

Teleport(playerid, Float:X, Float:Y, Float:Z, Float:Angle, interior)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
   new vehid = GetPlayerVehicleID(playerid);
   SetVehiclePos(vehid, X, Y, Z);
   SetVehicleZAngle(vehid, Angle);
LinkVehicleToInterior(vehid, interior);
SetPlayerInterior(playerid, interior);
}
else
{
   SetPlayerPos(playerid, X, Y, Z);
   SetPlayerFacingAngle(playerid, Angle);
SetPlayerInterior(playerid, interior);
}
return 1;
}

stock GetPosBehindAngle(playerid, &Float:x, &Float:y, Float:angle, Float:distance)
{
x += floatsin(angle, degrees) * distance;
y -= floatcos(angle, degrees) * distance;
return 1;
}

stock GetPosInFrontOfAngle(&Float:x, &Float:y, Float:angle, Float:distance)
{
x -= floatsin(angle, degrees) * distance;
y += floatcos(angle, degrees) * distance;
return 1;
}

#define MAX_STATE_LEN 32
stock GetStateName(pstate, tmp[])
{
if(pstate == PLAYER_STATE_NONE)
{
format(tmp, MAX_STATE_LEN, "Aucun");
}
else if(pstate == PLAYER_STATE_ONFOOT)
{
format(tmp, MAX_STATE_LEN, "À pied");
}
else if(pstate == PLAYER_STATE_DRIVER)
    {
format(tmp, MAX_STATE_LEN, "Conducteur");
}
else if(pstate == PLAYER_STATE_PASSENGER)
{
   format(tmp, MAX_STATE_LEN, "Passager");
}
/* else if(state == EXIT_VEHICLE)
{
   format(tmp, MAX_STATE_LEN, "Quitte son véhicule");
}
else if(state == ENTER_VEHICLE_DRIVER)
{
   format(tmp, MAX_STATE_LEN, "Entre dans un véhicule conducteur");
}
else if(state == ENTER_VEHICLE_PASSENGER)
{
   format(tmp, MAX_STATE_LEN, "Entre dans un véhicule passager");
}
*/  else if(pstate == PLAYER_STATE_WASTED)
{
   format(tmp, MAX_STATE_LEN, "Mort");
}
else if(pstate == PLAYER_STATE_SPAWNED)
{
   format(tmp, MAX_STATE_LEN, "Spawn...");
}
else if(pstate == PLAYER_STATE_SPECTATING)
{
   format(tmp, MAX_STATE_LEN, "Observateur");
}
return 1;
}

stock GetVehicleModelByName(tmp[])
{
static VehicleNames[][] =
{
"Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
"Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
"Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
"Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection",
"Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus",
"Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie",
"Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral",
"Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder",
"Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van",
"Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale",
"Oceanic","Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy",
"Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX",
"Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper",
"Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking",
"Blista Compact", "Police Maverick", "Boxvillde", "Benson", "Mesa", "RC Goblin",
"Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT",
"Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt",
  "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra",
  "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune",
  "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer",
  "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent",
"Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo",
"Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite",
"Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
"Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
"Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
"Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400",
"News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
"Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car",
"Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha",
"Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
"Tiller", "Utility Trailer"
};
for( new i = 0; i < 212; i++)
{
   if(strfind(VehicleName[i], tmp, true) != -1)
   {
       return i+400;
   }
}
return 0;
}

voilà, si certaines comportent des erreurs (j'ai dû faire quelques modifications sur le forum), merci de me les signaler..

ps. pour la fonction GetVehicleModelByName, je préfère mettre le tableau contenant les noms des véhicules en variable global

++Sim++
« Modifié: 09 Juillet 2009, 00:49:38 par Sim »





Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : codes/scripts utiles
« Réponse #107 le: 12 Juillet 2009, 17:28:53 »
Voila un code qui permet de savoir si un vehicule existe

forward VehicleExist(vehicleid);

public VehicleExist(vehicleid)
{
new Float:x,Float:y,Float:z,Float:a,mdl;
GetVehiclePos(vehicleid,x,y,z);
GetVehicleZAngle(vehicleid,a);
mdl = GetVehicleModel(vehicleid);
if(a == 0 && x == 0 && y == 0 && z == 0 && mdl == 0)
{
return 0;
}
return 1;
}

on peut l utiliser comme cela


if(VehicleExist( id du vehicle))




voila =)



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : codes/scripts utiles
« Réponse #108 le: 13 Juillet 2009, 01:57:44 »
Salut,

je crois qu'un simple test GetVehicleModel suffit (étant donné qu'aucun véhicule n'est de modèle 0 (que de 400 à 611)....

voila le code que je ferais:

#define VehicleExist(%0) (GetVehicleModel(%0) >= 400)
++Sim++





Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : codes/scripts utiles
« Réponse #109 le: 15 Juillet 2009, 16:50:40 »
Ouais c' est encore mieu GG



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne R@f

  • *
  • GTAOnline Addict
  • Messages: 4655
    • Voir le profil
Re : codes/scripts utiles
« Réponse #110 le: 04 Août 2009, 14:12:12 »
Petite fonction assez utile que les codeurs PHP reconnaitront directement, la fonction rand. Dans le même style que le random sauf que celui-ci, un peu y ajouter une valeur minimum.
rand(minnum = cellmin,maxnum = cellmax)
return random(maxnum - minnum + 1) + minnum;

++
R@f

Hors ligne hardcoder

  • *
  • Tueur
  • Messages: 67
    • Voir le profil
Re : codes/scripts utiles
« Réponse #111 le: 04 Août 2009, 18:44:44 »
Une macro bien utile, qui permet de tester la vitesse d'execution de fonctions, afin de les comparer (fait par yom, je l'ai juste traduit en fr):
Code: (pawn) [Sélectionner]
#define benchmarkinit(); new bmi,bmt1=GetTickCount(),bmt2;
#define benchmark(%0,%1,%2); for(bmi=0;bmi<%0;bmi++)%1(%2);bmt2=GetTickCount(),bmt1=bmt2-bmt1,printf("\n"#%1"\n -> Temps moyen par appel   : %8.f ns\n -> Temps total d'execution : %8d ms\n -> Appels par seconde      : %8.f appels",(float(bmt1)/%0)*1000000,bmt1,(%0.0/bmt1)*1000),bmt1=bmt2;

Utilisation:
benchmark(nombre_de_tests, nom_de_la_fonction, paramètre(s)_de_la_fonction)


Exemple:
Code: (pawn) [Sélectionner]
public OnFilterScriptInit()
{
    #define NOMBRE_DE_TESTS 10000000

    new Float:x, Float:y, Float:z;

    benchmarkinit();

    benchmark(NOMBRE_DE_TESTS, GetCoordsOnLine3D,  1.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, x, y, z);
    benchmark(NOMBRE_DE_TESTS, GetCoordsOnLine3D2, 1.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, x, y, z);
    benchmark(NOMBRE_DE_TESTS, GetCoordsOnLine3D3, 1.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, x, y, z);
}

Affiche dans la console:
GetCoordsOnLine3D
 -> Temps moyen par appel   :      329 ns
 -> Temps total d'execution :     3297 ms
 -> Appels par seconde      :  3033060 appels

GetCoordsOnLine3D2
 -> Temps moyen par appel   :      326 ns
 -> Temps total d'execution :     3265 ms
 -> Appels par seconde      :  3062787 appels

GetCoordsOnLine3D3
 -> Temps moyen par appel   :      292 ns
 -> Temps total d'execution :     2922 ms
 -> Appels par seconde      :  3422313 appels

Notes:

- Il y a juste un petit probleme: les fonctions doivent au moins avoir 1 paramètre.
- Plus le nombre de tests est important, plus les résultats seront précis.
- Dans l'exemple les fonctions sont appellées au moment où le FS se charge, ce qui peut donner un résultat érronné pour la première fonction testée. Il est donc préférable de tester les fonctions quelques secondes après le chargement de FS.
« Modifié: 04 Août 2009, 18:52:56 par hardcoder »

Hors ligne Bayshore

  • *
  • Grand Banditisme
  • Messages: 923
    • Voir le profil
Re : codes/scripts utiles
« Réponse #112 le: 04 Août 2009, 20:50:54 »
Sinon il y a celui d'Y_less qui marche du tonnerre.

Code: (c) [Sélectionner]
#define CODE_1 printf("%d", 42);
#define CODE_2 new str[4]; format(str, sizeof (str), "%d", 42); print(str);
#define CODE_3 print("42");
#define ITERATIONS (10000)

Test()
{
new
t0,
t1,
t2,
t3,
i;
t0 = GetTickCount();
for (i = 0; i < ITERATIONS; i++)
{
CODE_1
}
t1 = GetTickCount();
for (i = 0; i < ITERATIONS; i++)
{
CODE_2
}
t2 = GetTickCount();
for (i = 0; i < ITERATIONS; i++)
{
CODE_3
}
t3 = GetTickCount();
printf("Temps 1: %04d, temps 2: %04d, temps 3: %04d", t1 - t0, t2 - t1, t3 - t2);
}

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Re : codes/scripts utiles
« Réponse #113 le: 06 Août 2009, 01:50:12 »
Salut,

j'aurais tendance à modifier légèrement la macro d'hardcoder, permettant d'y mettre autant de paramètres que désiré...
#define benchmark(%0,%1(%2)); for(bmi=0;bmi<%0;bmi++)%1(%2);bmt2=GetTickCount(),bmt1=bmt2-bmt1,printf("\n"#%1"\n -> Temps moyen par appel   : %8.f ns\n -> Temps total d'execution : %8d ms\n -> Appels par seconde      : %8.f appels",(float(bmt1)/%0)*1000000,bmt1,(%0.0/bmt1)*1000),bmt1=bmt2;

voilà, j'espère que %2 peut être rien du tout, donc une fonction sans paramètres...

l'utilisation diffère légèrement par contre:

benchmark(ITERATIONS, fonction(paramètres));
mais le code d'Y_Less demeure néanmoins plus flexible

++Sim++





Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : codes/scripts utiles
« Réponse #114 le: 17 Août 2009, 12:34:51 »
Voici une version plus "propre" de la macro présentée par hardcoder.
Avec les modification apportées par Sim pour les fonctions sans paramètres.

La macro de départ avait 2 défauts :
- Illisible car sur une seule ligne donc très difficilement modifiable
- Il n'était pas possible de l'appeler plusieurs fois de suite sans erreur dans les calculs car la macro benchmarkinit ne peut être utilisée qu'une seule fois (sinon, erreur de compilation)

Voici ma version avec un exemple d'utilisation :
#include <a_samp>

#define BENCHMARK(%0,%1(%2)); {\
                              new bmi,bmt1=GetTickCount(),bmt2;\
                              for(bmi=0;bmi<%0;bmi++)%1(%2);\
                              bmt2=GetTickCount();\
                              bmt1=bmt2-bmt1;\
                              printf("\n"#%1"\n -> Temps moyen par appel   : %8.f ns\n -> Temps total d'execution : %8d ms\n -> Appels par seconde      : %8.f appels",(float(bmt1)/%0)*1000000,bmt1,(%0.0/bmt1)*1000),bmt1=bmt2;\
                              }

MaFonction1 ()
{
    GetPlayerVehicleID (0);
}

MaFonction2 (Var1, Var2)
{
    new Var;
    Var = Var1 + Var2;
    return Var;
}

main ()
{
    BENCHMARK (1000000, MaFonction1 ());
    BENCHMARK (1000000, MaFonction2 (1, 8));
}

public OnGameModeInit()
{
    return 1;
}

++
Syg
Courtesy of GtaManiac

Hors ligne 69scorpion

  • MrCorona
  • *
  • Tueur en série
  • Messages: 125
    • Voir le profil
    • Scorpion City
Re : codes/scripts utiles
« Réponse #115 le: 19 Août 2009, 12:59:27 »
J'ai fait une commande pour faire un gps utile pour les serveur rp  (Map San Fierro vous pouvez modifier)

En haut du script

new Menu:gps;

Callbacks

public OnGameModeInit()
{
gps = CreateMenu("~r~GPS ~g~SF",1,125,150,300); // Titre en haut du Menu =GPS(rouge) SF(Vert)
if(IsValidMenu(gps)) {
SetMenuColumnHeader(gps , 0, "Choississez un Lieu:");
  AddMenuItem(gps ,0,"Mairie");
AddMenuItem(gps ,0,"Banque");
AddMenuItem(gps ,0,"Auto Ecole");
AddMenuItem(gps ,0,"Concession 1");
  AddMenuItem(gps ,0,"Concession 2");
AddMenuItem(gps ,0,"Victim");
AddMenuItem(gps ,0,"TF1");
AddMenuItem(gps ,0,"Police");
  AddMenuItem(gps ,0,"Hopital");
AddMenuItem(gps ,0,"Banque");
AddMenuItem(gps ,0,"Prison Federal"); // Ne pas mettre d'accent
AddMenuItem(gps ,0,"F.B.I");
  AddMenuItem(gps ,0,"CASERNE");
AddMenuItem(gps ,0,"24/7");
AddMenuItem(gps ,0,"24/7");
AddMenuItem(gps ,0,"24/7");
        AddMenuItem(gps,0,"Quitter");
        return 1;
}

Callbacks

public OnPlayerEnterCheckpoint(playerid)
{
    DisablePlayerCheckpoint(playerid);
    SendClientMessage(playerid,COLOR_WHITE," Vous êtes arriver a destination");//indique qu'il est arriver au marqueur rouge
    return 1;
}


SetPlayerCheckpoint(playerid,-2765.1860,375.5469,6.3437,5);==  x,y,z ou se trouve le lieu

Callbacks

public OnPlayerSelectedMenuRow(playerid, row) {
new Menu:Current = GetPlayerMenu(playerid);
if (Current == gps){
if (row == 0){
SetPlayerCheckpoint(playerid,-2765.1860,375.5469,6.3437,5);//Mairie
} else if (row == 1){
SetPlayerCheckpoint(playerid,-2650.3394,376.6824,6.1563,5);//Banque
} else if (row == 2){
SetPlayerCheckpoint(playerid,-2027.3289,-99.8707,35.1641,5);//auto ecole
} else if (row == 3){
SetPlayerCheckpoint(playerid,-1971.6180,286.8072,35.1719,5);//Concession
} else if (row == 4){
SetPlayerCheckpoint(playerid,-1642.6851,1205.1577,7.2500,5);//concession 2
} else if (row == 5){
SetPlayerCheckpoint(playerid,-1695.9248,950.1990,24.8906,5);//Victim vetement
} else if (row == 6){
SetPlayerCheckpoint(playerid,-2453.6975,504.0412,30.0799,5);//tf1 journal
} else if (row == 7){
SetPlayerCheckpoint(playerid,-1606.0563,712.7955,13.8436,5);//Police
} else if (row == 8){
SetPlayerCheckpoint(playerid,-2661.0408,636.9889,14.4531,5);//Hopital
} else if (row == 9){
SetPlayerCheckpoint(playerid,-2483.7095,-616.0777,132.5655,5);// Prison Fédéral
} else if (row == 10){
SetPlayerCheckpoint(playerid,-1942.6173,459.1057,35.1719,5);// F.B.I
} else if (row == 11){
SetPlayerCheckpoint(playerid,-2023.9453,88.3885,28.1693,5);// CASERNE pompier
} else if (row == 12){
SetPlayerCheckpoint(playerid,-2443.9419,752.8572,35.1786,5);// 24/7 1
} else if (row == 13){
SetPlayerCheckpoint(playerid,-2580.7271,310.1327,5.1797,5);// 24/7 2
} else if (row == 14){
SetPlayerCheckpoint(playerid,-2174.4958,-89.7845,35.3203,5);//24/7 2
HideMenuForPlayer(gps, playerid);//Quitter
} else if (row == 15){
SendClientMessage(playerid,COLOR_WHITE," Vous avez quitter le menu");//Quitter
}
TogglePlayerControllable(playerid,1);// on debloque
}
return 1;
}

Callbacks

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/gps", cmdtext, true, 10) == 0)
{
if(IsPlayerInAnyVehicle(playerid)) // le joueur doit être dans une voiture
{
ShowMenuForPlayer(gps,playerid); // activation du menu gps
TogglePlayerControllable(playerid,0); // on bloque
SendClientMessage(playerid, COLOR_GRAD2, "Le lieu est indiquer avec un marqueur rouge sur votre radar.");// confirme la commande
}
else{ //
SendClientMessage(playerid,COLOR_RED," Vous devez être dans un véhicule");//indique qu'il faut être dans un vehicule
}
return 1;
}


Ne mettez pas des caractères spéciaux dans les menus.
« Modifié: 20 Août 2009, 13:50:31 par 69scorpion »
[RP] 69scorpion [100%]


Hors ligne Lance

  • *
  • Tueur
  • Messages: 87
    • Voir le profil
Re : codes/scripts utiles
« Réponse #116 le: 19 Août 2009, 21:09:04 »
new Menu:tunning;

Ne corespond pas avec le reste du code relit toi  :rules

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : codes/scripts utiles
« Réponse #117 le: 19 Août 2009, 21:15:44 »
bien vu lance  :lmfao


un truc qui prouve que c'est copier coller et que sa a meme pas etait tester car pour tester il aurais fallut le compiler la sa m'etonnerais qu'il compile puis si on me dit que sa a etait coder sur le forum desoler mais j'aurais du mal a y croire  :ninja


PS


if (strcmp("/gps", cmdtext, true, 4) == 0)

if (strcmp("/carte", cmdtext, true, 6) == 0)

Voila deja pour que les commandes repondent

Encore mieux

if (strcmp("/gps", cmdtext, true) == 0)

if (strcmp("/carte", cmdtext, true) == 0)

PS2 tu zape de detruire le CP une fois dedans sa crash vite un serveur comme sa
« Modifié: 19 Août 2009, 21:19:46 par cristab »
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : codes/scripts utiles
« Réponse #118 le: 20 Août 2009, 00:54:25 »
Salut,

ne pas supprimer le checkpoint n'est pas vraiment un problème (même si ça peut être désagréable), chaque joueur ne peut voir plus d'un checkpoint, il sera tout simplement éliminer lorsqu'un autre checkpoint sera créé...

++Sim++





Hors ligne 69scorpion

  • MrCorona
  • *
  • Tueur en série
  • Messages: 125
    • Voir le profil
    • Scorpion City
Re : codes/scripts utiles
« Réponse #119 le: 20 Août 2009, 02:03:51 »
J'ai edit et améliorer  Pour carte je voulais l'intégrer mais sa pas marcher et j'ai pas copier coller j'me suis inspirer d'un code ( [TUTO] Les menus de UrbanGhetto)je les compile mais sans /carte et j'ai réussi.

En haut du Script

forward Carte(playerid, row);
new Menu:carte;
;


public OnGameModeInit()
{
carte = CreateMenu("~r~Carte ~g~SF",1,125,150,300); // Titre en haut du Menu =GPS(rouge) SF(Vert) evite les accent
   if(IsValidMenu(carte)) {
SetMenuColumnHeader(carte , 0, "Choississez un Lieu:");
   AddMenuItem(carte ,0,"Mairie");
AddMenuItem(carte ,0,"Banque");
AddMenuItem(carte ,0,"Auto Ecole");
AddMenuItem(carte ,0,"Concession 1");
  AddMenuItem(carte ,0,"Concession 2");
AddMenuItem(carte ,0,"Victim");
AddMenuItem(carte ,0,"TF1");
AddMenuItem(carte ,0,"Police");
AddMenuItem(carte ,0,"Hopital");
AddMenuItem(carte ,0,"Banque");
AddMenuItem(carte ,0,"Prison Federal"); // Ne pas mettre d'accent
AddMenuItem(carte ,0,"F.B.I");
   AddMenuItem(carte ,0,"CASERNE");
AddMenuItem(carte ,0,"24/7 1");
AddMenuItem(carte ,0,"24/7 3");
AddMenuItem(carte ,0,"24/7 2");
AddMenuItem(carte,0,"Quitter"); // Quitter le menu
                return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/carte", cmdtext, true, 10) == 0)
{
ShowMenuForPlayer(carte,playerid); // activation du menu gps
TogglePlayerControllable(playerid,0); // on bloque
SendClientMessage(playerid, COLOR_GRAD2, "Le lieu est indiquer avec un marqueur rouge sur votre radar.");
}
return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
    DisablePlayerCheckpoint(playerid);
    SendClientMessage(playerid,COLOR_WHITE," Vous êtes arriver a destination");//indique qu'il est arriver au marqueur rouge
    return 1;
}

public Carte(playerid, row) {
new Menu:Current = GetPlayerMenu(playerid);
if (Current == carte){
if (row == 0){
SetPlayerCheckpoint(playerid,-2765.1860,375.5469,6.3437,5);//Mairie
} else if (row == 1){
SetPlayerCheckpoint(playerid,-2650.3394,376.6824,6.1563,5);//Banque
} else if (row == 2){
SetPlayerCheckpoint(playerid,-2027.3289,-99.8707,35.1641,5);//auto ecole
} else if (row == 3){
SetPlayerCheckpoint(playerid,-1971.6180,286.8072,35.1719,5);//Concession
} else if (row == 4){
SetPlayerCheckpoint(playerid,-1642.6851,1205.1577,7.2500,5);//concession 2
} else if (row == 5){
SetPlayerCheckpoint(playerid,-1695.9248,950.1990,24.8906,5);//Victim vetement
} else if (row == 6){
SetPlayerCheckpoint(playerid,-2453.6975,504.0412,30.0799,5);//tf1 journal
} else if (row == 7){
SetPlayerCheckpoint(playerid,-1606.0563,712.7955,13.8436,5);//Police
} else if (row == 8){
SetPlayerCheckpoint(playerid,-2661.0408,636.9889,14.4531,5);//Hopital
} else if (row == 9){
SetPlayerCheckpoint(playerid,-2483.7095,-616.0777,132.5655,5);// Prison Fédéral
} else if (row == 10){
SetPlayerCheckpoint(playerid,-1942.6173,459.1057,35.1719,5);// F.B.I
} else if (row == 11){
SetPlayerCheckpoint(playerid,-2023.9453,88.3885,28.1693,5);// CASERNE pompier
} else if (row == 12){
SetPlayerCheckpoint(playerid,-2443.9419,752.8572,35.1786,5);// 24/7 1
} else if (row == 13){
SetPlayerCheckpoint(playerid,-2580.7271,310.1327,5.1797,5);// 24/7 2
} else if (row == 14){
SetPlayerCheckpoint(playerid,-2174.4958,-89.7845,35.3203,5);//24/7 2
} else if (row == 15){
SendClientMessage(playerid,COLOR_WHIITE,"Vous avez quitter le menu");
}
TogglePlayerControllable(playerid,1);
}
« Modifié: 20 Août 2009, 13:54:40 par 69scorpion »
[RP] 69scorpion [100%]