GTAOnline.net

IV : Multiplayer (iv:mp) => Scripting IV:MP [Squirrel center] => Discussion démarrée par: Orlenzz le 28 Avril 2012, 16:13:48

Titre: Commande NYPD un peut trop simple
Posté par: Orlenzz le 28 Avril 2012, 16:13:48
Je montre les quelques commandes de mon Gamemode ce sont les commandes de la police; mais je trouve sa vraiment pas complet et simple. Mais je trouve aussi que les commandes défois sont trop longue a taper dans le jeu.

[spoiler]

   //========================= | Commandes Faction 3 *NYPD* | =======================   
   if (cmd[0] == "/ordipolice")
   {
      if (Faction[playerid] == 3 || Faction[playerid] == 10)
      {
         if(cmd.len() < 2)
            return sendPlayerMessage(playerid, "Usage: /ordipolice [ID Joueur]", Orange, false);
            
         local id = returnUser(cmd[1]);
         if(isPlayerConnected(id));            
         sendPlayerMessage(playerid, "________| Ordinateur Police |________", Bleu, false);
         sendPlayerMessage(playerid, "Nom :" +getPlayerName(id)+"", Rouge, false);
         sendPlayerMessage(playerid, "Niveau de recherche : "+wantedName(Wanted[playerid])+"", Rouge, false);
         sendPlayerMessage(playerid, "Délits : "+delitName(Delit[playerid])+"", Rouge, false);
      }
      else
         sendPlayerMessage(playerid, "Vous ne faites pas policier", Rougesombre, false);
      return 1;
   }
   
   if (cmd[0] == "/menotter" || cmd[0] == "/men")
   {
      if (Faction[playerid] == 3)
      {
         if(cmd.len() >= 2)
         {
            local id = returnUser(cmd[1]);
            if(isPlayerConnected(id))   
            {         
               togglePlayerControls(id, false)
               sendPlayerMessage(playerid, "Vous avez menotter: '"+getPlayerName(id)+"'!", Vert);
               sendPlayerMessage(id, "Officer '"+getPlayerName(playerid)+"' vous a menotter!", Bleu);
            }
         }
      }
      else
         sendPlayerMessage(playerid, "Vous ne faites pas policier", Rougesombre, false);
      return 1;
   }
   if (cmd[0] == "/demenotter" || cmd[0] == "/demen")
   {
      if (Faction[playerid] == 3)
      {
         if(cmd.len() >= 2)
         {
            local id = returnUser(cmd[1]);
            if(isPlayerConnected(id))   
            {         
               togglePlayerControls(id, true)
               sendPlayerMessage(playerid, "Vous avez démenotter: '"+getPlayerName(id)+"'!", Vert);
               sendPlayerMessage(id, "Officer '"+getPlayerName(playerid)+"' vous a démenotter!", Bleu);
            }
         }
      }
      else
         sendPlayerMessage(playerid, "Vous ne faites pas policier", Rougesombre, false);
      return 1;
   }
   if (cmd[0] == "/prison")
   {
      if (Faction[playerid] == 3 || Faction[playerid] == 10)
      {
                   if(Prison[playerid] == 1) return sendPlayerMessage(playerid, "ERREUR: Vous ne pouvez pas utiliser cette commande dans la prison!", Rouge);
         if(cmd.len() < 3)
            return sendPlayerMessage(playerid, "Usage: /mettreprison [ID] [1: Mettre en prison]");
         {
            local id = returnUser(cmd[1]);
            if(isPlayerConnected(id))   
            {   
               Prison[playerid] = 1;      
               togglePlayerControls(id, true)
               setPlayerHeading(playerid, 17.562088);
               setPlayerCoordinates(playerid, -1076.477539, -464.480957, 3.300139);
               sendPlayerMessage(id, "Officer '"+getPlayerName(playerid)+"' vous a mis en prison!", Bleu);
            }
            local prison = cmd[2].tointeger();
            if(prison >= 1 && prison <= 1)
            {
               Prison[id] = prison;
               local ini = EasyINI("scripts/cadmin/playerfiles/"+getPlayerName(id)+".cadmin");
               ini.setKey("PlayerInfo", "prison", prison);
               ini.saveData();
            }
         }
      }
      else
         sendPlayerMessage(playerid, "Vous n'etes pas policier", Rougesombre, false);
      return 1;
   }
   if (cmd[0] == "/sortirprison")
   {
      if (Faction[playerid] == 3 || Faction[playerid] == 10)
      {
                   if(Prison[playerid] == 1) return sendPlayerMessage(playerid, "ERREUR: Vous ne pouvez pas utiliser cette commande dans la prison!", Rouge);
         if(cmd.len() < 3)
            return sendPlayerMessage(playerid, "Usage: /sortirprison [ID] [0: Sortir de prison]", Orange, false);
         {
            local id = returnUser(cmd[1]);
            if(isPlayerConnected(id))   
            {   
               Prison[playerid] = 1;      
               togglePlayerControls(id, true)
               setPlayerHeading(playerid, 92.899628);
               setPlayerCoordinates(playerid, -1144.726318, -374.904785, 3.079221);
               sendPlayerMessage(id, "Vous êtes sorti de prison", Bleu);
               sendPlayerMessage(id, "Essayez d'être un bon citoyen", Rouge);
               sendPlayerMessage(playerid, "Faites /delit [ID Joueur]
               sendPlayerMessage(playerid, "Faites /retirersuspect [ID Joueur]
            }
            local prison = cmd[2].tointeger();
            if(prison >= 0 && prison <= 0)
            {
               Prison[id] = prison;
               local ini = EasyINI("scripts/cadmin/playerfiles/"+getPlayerName(id)+".cadmin");
               ini.setKey("PlayerInfo", "prison", prison);
               ini.saveData();
            }
            return 1;
         }
      }
      else
         sendPlayerMessage(playerid, "Vous n'etes pas policier", Rougesombre, false);
      return 1;
   }
   if (cmd[0] == "/aidenypd")
   {
      if (Faction[playerid] == 3)
      {
         sendPlayerMessage(playerid, "________| Commandes NYPD ________| ", Bleu, false);
         sendPlayerMessage(playerid, "/r(adio) /fcmd /service(on)(off) /prison /sortirprison /menotter /demenotter", Jaune, false);
         sendPlayerMessage(playerid, "/desarmer /ordipoliceon /ordipolice(ID Joueur) /su(spect) /retirersu(spect) /delit", Jaune, false);
         sendPlayerMessage(playerid, "/retirerpermisvoiture(retirerpv) /retirerdrogue(retirerdrog) ", Jaune, false);
      }
      else
         sendPlayerMessage(playerid, "Vous ne faites pas parti d'une Faction", Rougesombre, false);   
      return 1;
   }
   if (cmd[0] == "/serviceon")
   {
      if (Faction[playerid] == 3)
      {
         //setPlayerClothes(playerid, 1, 30);
         givePlayerWeapon(playerid, 9, 500);
         givePlayerWeapon(playerid, 13, 500);
         setPlayerArmour(playerid, 100);
         setPlayerColor(playerid, Bleu);
         sendMessageToAll("________________NYPD_________________", Bleu, false);
         sendMessageToAll("* "+getPlayerName(playerid)+" commence sont service*", Violet, false);
      }
      else
         sendPlayerMessage(playerid, "Vous n'etes pas Policier!", Rougesombre, false);
      return 1;
   }
   if (cmd[0] == "/serviceoff")
   {
      if (Faction[playerid] == 3)
      {
         removePlayerWeapons(playerid);
         setPlayerArmour(playerid, 0);
         sendMessageToAll("________________NYPD_________________", Bleu, false);
         sendMessageToAll("*"+getPlayerName(playerid)+" a fini sont service*", Violet, false);
      }
      else
         sendPlayerMessage(playerid, "Vous n'etes pas Policier", Rougesombre, false);
      return 1;
   }
   
   if (cmd[0] == "/r" || cmd[0] == "/radio")
   {
      if(Faction[playerid] == 1 || Faction[playerid] == 2 || Faction[playerid] >= 4 && Faction[playerid] <= 9)
         return sendPlayerMessage(playerid, "Vous ne faites pas parti d'une Faction", Rougesombre, false);
         
      if (cmd.len() < 2)
         return sendPlayerMessage(playerid, "USE: /r [Texte]", Orange, false);
         
      for (local i = 0; i < MAX_PLAYERS; i++)
      {
         if (Faction == 3 || Faction == 10)
         sendPlayerMessage(i, "|*Radio Police*|"+factionName(Faction[playerid])+"|"+getPlayerName(playerid)+": "+command.slice(cmd[0].len()+1, command.len())+"...", 0x00CACAFB, false);
         //sendPlayerMessage(i, "(( Admin "+getPlayerName(playerid)+"["+Admin[playerid]+"]: "+command.slice(cmd[0].len()+1, command.len())+" ))", 0x00CACAFB, false);
      }
      return 1;
   }
   if (cmd[0] == "/retirerpermisvoiture" || cmd[0] == "/retirerpv")
   {
      if(Faction[playerid] == 1 || Faction[playerid] == 2 || Faction[playerid] >= 4 && Faction[playerid] <= 9)
         return sendPlayerMessage(playerid, "Vous n'etes pas Policier", Rougesombre, false);
         
      if(cmd.len() < 3)
         sendPlayerMessage(playerid, "Usage: /retirerpv [Joueur ID] [0:retirer permis]");
         
      local id = returnUser(cmd[1]);
      if(!isPlayerConnected(id))
         return sendPlayerMessage(playerid, "Invalid player!", Rouge);
         
      if(Logged[id] == 0)
         return sendPlayerMessage(playerid, "Player '"+getPlayerName(id)+"' is not logged in!", Rouge);
         
      local permisVoiture = cmd[2].tointeger();
      if(permisVoiture >= 0 && permisVoiture <= 1)
      {
         sendPlayerMessage(playerid, "Vous avez retirer le permis voiture à '"+getPlayerName(id)+"'", Bleu, false);
         sendPlayerMessage(id, "'"+getPlayerName(playerid)+"' vous a retirer votre permis voiture", Rouge, false);
         PermisVoiture[id] = permisVoiture;
         local ini = EasyINI("scripts/cadmin/playerfiles/"+getPlayerName(id)+".cadmin");
         ini.setKey("PlayerInfo", "permisvoiture", permisVoiture);
         ini.saveData();
      }
      return 1;
   }
   if (cmd[0] == "/retirerdrogue" || cmd[0] == "/retirerdrog")
   {
      if(Faction[playerid] == 1 || Faction[playerid] == 2 || Faction[playerid] >= 4 && Faction[playerid] <= 9)
         return sendPlayerMessage(playerid, "Vous n'etes pas Policier", Rougesombre, false);
         
      if(cmd.len() < 3)
         sendPlayerMessage(playerid, "Usage: /retirerdrog [Joueur ID] [0: retirer tous]");
         
      local id = returnUser(cmd[1]);
      if(!isPlayerConnected(id))
         return sendPlayerMessage(playerid, "Invalid player!", Rouge);
         
      if(Logged[id] == 0)
         return sendPlayerMessage(playerid, "Player '"+getPlayerName(id)+"' is not logged in!", Rouge);
         
      local drogue = cmd[2].tointeger();
      if(drogue >= 0 && drogue <= 50)
      {
         sendPlayerMessage(playerid, "Vous avez enlever la drogue de '"+getPlayerName(id)+"'", Bleu, false);
         sendPlayerMessage(id, "'"+getPlayerName(playerid)+"' vous a retirer toutes votre drogue", Rouge, false);
         Drogue[id] = drogue;
         local ini = EasyINI("scripts/cadmin/playerfiles/"+getPlayerName(id)+".cadmin");
         ini.setKey("PlayerInfo", "drogue", drogue);
         ini.saveData();
      }
      return 1;
   }
   if(cmd[0] == "/desarmer")
   {
      if(Faction[playerid] == 1 || Faction[playerid] == 2 || Faction[playerid] >= 4 && Faction[playerid] <= 9)
          return sendPlayerMessage(playerid, "Vous n'etes pas Policier!", Rougesombre, false);

      if(cmd.len() < 2)
         return sendPlayerMessage(playerid, "Usage: /desarmer [ID]", Orange, false);
            
      local id = returnUser(cmd[1]);
      if(!isPlayerConnected(id))
         return sendPlayerMessage(playerid, "Player invalide!", Rouge, false);
   
      sendPlayerMessage(playerid, "Vous avez désarmer '"+getPlayerName(id)+"'", Vert, false);
      sendPlayerMessage(id, "Officier "+getPlayerName(playerid)+" vous a désarmer", Bleu, false);
      removePlayerWeapons(id);
      return 1;
   }
   
   if(cmd[0] == "/suspect" || cmd[0] == "/su")
   {
      if(Faction[playerid] == 1 || Faction[playerid] == 2 || Faction[playerid] >= 4 && Faction[playerid] <= 9)
          return sendPlayerMessage(playerid, "Vous n'etes pas Policier", Rougesombre, false);

      if(cmd.len() < 3 || !isNumeric(cmd[2]))
         return sendPlayerMessage(playerid, "USE: /su [ID] [Niveau 1 à 5]", Orange, false);
            
      local id = returnUser(cmd[1]);
      if(!isPlayerConnected(id))
         return sendPlayerMessage(playerid, "Player invalide!", Rouge, false);
   
      local wanted = cmd[2].tointeger();
      sendPlayerMessage(playerid, "You changed "+getPlayerName(id)+"'s wanted level to: "+cmd[2], Vert, false);
      sendPlayerMessage(id, "Vous etes recharcher par la police. Niveau: "+cmd[2], Bleu, false);
      displayPlayerInfoText(id, "~r~Vous êtes rechercher pas la Police.", 10000);
      setPlayerWantedLevel(id, wanted);
      
      local wanted = cmd[2].tointeger();
      if(wanted >= 1 && wanted <= 5)
      {
         Wanted[id] = wanted;
         local ini = EasyINI("scripts/cadmin/playerfiles/"+getPlayerName(id)+".cadmin");
         ini.setKey("PlayerInfo", "wanted", wanted);
         ini.saveData();
      }
      return 1;
   }
   if(cmd[0] == "/retirersuspect" || cmd[0] == "/retirersu")
   {
      if(Faction[playerid] == 1 || Faction[playerid] == 2 || Faction[playerid] >= 4 && Faction[playerid] <= 9)
          return sendPlayerMessage(playerid, "Vous n'etes pas Policier", Rougesombre, false);

      if(cmd.len() < 3 || !isNumeric(cmd[2]))
         return sendPlayerMessage(playerid, "Usage: /retirersu [ID]
  • ", Orange, false);

            
      local id = returnUser(cmd[1]);
      if(!isPlayerConnected(id))
         return sendPlayerMessage(playerid, "Player invalide!", Rouge, false);
   
      local wanted = cmd[2].tointeger();
      sendPlayerMessage(playerid, "You changed "+getPlayerName(id)+"'s wanted level to: "+cmd[2], Vert, false);
      displayPlayerInfoText(id, "~g~Vous n'êtes plus rechercher pas la Police", 10000);
      setPlayerWantedLevel(id, wanted);
      
      local wanted = cmd[2].tointeger();
      if(wanted >= 0 && wanted <= 0)
      {
         Wanted[id] = wanted;
         local ini = EasyINI("scripts/cadmin/playerfiles/"+getPlayerName(id)+".cadmin");
         ini.setKey("PlayerInfo", "wanted", wanted);
         ini.saveData();
      }
      return 1;
   }
   if(cmd[0] == "/delit")
   {
      if(Faction[playerid] == 1 || Faction[playerid] == 2 || Faction[playerid] >= 4 && Faction[playerid] <= 9)
          return sendPlayerMessage(playerid, "Vous n'etes pas Policier", Rougesombre, false);

      if(cmd.len() < 3)
         return sendPlayerMessage(playerid, "USE: /delit [ID] [Délit 0 à 5]", Orange, false);
            
      local id = returnUser(cmd[1]);
      if(!isPlayerConnected(id))
         return sendPlayerMessage(playerid, "Player invalide!", Rouge, false);
      sendPlayerMessage(playerid, "Vous avez mis le délit "+cmd[2], Rouge, false);
      
      local delit = cmd[2].tointeger();
      if(delit >= 0 && delit <= 5)
      {
         Delit[id] = delit;
         local ini = EasyINI("scripts/cadmin/playerfiles/"+getPlayerName(id)+".cadmin");
         ini.setKey("PlayerInfo", "delit", delit);
         ini.saveData();
      }
      return 1;
   }[/spoiler]

Je voudrais aussi faire un systeme d'ordinateur de police comme sur le jeu en lui meme, mais la je bloque.

Si vous avez des idées j'en veux bien.  :(

Double post
Désolé pour le double post, mais je ne trouve pas le moyen de supprimé les blips de bus.

La commande qui active les blips d'arret de bus sa c'est OK:
[spoiler]

   if (cmd[0] == "/ligneA")
   {
      if (Job[playerid] == 7)
      {
         sendPlayerMessage(playerid, "______________| BUS LIGNE A |_______________", Bleu, false);
         sendPlayerMessage(playerid, "Vous commencez sur la ligne A", Violet, false);
         sendPlayerMessage(playerid, "Pour arreter votre trajet faites /stopligneA", Violet, false);
         createBlip(85, 2338.779297, 366.592560, 6.085224);// Départ Arrivée Aéroport
         createBlip(85, 1268.476685, 500.623383, 27.982952);
         createBlip(85, 830.380249, -237.454437, 15.436661);
         createBlip(85, 1311.130615, -213.826172, 24.466211);
         createBlip(85, 1235.081909, -116.065910, 27.718306);
      }
      return 1;
   }[/spoiler]

La commande qui normalement devrais supprimé les blips et ba non et j'ai aucune erreur:
[spoiler]

   if (cmd[0] == "/stopligneA")
   {
      if (Job[playerid] == 7)
      {
         sendPlayerMessage(playerid, "______________| BUS LIGNE A |_______________", Bleu, false);
         sendPlayerMessage(playerid, "Vous arreter la ligne A", Violet, false);
         deleteBlip(85);
      }
   }
   return 1;[/spoiler]
Titre: Re : Commande NYPD un peut trop simple
Posté par: Orlenzz le 01 Mai 2012, 11:55:53
Merci, pour les blips justement je veux qu'il soit activer que si un chauffeur et la, parce que si un joueur attend un bus et que y'a aucun chauffeur de bus il pourra attendre longtemps.  ;)

Sinon j'ai un probleme avec l'argent et je comprend pas:
En fait quand je met par exemple 200$ sur le compte d'un joueur et ensuite il déco, quand il revien sa met toujours 200$ sur le fichier du compte mais sur le jeu sa met 190$.

Après il se redeconnecte donc dans le fichier du joueur sa sauvegarde 190$, il se reco et dans le jeu sa lui met 180$.

Et au bout d'un moment ba y'a plus rien.

Comment résoudre ce probleme ?
Titre: Re : Commande NYPD un peut trop simple
Posté par: ApocKalipsS le 02 Mai 2012, 12:46:16
J'ai pas vu ton code mais si tu utilises le gestionnaire d'argent d'IG directement au lieu d'une variable, sâches qu'il y a des bugs en fonction de la version que tu utilises, donc sauvegarde toujours depuis une variable joueur.
Titre: Re : Commande NYPD un peut trop simple
Posté par: GjMan9 le 08 Juillet 2012, 18:02:49
Exact getplayermoney et setplayermoney sont foireux, il ne faut pas les utiliser.