• 24 Avril 2025, 05:28:53


Auteur Sujet: [INC] Radar  (Lu 15395 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne MrFredo

  • *
  • Grand Banditisme
  • Scripteur PHP/PAWN
  • Messages: 953
    • Voir le profil
    • GTA-Hosting
[INC] Radar
« le: 06 Novembre 2009, 21:20:57 »
Etant donné le nombre de personne cherchant a crée un systeme de radar j'ai decidé de depousierer un peux un bout de code que j'avait fait dans un de mes GM, j'en ai profiter pour changer pas mal de chose pour rendre le systeme plus efficace qu'il ne l'etait lors du premier codage.

Cette include sert donc a vous faciliter la creation d'un systeme de radar sur votre serveur et vous fourni toute les fonction pour sa.

Juste une petite precision quand au fonctionement du systeme, enfet lors de la creation d'un radar un cube 'virtuel' est cree devant le radar, lorsqu'un joueur (conducteur) entre dans ce cube sa vitesse est analyser si elle est superieur a c'elle autorisé par le radar le systeme appelera la callback OnPlayerFlashed c'est donc dans cette callback (a ajouter a votre GM) qu'il faudra placer les action a effectuer lorsqu'un joueur est flasher

Telechargement
v1.0


Instalation

Ajouter '#include <radar>' dans votre GM (attention si vous utiliser l'include dans un FS ajouter '#define FILTERSCRIPTS' AVANT l'include !!)
Ajouter le code suivant dans votre GM (ou FS)
Code: (pawn) [Sélectionner]
public OnPlayerFlashed(playerid,radarid,vitesse)
{
return true;
}

N'oubliez pas de parametrer l'include selon vos besoin grace au define en haut de l'include chaque define est commenter ;)

Fonction
Code: (pawn) [Sélectionner]
native CreateRadar(Float:X,Float:Y,Float:Z,Float:A,vitesse = DEFAULT_VITESSE,Float:distcentre = DEFAULT_DIST_CENTRE_ZONE);
native DestroyRadar(radarid);
native GetRadarPos(radarid,&Float:X,&Float:Y,&Float:Z,&Float:A);
native SetRadarPos(radarid,Float:X,Float:Y,Float:Z,Float:A,Float:distcentre = DEFAULT_DIST_CENTRE_ZONE);
native SetRadarVitesse(radarid,vitesse);
native GetRadarVitesse(radarid);
native AttachRadarToPlayer(playerid,radarid)
native DettachRadarToPlayer(playerid,Float:distcentre = DEFAULT_DIST_CENTRE_ZONE);
native IsValidRadar(radarid);
native IsRadarAttach(radarid);
native IsPlayerRadarAttach(playerid);
native GetPlayerRadarAttach(playerid);
native SetZoneRadar(radarid,Float:distcentre = DEFAULT_DIST_CENTRE_ZONE);
native GetRadarProxPlayer(playerid,Float:radi = DEFAULT_PROX_RADAR);
native GetRadarObjectID(radarid);
native GetVehicleSpeed(vehicleid);
native GetNbRadar();

L'explication de chaque fonction est presente au dessus de chacune d'elle dans l'include c'est donc pour cela que je ne ferait pas de description des fonction dans ce topic

Callback
Code: (pawn) [Sélectionner]
forward OnPlayerFlashed(playerid,radarid,vitesse);

La une petite explication s'impose :p
Cette callback est appeler au moment ou un joueur a été flasher par un radar, la callback recoit en parametre l'id du joueur qui a été flasher, l'id du radar qui a flasher le joueur et la vitesse a laquelle le joueur a été flasher
C'est donc dans cette callback qu'il vous faudra placer le code a executé quand un joueur est flasher, autre petite précision, si cette callback renvoi false le flash visuel (ainsi que le son) ne seront pas executé (par exemple vous pouvez faire que si c'est un admin on le flash pas grace a sa :))


Voila en esperant que cette include vous sera utile :)

ps: Je serait interessé pour ceux qui utiliseront cette include de voir de qu'elle facon vous l'avez utilisé :)

++
Fred

Hors ligne R@f

  • *
  • GTAOnline Addict
  • Messages: 4655
    • Voir le profil
Re : [INC] Radar
« Réponse #1 le: 06 Novembre 2009, 22:08:51 »
Sympa, GG ;)

++
R@f

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : [INC] Radar
« Réponse #2 le: 06 Novembre 2009, 22:13:21 »
GG, merci je test ça demain !

Merci pour ce joli partage !
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 nantoine

  • *
  • Tueur
  • Messages: 51
    • Voir le profil
Re : [INC] Radar
« Réponse #3 le: 06 Novembre 2009, 22:18:26 »
J'ai éssayer de testé, mais sa donne sa quand je compile :
Citer
C:\Documents and Settings\Antoine\Bureau\Serveur RP\pawno\include\radar.inc(438) : error 017: undefined symbol "GetVehicleVelocity"
C:\Documents and Settings\Antoine\Bureau\Serveur RP\pawno\include\radar.inc(435) : warning 203: symbol is never used: "vehicleid"
C:\Documents and Settings\Antoine\Bureau\Serveur RP\pawno\include\radar.inc(504) : error 004: function "Radar_Exit" is not implemented
C:\Documents and Settings\Antoine\Bureau\Serveur RP\pawno\include\radar.inc(537) : warning 235: public function lacks forward declaration (symbol "OnPlayerUpdate")
C:\Documents and Settings\Antoine\Bureau\Serveur RP\gamemodes\larptraduitfr.pwn(4087) : warning 209: function "Radar_PlayerDisconnect" should return a value
C:\Documents and Settings\Antoine\Bureau\Serveur RP\gamemodes\larptraduitfr.pwn(47638) : error 029: invalid expression, assumed zero
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


3 Errors.

j'ai pas trop compris... :s

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [INC] Radar
« Réponse #4 le: 06 Novembre 2009, 22:37:43 »
Salut,

bravo, beau script^^

enfin un bon système de radar publié (que je connaisse)

++Sim++





Hors ligne MrFredo

  • *
  • Grand Banditisme
  • Scripteur PHP/PAWN
  • Messages: 953
    • Voir le profil
    • GTA-Hosting
Re : [INC] Radar
« Réponse #5 le: 06 Novembre 2009, 22:50:53 »
nantoine :

L'include tel quel est prevu pour 0.3 (pour le calcul de la vitesse d'un vehicule) , si t'est en 0.2X faut alor refere toi a l'explication de la define GETVEHICLESPEED

Pour t'est autre erreur c'est pck dans ton GM/FS il te manque certaine callback (apparament te manque OnGameModeExit et OnPlayerDisconnect)

Pour l'erreur OnPlayerUpdate j'ai l'impression que ton script n'est meme pas en 0.2X :/

Hors ligne Diablo62

  • *
  • Bandit
  • Script seulement pour m'amuser :)
  • Messages: 305
    • Voir le profil
Re : [INC] Radar
« Réponse #6 le: 06 Novembre 2009, 22:56:57 »
Salut.

Pour ma part, je peux déjà dire que je vais le télécharger et l'installer (surement début de la semaine prochaine car j'ai un We chargé dans lequel je ne pourrait donc pas faire grand choses).

Pour ma part, je ferais en sorte que le joueur qui a été flashé (et non pas le véh car j'ai un mauvais souvenir avec les vols de veh) qui reçoit une amende. De plus, je ferais en sorte que se soit les flics qui mettent les radars (histoire que se soit un peu plus réel) ainsi que certains admins (selon le niveau qu'il sera) et vu que j'ai une commande HRP (qui sert à dire que les Admin sont là mais qu'ils ne sont pas en train de jouer Rp pour X raison), je ferais en sorte que ceux si ne soient pas flashé.
Merci à Colonel Marco pour la Signature

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : [INC] Radar
« Réponse #7 le: 06 Novembre 2009, 22:58:05 »
belle include  ;)

@nantoine : il me semble que tu es encore en 0.2.2  :lmao
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 nantoine

  • *
  • Tueur
  • Messages: 51
    • Voir le profil
Re : [INC] Radar
« Réponse #8 le: 06 Novembre 2009, 23:01:45 »
Non je suis en 0.3a.

Hors ligne Diablo62

  • *
  • Bandit
  • Script seulement pour m'amuser :)
  • Messages: 305
    • Voir le profil
Re : [INC] Radar
« Réponse #9 le: 07 Novembre 2009, 10:09:02 »
Salut.

Cette nuit j'ai pensé à 2 petites suggestions (que j'apporterais peux être moi même dans le radar que j'aurais, mais qui pourrait être pas mal pour les autres ou pour une futur MAJ)

Donc voilà, j'ai pensé à save les Radars et leurs positions, au moins si le serveur Restart (manuellement ou automatiquement), les Radars restent à leur place et on est pas obligé de les remettre.
La 2è chose est donc la possibilité de se Tp au Radar (au moins, vu que lorsque le serveur se redémarrera les radars ne sont plus supprimé, on a la possibilité de les retrouver facilement sans avoir besoin de trop chercher).

Voilà juste mes petites suggestions ;)
Merci à Colonel Marco pour la Signature

Hors ligne nantoine

  • *
  • Tueur
  • Messages: 51
    • Voir le profil
Re : [INC] Radar
« Réponse #10 le: 07 Novembre 2009, 10:10:09 »
Très bonne idée...


Moi quand je compile mon GM, sa met

Citer
C:\Documents and Settings\Antoine\Bureau\Serveur RP\pawno\include\radar.inc(438) : error 017: undefined symbol "GetVehicleVelocity"
C:\Documents and Settings\Antoine\Bureau\Serveur RP\pawno\include\radar.inc(435) : warning 203: symbol is never used: "vehicleid"
C:\Documents and Settings\Antoine\Bureau\Serveur RP\pawno\include\radar.inc(537) : warning 235: public function lacks forward declaration (symbol "OnPlayerUpdate")
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


1 Error.

Et pour le CallBack j'ai pas compris comment on le met :s

Merci.
« Modifié: 07 Novembre 2009, 10:17:03 par nantoine »

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : [INC] Radar
« Réponse #11 le: 07 Novembre 2009, 10:14:06 »
pas trop compris moi


dans le GM pour cree le radar tu a ceci CreateRadar(Float:X,Float:Y,Float:Z,Float:A,vitesse = DEFAULT_VITESSE,Float:distcentre = DEFAULT_DIST_CENTRE_ZONE); donc si il reboot t'es radars seront toujour la
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 Diablo62

  • *
  • Bandit
  • Script seulement pour m'amuser :)
  • Messages: 305
    • Voir le profil
Re : [INC] Radar
« Réponse #12 le: 07 Novembre 2009, 10:27:17 »
Avec cette ligne, le radar se créé (je suis d'accord), mais ça sauvegarde la position que si le serv ne reboot pas. Si donc une personne se co et que les radars sont déjà là, il les verra.

Mais si le serveur doit reboot, le radar ne réapparait pas (je viens de test ;) )
Merci à Colonel Marco pour la Signature

Hors ligne jonjon

  • *** GTA FanBoy ***
  • *
  • Bandit
  • Mouhaha
  • Messages: 420
    • Voir le profil
    • http://metra-concept.fr
Re : [INC] Radar
« Réponse #13 le: 07 Novembre 2009, 11:16:20 »
Nantoine, tu n'as pas tes includes mis à jour en 0.3 c'est tout ;).
== Jonjon ==
== Développeur du Web - http://Metra-concept.fr ==

Hors ligne MrFredo

  • *
  • Grand Banditisme
  • Scripteur PHP/PAWN
  • Messages: 953
    • Voir le profil
    • GTA-Hosting
Re : [INC] Radar
« Réponse #14 le: 07 Novembre 2009, 13:27:41 »
Diablo, je ne ferait pas ta suggestion car ce n'est pas le but premier de l'include, se genre de chose peux facilement être realiser dans le GM/FS qui utilise l'include vu que le tableau RadarInfo contenant les info de chaque radar est accesible :)

Vla un exemple de cmd pour se TP a un radar:

Code: (pawn) [Sélectionner]
if(strcmp(cmd,"/radartp",true) == 0)
{
      if(!IsPlayerAdmin(playerid))
           return SendClientMessage(playerid,0xFFFFFFFF,"Vous n'ête pas autoriser a utiliser cette commande");
   
      tmp = strtok(cmdtext,idx);
      if(!strlen(tmp))
          return SendClientMessage(playerid,0xFFFFFFFF,"UTILISATION: /radartp [radarid]");

     new radarid = strval(tmp);
     if(!IsValidRadar(tmp))
         return SendClientMessage(playerid,0xFFFFFFFF,"Radarid incorect!");

     new Float:X,Float:Y,Float:Z,Float:A;
     GetRadarPos(radarid,X,Y,Z,A);
     SetPlayerPos(playerid,X,Y,Z);
     return SendClientMessage(playerid,0xFFFFFFFF,"Téléporter!");
}


Bon j'ai fait cette cmd direct sur le fofo donc elle marchera ptet pas tel quel mais sa montre comment faire ^^