Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
Connexion avec identifiant, mot de passe et durée de la session

 
avancée

254731 Messages dans 14037 Fils de discussion- par 6623 Membres - Dernier membre: Magicien

24 Mai 2012 à 18:10:11
GTAOnline.frSan Andreas MultiplayerScripting SA-MP [Pawn center]Showroom SA:MP (Modérateurs: S!m, Xartrick)codes/scripts utiles
Pages: 1 ... 6 7 [8] 9 10 ... 31   Bas de page
Imprimer
Auteur Fil de discussion: codes/scripts utiles  (Lu 23669 fois)
0 Membres et 1 Invité sur ce fil de discussion.
Atlas
Hors ligne Hors ligne


Tueur en série
*

Messages: 152


« Répondre #105 le: 08 Juillet 2009 à 15:26:46 »

Re  Clin d'oeil

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é  Très souriant
Et n'oubli pas de Déclaré les règles de R@F  Roulement d'yeux Avant me Déclaré un Roi ( Comme le Roi Lion ou un Autre xD )

Amicalement Atlas  Clin d'oeil

A+  lmao
« 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 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:

Code:
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 Hors ligne


Sous-admin
GTAOnline Legend
*

Open-SA-MP - Unlimited Experience

Messages: 3731


WWW



sasuke78200

« Répondre #107 le: 12 Juillet 2009 à 17:28:53 »

Voila un code qui permet de savoir si un vehicule existe

Code:
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






Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog
S!m
Hors ligne 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:

Code:
#define VehicleExist(%0) (GetVehicleModel(%0) >= 400)

++Sim++
Journalisée





Ssk
Développeur d'Open SA-MP
Hors ligne Hors ligne


Sous-admin
GTAOnline Legend
*

Open-SA-MP - Unlimited Experience

Messages: 3731


WWW



sasuke78200

« Répondre #109 le: 15 Juillet 2009 à 16:50:40 »

Ouais c' est encore mieu GG
Journalisée






Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog
R@f
Administrateur Système de GTAOnline.fr
Hors ligne Hors ligne


Administrateur
GTAOnline Fan Boy
*

Messages: 2924


WWW



« 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.
Code:
rand(minnum = cellmin,maxnum = cellmax)
return random(maxnum - minnum + 1) + minnum;

++
R@f
Journalisée


Mon FlickrMon 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 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):
Code: (pawn)
#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:
Code:
benchmark(nombre_de_tests, nom_de_la_fonction, paramètre(s)_de_la_fonction)


Exemple:
Code: (pawn)
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:
Code:
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 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.

Code: (c)
#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 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é...
Code:
#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:

Code:
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 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 :
Code:
#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

Courtesy of GtaManiac
69scorpion
MrCorona
Hors ligne Hors ligne


Grand Banditisme
*

Messages: 121


WWW
« 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

Code:
new Menu:gps;


Callbacks

Code:
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

Code:
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

Code:
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

Code:
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.
« Dernière édition: 20 Août 2009 à 13:50:31 par 69scorpion » Journalisée

[RP] 69scorpion [100%]

Lance
Hors ligne 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  réglement
Journalisée

cristab
Hors ligne Hors ligne


Admin V.I.P
GTAOnline Legend
*

Messages: 7333


« Répondre #117 le: 19 Août 2009 à 21:15:44 »

bien vu lance  LMAO


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


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

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

Voila deja pour que les commandes repondent

Encore mieux

Code:
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 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 Hors ligne


Grand Banditisme
*

Messages: 121


WWW
« 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

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


Code:
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;
}

Code:
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;
}

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

Code:
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

[RP] 69scorpion [100%]

Pages: 1 ... 6 7 [8] 9 10 ... 31   Haut de page
Imprimer
Aller à:  

Theme créé par padexx et modifié par GTAOnline.fr
Page générée en 0.208 secondes avec 27 requêtes.
Forum GTAOnline.fr 2.0 | Design par : Lalu et GtaManiac
Merci a toute la communaute pour son support !
Copyright © 2004-2012 - GTAOnline.fr | GTAPro.com | Contact