• 22 Avril 2025, 17:24:45


Auteur Sujet: Cherche fonction permettant de cacher l'icone map d'un joueur.[RESOLU]  (Lu 2723 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Thaank81

  • *
  • Criminel
  • Messages: 44
    • Voir le profil
Bonjour ! Cette nuit m'est venu une idée, de faire une commande activable par l'admin uniquement, de cacher l'icone map d'un joueur, ou même le sien bref qu'il devienne introuvable sur la map quoi ! Non je ne cherche pas de commande, il n'y a pas de soucis je me la ferais, du moins j’essaierai, mais je cherche une fonction permettant de faire ça, j'en ai trouvé plusieurs sur wiki-samp sans comprendre si c'était celle que je cherchais.

Si quelqu'un connait la fonction, pourrait-il me la dire ??? Merci ! :)

J'ai trouvé celles la mais je crois pas que ca soit les bonnes :
SetPlayerMarkerForPlayer ?
RemovePlayerMapIcon ?
SetPlayerMapIcon ?

Merci !
« Modifié: 13 Août 2011, 22:04:06 par Thaank81 »

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Cherche fonction permettant de cacher l'icone map d'un joueur.
« Réponse #1 le: 12 Août 2011, 20:25:46 »
ShowPlayersMarkers fait ça je crois :P
++

Hors ligne Thaank81

  • *
  • Criminel
  • Messages: 44
    • Voir le profil
Re : Cherche fonction permettant de cacher l'icone map d'un joueur.
« Réponse #2 le: 12 Août 2011, 21:03:23 »
j'ai fais ca :
------------------------------------------------
   if(strcmp(cmd,"/iconoff",true)==0)
   {
       if(IsPlayerAdmin(playerid))
      {
         ShowPlayersMarkers(0)
         SendClientMessage(playerid,COLOR_WHITE,"Vous êtes indétectable sur le radar!");
         return 1;
      }
   }
   if(strcmp(cmd,"/iconon",true)==0)
   {
       if(IsPlayerAdmin(playerid))
      {
         ShowPlayersMarkers(1)
         SendClientMessage(playerid,COLOR_WHITE,"Vous êtes de nouveaux détectable sur le radar !");
         return 1;
      }
   }
------------------------------
Et je récolte un : error 017: undefined symbol "ShowPlayersMarkers"
Mais je crois que "ShowPlayersMarkers(*)" ne se met que dans OnGameModeInit, quand je cherche sur google je le vois que là et j'le trouve pas sur wiki-samp et peut peut être ne pas être utilisé dans OnPlayerCommandText, de plus je ne la trouve pas dans le volet de droite sous l'include a_samp.inc.. :s
Ou alors j'ai simplement oublié quelque chose de tout bête ? ^^'

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Cherche fonction permettant de cacher l'icone map d'un joueur.
« Réponse #3 le: 12 Août 2011, 21:19:43 »
J'ai fait une faute, c'est ShowPlayerMarkers et non ShowPlayersMarkers.

Au pire, Ctrl+F dans la liste des fonctions du Wiki ;)
++

Hors ligne Thaank81

  • *
  • Criminel
  • Messages: 44
    • Voir le profil
Re : Cherche fonction permettant de cacher l'icone map d'un joueur.
« Réponse #4 le: 12 Août 2011, 23:05:20 »
alors j'ai esseyai ca marche pas dutout :s la commande marche car la phrase s'affiche mais le ShowPlayerMarkers marche pas :(
une autre idée ??

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Cherche fonction permettant de cacher l'icone map d'un joueur.
« Réponse #5 le: 12 Août 2011, 23:23:18 »
Ah ben oui, j'avais pas vu ta commande, c'est sur que ça ne fonctionnera pas ^^

Si le joueur tape /iconoff, il n'y aura plus d'icônes, pour tout le monde.

Dans ce cas là, change la valeur alpha (transparence) de la couleur du joueur avec SetPlayerColor ;)
++

Hors ligne Thaank81

  • *
  • Criminel
  • Messages: 44
    • Voir le profil
Re : Cherche fonction permettant de cacher l'icone map d'un joueur.
« Réponse #6 le: 13 Août 2011, 03:06:22 »
J'ai essayé avec SetPlayerColor(playerid,0xFF); et SetPlayerColor(playerid,0x00); et là couleur est noire pour les deux, ca doit pas être ca la transparence si ?

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Cherche fonction permettant de cacher l'icone map d'un joueur.
« Réponse #7 le: 13 Août 2011, 09:53:55 »
C'est 0x(Rouge)(Vert)(Bleu)00 pour la transparence et 0x(R)(V)(B)FF pour l'opacité.

Hors ligne Thaank81

  • *
  • Criminel
  • Messages: 44
    • Voir le profil
Re : Cherche fonction permettant de cacher l'icone map d'un joueur.
« Réponse #8 le: 13 Août 2011, 13:09:28 »
J'ai essayé avec 0x00000000 (00 pour chaque couleur car j'ai lu sur les serveurs samp que c'était la plus basse valeur de la couleur, et les 2 derniers 0 pour la transparence)... Et ma couleur est noire, si je met que des F c'est blanc..
0xFFFFFF00 c'est blanc, et 0x000000FF c'est noir...
J'crois que c'est donc pas possible ..?

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Cherche fonction permettant de cacher l'icone map d'un joueur.
« Réponse #9 le: 13 Août 2011, 13:49:18 »
Utilise cette fonction SetPlayerMarkerForPlayer en t'aidant des exemples du wiki



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

Hors ligne Thaank81

  • *
  • Criminel
  • Messages: 44
    • Voir le profil
Re : Cherche fonction permettant de cacher l'icone map d'un joueur.
« Réponse #10 le: 13 Août 2011, 20:39:56 »
Yeeaaah nickel !! Merci Ssk et Gilux pour votre aide !!
J'ai fais ca ! Si ca en interesse certain, encore un soucis juste que je reçois le message 40 fois x) mais c'est à cause du loop, quand j'aurais réglé ca ca sera parfait !! :)
---------------------------
   if(strcmp(cmdtext, "/iconoff", true) == 0  && IsPlayerAdmin(playerid))
   {
      for(new i=0; i<=MAX_PLAYERS; i++)
      {
      SetPlayerMarkerForPlayer( i, playerid, ( GetPlayerColor( playerid ) & 0xFFFFFF00 ) );
      SendClientMessage(playerid, COLOR_WHITE, "Tu n'es plus visible sur la carte !");
      }
     return 1;
   }
----------------------------

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Salut,
Si tu mets playerid dans la boucle, c'est le joueur qui tape la commande qui reçoit tout. Dans ce cas, utilise i à la place ;)
Et c'est mieux d'utiliser GetMaxPlayers qui te donnera le nombre de slots que MAX_PLAYERS qui fera tourner ta boucle 500 fois quoi qu'il arrive ;)

Voilà le code corrigé :

  
if(strcmp(cmdtext"/iconoff"true) == 0  && IsPlayerAdmin(playerid))
   {
      for(new 
i=0GetMaxPlayers(); i++)
      {
      
SetPlayerMarkerForPlayeriplayerid, ( GetPlayerColorplayerid ) & 0xFFFFFF00 ) );
      
SendClientMessage(iCOLOR_WHITE"Tu n'es plus visible sur la carte !");
      }
     return 
1;
   }


++