GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Showroom SA:MP => Discussion démarrée par: spiirou le 28 Juin 2010, 19:11:24

Titre: [FS] N2O for Admins
Posté par: spiirou le 28 Juin 2010, 19:11:24

(http://i63.servimg.com/u/f63/13/93/68/92/n2o10.png)

Présentation :

Bonjour, je vous présente mon 1er FS public : Nos For Admins
Pas besoin de vous faire un dessin, je suppose que le but de ce dernier est clair:
Quand un Admin en RCON entre dans un véhicule valide, celui-ci reçoit de la Nitro X10.
Celle-ci s'enlève quand l'Admin sort.

Credits :

Petit FS, Petits Crédits :
Moi et Cristab, qui m'a aidé a résoudre mes erreurs.

Téléchargement :

(http://www.sciencesettechniques.com/images/icones/icon_dwl_1.png) (http://solidfiles.com/d/6367/)
SolidFiles


(http://images.maketecheasier.com/2010/01/pastebin-terminalicon.png) (http://pastebin.gtaonline.fr/pastebin.php?show=814)
PasteBin



EDIT : Quelque chose qui va bien :
Le Nos'n'Rep For Admins :

SolidFiles (http://solidfiles.com/d/5e79/)

Pastebin (http://pastebin.gtaonline.fr/pastebin.php?show=853)





Titre: Re : [FS] N2O for Admins
Posté par: BuBuNo le 28 Juin 2010, 19:18:49
bien jouer pour ton premier FS :P
Titre: Re : [FS] N2O for Admins
Posté par: cristab le 28 Juin 2010, 19:25:20
bien jouer pour un debut dans le code tes futurs code code hate de les voir :)

en tout cas je trouve que nous sommes pas nombreux a partir de 0 :)
Titre: Re : [FS] N2O for Admins
Posté par: Aegoss le 28 Juin 2010, 19:36:22
Je comprends rien mais c'est jolie, bravo :)
Titre: Re : [FS] N2O for Admins
Posté par: spiirou le 28 Juin 2010, 19:40:10
Mdrr, merci all  :D
Titre: Re : [FS] N2O for Admins
Posté par: RaiDeN le 28 Juin 2010, 19:55:41
Félicitations pour ton premier FS, bonne chance pour la suite !


Raiden
Titre: Re : [FS] N2O for Admins
Posté par: cristab le 28 Juin 2010, 20:01:18
pour certain sa peu etre inutile pour d'autre oui

mais ce qui fait la beauté du partage n'est pas de savoir si sa va etre utile ou non mais de regarder comment il fait est de peu etre s'interesser au fonction utilier/crée

et je tien a souligner qu'il n'est pas partit d'un script telecharger est dans ce cas nous ne somme pas nombreux est ceux que je voit partir de rien je les soutien est les aides du mieux possible
Titre: Re : [FS] N2O for Admins
Posté par: spiirou le 28 Juin 2010, 20:06:37
Effectivement, je suis parti de new.pwn  :P
Titre: Re : [FS] N2O for Admins
Posté par: S!m le 29 Juin 2010, 00:29:09
Salut,

bravo, filterscript interessant, t'ayant permis de pratiquer et utile aux débutants (surtout, il est simple).

par contre, j'aurais 2 - 3 petites suggestions/commentaires:

 - Dans ce bout de code:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if (IsPlayerAdmin(playerid))
{
    new TypeVoiture;
    TypeVoiture = GetVehicleModel(vehicleid);
    if(TypeVoiture != IsInvalidNosVehicle(vehicleid))
    {
    AddVehicleComponent(vehicleid,1010);
      }
  }
return 1;
}
Que signifie :
    if(TypeVoiture != IsInvalidNosVehicle(vehicleid))sachant que la fonction IsInvalidNosVehicle prend la valeur 1 ou 0?
Si le modèle n'est pas (0 ou 1) ?!?!

Ensuite, concernant ce code ci:
public OnPlayerExitVehicle(playerid, vehicleid)
{
if (IsPlayerAdmin(playerid))
{
RemoveVehicleComponent(vehicleid,1010);
}
return 1;
}

Tu pourrais utiliser GetVehicleComponentInSlot(vehicleid, CARMODTYPE_NITRO) afin d'enlever le composant seulement s'il est présent.

voilà, c'est tout pour le moment.
Bonne chance

++Sim++
Titre: Re : [FS] N2O for Admins
Posté par: Nesik le 29 Juin 2010, 08:33:59
J'aime beaucoup ce FS,il est bien trouver  :D
Titre: Re : [FS] N2O for Admins
Posté par: Barto le 29 Juin 2010, 09:27:05
Beau FS. Bien joué !
Titre: Re : [FS] N2O for Admins
Posté par: Hip-hop le 29 Juin 2010, 14:55:18
Super FS pour un Debut !
Titre: Re : [FS] N2O for Admins
Posté par: spiirou le 29 Juin 2010, 16:28:09
En fait, faut juste un peu de logique.
Ce n'est pas la seule chose, mais après ça vient.
PS: Il faut aussi quelqu'un qui s'y connait si on a des erreurs qu'on arrive pas a résoudre ^^
Sinon, encore merci  :)

SPiiROo
Titre: Re : [FS] N2O for Admins
Posté par: Ssk le 29 Juin 2010, 16:37:23
Béh, la programmation c'est comme les mathématiques, c'est de la science et la science est logique (la plupart du temps).


Il faut juste de l'organisation et se faire un système dans la tête ensuite le retranscrire sous forme de code.

Dans son cas (je l'explique pour Dizzy-Benno et pour ceux qui le veulent).

Spiirou, utilise les Callbacks, qui sont appelées quand un joueur monte, et sort d'un véhicule.

Ensuite quand le joueur monte dans un véhicule, il regarde si le véhicule peut prendre de la nitro, et si le joueur qui y monte est un admin, si toute ces conditions sont réunis alors on met de la nitro dans le véhicule, sinon on ne fait rien.

Ensuite, si le joueur descend du véhicule, et qu'il est admin, il retire la nitro qui est contenu dans le véhicule (à noter qu'il ne vérifie pas si le véhicule à de la nitro avant de la retirée , d'où la remarque de Sim, mais SAMP s'occupe de vérifié ^^ )
Titre: Re : Re : [FS] N2O for Admins
Posté par: Ssk le 29 Juin 2010, 16:49:29
Enfaite j'ai la logique mais des fois je coince aux niveau de la question " quelle fonction utiliser pour cela"

C'est la que la recherche est utile ^^

Ou le wiki de SAMP (mais il est down ...), mais ne t'inquiète pas avec la pratique tu n'aura plus besoin du wiki ^^
Titre: Re : [FS] N2O for Admins
Posté par: cristab le 29 Juin 2010, 20:14:25
Sim rooo

if (IsPlayerAdmin(playerid))//si admin
   {
      new TypeVoiture;//var
      TypeVoiture = GetVehicleModel(vehicleid);//var pour le Type de voiture
      if(TypeVoiture != IsInvalidNosVehicle(vehicleid))//si le type de voiture n'est pas dans la liste des invalidenos
      {
         AddVehicleComponent(vehicleid,1010);//on ajoute le nos
      }
   }
Titre: Re : Re : [FS] N2O for Admins
Posté par: S!m le 30 Juin 2010, 00:54:38
Salut,

Sim rooo

if (IsPlayerAdmin(playerid))//si admin
   {
      new TypeVoiture;//var
      TypeVoiture = GetVehicleModel(vehicleid);//var pour le Type de voiture
      if(TypeVoiture != IsInvalidNosVehicle(vehicleid))//si le type de voiture n'est pas dans la liste des invalidenos
      {
         AddVehicleComponent(vehicleid,1010);//on ajoute le nos
      }
   }

je ne comprend toujours pas comment le modèle de la voiture (normalement de 400 à 611 je crois) est supposé être comparé à la valeur que retourne la fonction (toujours 0 ou 1). Normalement ce test sera toujours vérifié (comme le modèle est toujours différent que 0 ou 1) et le code est en quelque sorte inutile.
D'ailleurs il serait plus judicieux de passer le modèle du véhicule en paramètre plutôt que son ID. On éviterais d'appeler GetVehicleModel plusieurs fois dans la fonction.

En gros, moi je ferais:

IsInvalidNosVehicleModel(model)//changé le nom pour + de clarté
{
#define MAX_INVALID_NOS_VEHICLES 65

new InvalidNosVehicles[MAX_INVALID_NOS_VEHICLES] =
{
417,425,430,432,435,441,446,447,448,449,450,452,453,454,
460,461,462,463,464,465,468,469,472,473,476,481,484,487,
488,493,497,501,509,510,511,512,513,519,520,521,522,523,
537,538,548,553,563,564,569,570,577,581,584,586,590,591,
592,593,594,595,606,607,608,610,611
};
for(new i = 0; i < MAX_INVALID_NOS_VEHICLES; i++)
{
if(model == InvalidNosVehicles[i])
{
return true;
}
}
return 0;

}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
//si le joueur est admin et que son véhicule peut prendre de la nitro
if (IsPlayerAdmin(playerid) && !IsInvalidNosVehicleModel(GetVehicleModel(vehicleid)))
{
    AddVehicleComponent(vehicleid,1010);
  }
return 1;
}

enfin chacun peut faire comme il le souhaite

++Sim++
Titre: Re : [FS] N2O for Admins
Posté par: cristab le 30 Juin 2010, 08:10:01
ah ben oui bien vue ^^
Titre: Re : [FS] N2O for Admins
Posté par: spiirou le 30 Juin 2010, 09:34:43
Effectivement, bien vu comme l'a dit Cristab  :D
Titre: Re : Re : [FS] N2O for Admins
Posté par: BuBuNo le 30 Juin 2010, 13:38:53
Sim rooo

if (IsPlayerAdmin(playerid))//si admin
   {
      new TypeVoiture;//var
      TypeVoiture = GetVehicleModel(vehicleid);//var pour le Type de voiture
      if(TypeVoiture != IsInvalidNosVehicle(vehicleid))//si le type de voiture n'est pas dans la liste des invalidenos
      {
         AddVehicleComponent(vehicleid,1010);//on ajoute le nos
      }
   }

Je me demandais es ce que si je fait AddVehicleComponent sur une moto par exemple sa ne metteras pas de nos donc je pense que la fonctions est deja proteger un peu :P Donc bon moi j'aurais plutôt fait comme ceci :

if (IsPlayerAdmin(playerid))//si admin
   {
     
         AddVehicleComponent(vehicleid,1010);//on ajoute le nos
   }

Qui je pense marche :P
Titre: Re : [FS] N2O for Admins
Posté par: Mr_C30 le 30 Juin 2010, 13:44:18
GG  ;) bravo a toi :P
Titre: Re : [FS] N2O for Admins
Posté par: Ssk le 30 Juin 2010, 14:30:20
Sim, tu devrai savoir qu'on retourne toujours le même type de données lol, toi tu retourne sois un boolean soit un integer ^^
Titre: Re : Re : Re : [FS] N2O for Admins
Posté par: cristab le 30 Juin 2010, 20:48:21
Sim rooo

if (IsPlayerAdmin(playerid))//si admin
   {
      new TypeVoiture;//var
      TypeVoiture = GetVehicleModel(vehicleid);//var pour le Type de voiture
      if(TypeVoiture != IsInvalidNosVehicle(vehicleid))//si le type de voiture n'est pas dans la liste des invalidenos
      {
         AddVehicleComponent(vehicleid,1010);//on ajoute le nos
      }
   }

Je me demandais es ce que si je fait AddVehicleComponent sur une moto par exemple sa ne metteras pas de nos donc je pense que la fonctions est deja proteger un peu :P Donc bon moi j'aurais plutôt fait comme ceci :

if (IsPlayerAdmin(playerid))//si admin
   {
     
         AddVehicleComponent(vehicleid,1010);//on ajoute le nos
   }

Qui je pense marche :P

si tu arrive a mettre du nos sur une moto/bateau/avion sans faire crash le serveur ben GG a toi :)
Titre: Re : Re : [FS] N2O for Admins
Posté par: S!m le 01 Juillet 2010, 00:42:21
Salut,

Sim, tu devrai savoir qu'on retourne toujours le même type de données lol, toi tu retourne sois un boolean soit un integer ^^

comme sa-mp a pas vraiment de boolean (seulement un système bidon de tags), true = un entier de valeur 1 si je ne m'abuse...
sinon c'est que j'ai utiliser la fonction que l'on retrouve dans le fs en changeant seulement le vehicleid à model et GetVehicleModel(vehicleid) à model. Donc, je n'ai pas remarqué les valeurs de retour...sans doute aurais-je dû y porter + attention

ps. je crois que bubu a raison. Il me parait plus logique de la part de la team d'avoir inclus le test de la validité des composantes (sur le modèle de véhicule)  dans la fonction.

++Sim++
Titre: Re : [FS] N2O for Admins
Posté par: Watash le 01 Juillet 2010, 00:42:41
J'comprends rien moi aussi, mais c'est cool mec, continue comme ça ! ;)
Titre: Re : [FS] N2O for Admins
Posté par: cristab le 01 Juillet 2010, 21:41:03
eu j'ai tester sur une moto moi le serveur crash toujours donc je pige pas du tout pourquoi vous sa ne crash pas
Titre: Re : [FS] N2O for Admins
Posté par: spiirou le 16 Juillet 2010, 19:30:20
Petit ( ou gros ) UP,
pour vous annoncer une v2,
Qui combinera ce FS avec un Autre.

Cette version sera publiée sur le 1er post ;)

EDIT  : Je vais publier l'autre FS a part, et je mettrai le lien de DL des deux FS sur les deux topics