• 08 Juillet 2025, 16:09:19


Auteur Sujet: Radars Automatiques  (Lu 4159 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Disa25

  • *
  • Criminel
  • Messages: 48
    • Voir le profil
Radars Automatiques
« le: 29 Octobre 2009, 11:46:18 »
Bonjour,sur mon serveur RP je voudrais incorporer un systeme de radars automatiques.J'ai cherché dans votre forum,il a beaucoup de sujet qui en parle mais je ne comprend pas trop.J'aurais besoin d'aide ou par exemple d'un exmple de radars pour miex comprendre s'il vous plait.Merci.

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Radars Automatiques
« Réponse #1 le: 31 Octobre 2009, 18:14:04 »
J'en cherche un comme toi ^^
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Radars Automatiques
« Réponse #2 le: 31 Octobre 2009, 19:27:41 »
Go >>>> forum samp



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

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Radars Automatiques
« Réponse #3 le: 31 Octobre 2009, 20:05:35 »
J'ai pas trouver, si quelqu'un trouve qu'il me fasse signe.
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Mr_C30

  • *
  • Gangster
  • souvent conquise jamais soumise
  • Messages: 1937
    • Voir le profil
Re : Re : Radars Automatiques
« Réponse #4 le: 31 Octobre 2009, 20:36:01 »
Go >>>> forum samp
ou le périphe de ta ville   :dry    >:(     :dejadehors


non sinon tu peut t'aider d'un compteur ou cherche sur le forum samp ;)

++



Radis du soir bonsoir !


Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Radars Automatiques
« Réponse #5 le: 02 Novembre 2009, 17:26:04 »
M'aider d'un compteur?
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Radars Automatiques
« Réponse #6 le: 03 Novembre 2009, 01:48:57 »
Salut,

simple remarque, vous pouvez désormais utiliser GetPlayerVelocity...

pour avoir la vitesse en km/h:

Float:GetPlayerSpeed(playerid)
{
    new Float:X, Float:Y, Float:Z;
    new vehid;
    if((vehid = GetVehicleID(playerid)))
    {
        GetVehicleVelocity(vehid, X, Y, Z);
    }
    else
    {
        GetPlayerVelocity(playerid, X, Y, Z);
    }
    return (floatsqroot(X * X + Y * Y + Z * Z) * 180);
}

voilà qui devrait simplifier la création d'un radar...

++Sim++





Hors ligne MrFredo

  • *
  • Grand Banditisme
  • Scripteur PHP/PAWN
  • Messages: 953
    • Voir le profil
    • GTA-Hosting
Re : Radars Automatiques
« Réponse #7 le: 03 Novembre 2009, 11:07:34 »
Tanks pour la fonction sa m'evitera de la refaire

ps: je prepare une include pour un systeme de radar automatique (sur base du code que j'avait fait pour mon ancien serveur)

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Re : Radars Automatiques
« Réponse #8 le: 03 Novembre 2009, 12:55:04 »
Salut,

simple remarque, vous pouvez désormais utiliser GetPlayerVelocity...

pour avoir la vitesse en km/h:

Float:GetPlayerSpeed(playerid)
{
    new Float:X, Float:Y, Float:Z;
    new vehid;
    if((vehid = GetVehicleID(playerid)))
    {
        GetVehicleVelocity(vehid, X, Y, Z);
    }
    else
    {
        GetPlayerVelocity(playerid, X, Y, Z);
    }
    return (floatsqroot(X * X + Y * Y + Z * Z) * 180);
}

voilà qui devrait simplifier la création d'un radar...

++Sim++

Peux tu un peux m'expliquer a quoi correspond chaque terme? J'abuse un peux de toi :s
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Radars Automatiques
« Réponse #9 le: 03 Novembre 2009, 13:57:28 »
Float:GetPlayerSpeed(playerid) // ici on declare une fonction comme si on fesais new mais pour une fonction
{
    new Float:X, Float:Y, Float:Z; // ici on declare les variable qui vont contenir des position pour calculer la vitesse ( ce n est oas vraiment des position moi meme je ne sais pas pourquoi on a besoin de 3 variable)
    new vehid; // ici on declare une variable qui va contenir l id du vehicule
    if((vehid = GetVehicleID(playerid))) // ici on regarde si le gars est dans une vehicule et s l est dedans on prend l id du vehicule qu on stocke dans la variable vehid
    {
        GetVehicleVelocity(vehid, X, Y, Z); // la on prend la vitesse
    }
    else // la si le joueur est a pied
    {
        GetPlayerVelocity(playerid, X, Y, Z); // on prend ca vitesse a pied
    }
    return (floatsqroot(X * X + Y * Y + Z * Z) * 180); // ici on retourne la valeur de la vitesse comme si on calculer la distance mais on multiplie par 180 pour avoir le tout en KM/h
}



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

Hors ligne rafffel

  • *
  • Bandit
  • Messages: 493
    • Voir le profil
Re : Radars Automatiques
« Réponse #10 le: 03 Novembre 2009, 14:09:02 »
c'est moi ou dans le script il ne passera jamais dans else?

j'aurai plutot mis sa moi :

Float:GetPlayerSpeed(playerid) // ici on declare une fonction comme si on fesais new mais pour une fonction
{
    new Float:X, Float:Y, Float:Z; // ici on declare les variable qui vont contenir des position pour calculer la vitesse ( ce n est oas vraiment des position moi meme je ne sais pas pourquoi on a besoin de 3 variable)
    new vehid; // ici on declare une variable qui va contenir l id du vehicule
    if(IsPlayerInAnyVehicle(playerid)) // ici on regarde si le gars est dans une vehicule
    {
        vehid =  GetPlayerVehicleID(playerid) // on recupere l'id du vehicule
        GetVehicleVelocity(vehid, X, Y, Z); // la on prend la vitesse
    }
    else // la si le joueur est a pied
    {
        GetPlayerVelocity(playerid, X, Y, Z); // on prend ca vitesse a pied
    }
    return (floatsqroot(X * X + Y * Y + Z * Z) * 180); // ici on retourne la valeur de la vitesse comme si on calculer la distance mais on multiplie par 180 pour avoir le tout en KM/h
}

de plus la fonction GetVehicleID(playerid) n'existe pas c'est GetPlayerVehicleID


Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Radars Automatiques
« Réponse #11 le: 03 Novembre 2009, 15:03:11 »
Ta solution est meilleure rafffel car elle est plus claire.
Mais celle de Sim fonctionne quand même.
GetPlayerVehicleID renvoie 0 si le joueur n'est pas dans un véhicule donc le test va fonctionner.
Ceci fonctionne car il n'y a pas de véhicule avec l'ID 0, le premier véhicule créé à l'ID 1.

Je conseille fortement d'éviter ce genre de raccourci qui peut être source d'erreur.
Je préconise donc la fonction de rafffel.

++
Syg
Courtesy of GtaManiac

Hors ligne rafffel

  • *
  • Bandit
  • Messages: 493
    • Voir le profil
Re : Radars Automatiques
« Réponse #12 le: 03 Novembre 2009, 15:21:06 »
A bon .

Si on met if(0) il ne passera jamais dans le if ?
Je pensais que c'etait a travers un true ou false qu'il jugeait si la condition etait bonne ou non .

et comme justement  GetPlayerVehicleID renvoie 0  ce n'est pas false .

en plus c'est le retour de l'assignation de la variable qui est juger non?

donc si on met 0 dans vehid l'operation d'assignation retournera true .

Faudrat que je fasse des test.

J'avance ça sans vraiment être sur .

Edit : j'ai dit que des conneries XD if(0) ne passe pas .

on peut juger sur une assignation si c'est egal a 0 c'est comme si on avait false.
« Modifié: 03 Novembre 2009, 15:39:07 par rafffel »

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Radars Automatiques
« Réponse #13 le: 03 Novembre 2009, 15:45:00 »
Un test est vrai si la valeur testée est différente de 0.

Donc on passera dans un if si ce qui est à l'intérieur des parenthèses (=le résultat de l'évaluation du test) est différent de 0.

1) Dans le cas d'un test sur une variable seule, c'est simple, si la valeur de la variable est différente de 0 on "entre" dans le if.
if (IsLogged[playerid])
{
   printf ("Joueur logué");
}

2) Dans le cas où l'on teste l'appel d'un fonction, c'est la valeur de retour de la fonction qui est évalué. Si la fonction retourne 0, on n'entre pas dans le test.
if (IsPlayerAdmin (playerid))
{
   printf ("Joueur admin");
}

3) Dans le cas d'une comparaison, la valeur évaluée est celle du résultat de la comparaison qui peut être soit vrai (=1), soit faux (=0)
if (a==3)
{
   printf ("a vaut 3");
}

4) Dans le cas où l'on teste une affectation, c'est la valeur de la variable la plus à gauche qui est évaluée. On retombe dans le cas 1)
if (Vid=GetPlayerVehicleID (playerid))
{
   printf ("Le joueur est dans un véhicule");
}
Il est même possible de faire plusieurs affectations en une seule ligne :
if (a=b=c=GetPlayerVehicleID (playerid))
{
   printf ("a, b et c ont la valeur du vehicleID");
}
else
{
   printf ("a, b et c valent tous 0");
}
Dans le cas ci-dessus, c'est normalement la valeur de a qui est utilisée mais comme toutes les variables ont forcément la même valeur, ça n'a aucune importance.


Dans le cas d'un test multiple il suffit de savoir que le signe && correspond à un multiplication et le signe || à une addition.

Par exemple :
<Expression1> && <Expression2>
Le résultat évalué est valeur de (Expression1) multipliée par valeur de (Expression2)
Donc si l'une des deux vaut 0, le résultat vaudra 0.

<Expression1> || <Expression2>
Le résultat évalué est valeur de (Expression1) plus valeur de (Expression2)
Donc le résultat vaudra 0, 1 ou 2 selon les cas.

Dans les deux exemples ci-dessus, <Expression1> et <Expression2> peuvent être n'importe quel des 4 cas cités plus haut.

++
Syg
Courtesy of GtaManiac

Hors ligne rafffel

  • *
  • Bandit
  • Messages: 493
    • Voir le profil
Re : Radars Automatiques
« Réponse #14 le: 03 Novembre 2009, 15:57:49 »
merci syg on en apprend tout les jours même si pour le coup j'ai un peut honte XD un simple if de base et je dis n'importe quoi ^^.