Atlas
Hors ligne
Tueur en série

Messages: 152
|
 |
« Répondre #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é  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+ 
|
|
|
|
« Dernière édition: 08 Juillet 2009 à 15:29:08 par Atlas »
|
Journalisée
|
L'amour c'est le 1er jour,mais il fait du mal les autres jours ... Alors pourquoi aimer ='(
|
|
|
S!m
Hors ligne
Moderateur
GTAOnline Fan Boy

Messages: 2260
|
 |
« Répondre #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++
|
|
|
|
« Dernière édition: 09 Juillet 2009 à 00:49:38 par Sim »
|
Journalisée
|
|
|
|
Ssk
Développeur d'Open SA-MP
Hors ligne
Sous-admin
GTAOnline Legend

Open-SA-MP - Unlimited Experience
Messages: 3731
 
|
 |
« Répondre #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 =)
|
|
|
|
|
Journalisée
|
|
|
|
S!m
Hors ligne
Moderateur
GTAOnline Fan Boy

Messages: 2260
|
 |
« Répondre #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++
|
|
|
|
|
Journalisée
|
|
|
|
Ssk
Développeur d'Open SA-MP
Hors ligne
Sous-admin
GTAOnline Legend

Open-SA-MP - Unlimited Experience
Messages: 3731
 
|
 |
« Répondre #109 le: 15 Juillet 2009 à 16:50:40 » |
|
Ouais c' est encore mieu GG
|
|
|
|
|
Journalisée
|
|
|
|
R@f
Administrateur Système de GTAOnline.fr
Hors ligne
Administrateur
GTAOnline Fan Boy

Messages: 2924

|
 |
« Répondre #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
|
|
|
|
|
Journalisée
|
Mon Flickr - Mon Twitter - Saxoboy Non non non, je ne donne pas d'aide par PM, y a le forum pour ça. Et non, je n'hébergerais pas votre serveur, donc inutile de m'envoyer un PM pour ça aussi.
|
|
|
hardcoder
Hors ligne
Criminel entrainé

Messages: 61
|
 |
« Répondre #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): #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: 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.
|
|
|
|
« Dernière édition: 04 Août 2009 à 18:52:56 par hardcoder »
|
Journalisée
|
|
|
|
Bayshore
Hors ligne
GTAOnline Addict

Messages: 898
|
 |
« Répondre #112 le: 04 Août 2009 à 20:50:54 » |
|
Sinon il y a celui d'Y_less qui marche du tonnerre. #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); }
|
|
|
|
|
Journalisée
|
|
|
|
S!m
Hors ligne
Moderateur
GTAOnline Fan Boy

Messages: 2260
|
 |
« Répondre #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++
|
|
|
|
|
Journalisée
|
|
|
|
Syg
Expert programmeur C/C++/PAWN
Hors ligne
Administrateur
GTAOnline Legend

The GTAOnline Jesus
Messages: 3760
|
 |
« Répondre #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
|
|
|
|
|
Journalisée
|
|
|
|
69scorpion
MrCorona
Hors ligne
Grand Banditisme

Messages: 121
|
 |
« Répondre #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; Callbackspublic 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; } Callbackspublic 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 Callbackspublic 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; } Callbackspublic 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.
|
|
|
|
« Dernière édition: 20 Août 2009 à 13:50:31 par 69scorpion »
|
Journalisée
|
|
|
|
Lance
Hors ligne
Grand Banditisme

Messages: 88
|
 |
« Répondre #116 le: 19 Août 2009 à 21:09:04 » |
|
new Menu:tunning; Ne corespond pas avec le reste du code relit toi 
|
|
|
|
|
Journalisée
|
|
|
|
cristab
Hors ligne
Admin V.I.P
GTAOnline Legend

Messages: 7333
|
 |
« Répondre #117 le: 19 Août 2009 à 21:15:44 » |
|
bien vu lance  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  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
|
|
|
|
« Dernière édition: 19 Août 2009 à 21:19:46 par cristab »
|
Journalisée
|
|
|
|
S!m
Hors ligne
Moderateur
GTAOnline Fan Boy

Messages: 2260
|
 |
« Répondre #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++
|
|
|
|
|
Journalisée
|
|
|
|
69scorpion
MrCorona
Hors ligne
Grand Banditisme

Messages: 121
|
 |
« Répondre #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); }
|
|
|
|
« Dernière édition: 20 Août 2009 à 13:54:40 par 69scorpion »
|
Journalisée
|
|
|
|
|