• 07 Juin 2026, 01:52:23


Auteur Sujet: Véhicule réservé aux joueurs riches  (Lu 2630 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Véhicule réservé aux joueurs riches
« le: 06 Avril 2009, 20:12:43 »
Salut, je cherche à réaliser un FS pour que certains véhicules soient réservés aux joueurs riches comme par exemple ici un kart à 500 000$$$
Voila où j' en suis ( il y a des erreur et je ne trouve pas comment éjecter le joueur si il n'a pas l'argent nécessaire

Voici le début de code:

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
   if(carid == 571)
   {
      if(GetPlayerMoney(playerid) = 500000);
      {
         if (newstate == 2)// test si le joueur s'assoit a la place du conducteur .
         {
                           SendClientMessage(playerid,COLOR_DARKRED, "Bienvenue dans ce kart, roulez prudemment");
                          }
         return 1;
      }
   }
}
   else if (GetPlayerMoney(playerid) < 500000);
   {
   SendClientMessage(playerid,COLOR_DARKRED, "(!) Tu n'as pas assez d'argent pour pouvoir utiliser ce kart !!)");
   //il faudrait rajouter la fonction pour éjecter le joueur si il n'a pas l'argent
   }
   return 1;
}

Après je suis perdu
A++

Hors ligne » Lukubi™

  • *
  • Soy el bico loco
  • Messages: 3282
    • Voir le profil
Re : Véhicule réservé aux joueurs riches
« Réponse #1 le: 06 Avril 2009, 20:27:36 »
Il faut que tu utilise la fonction :

RemovePlayerFromVehicle

++
MrT®

“Si la Terre est un endroit dangereux ce n’est pas à cause des hommes mauvais mais à cause des hommes bons qui ne font rien pour les empêcher.” (Albert Einstein).

Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Re : Véhicule réservé aux joueurs riches
« Réponse #2 le: 06 Avril 2009, 21:25:56 »
Merci pour cette réponse mais je le met où RemovePlayerFromVehicle et il m'écrive 5 erreur aussi

erreurs:
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\tank.pwn(37) : error 017: undefined symbol "carid"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\tank.pwn(39) : warning 211: possibly unintended assignment
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\tank.pwn(39) : error 022: must be lvalue (non-constant)
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\tank.pwn(39) : warning 215: expression has no effect
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\tank.pwn(39) : error 001: expected token: ";", but found ")"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\tank.pwn(39) : error 029: invalid expression, assumed zero
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\tank.pwn(39) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase

5 Errors.

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Véhicule réservé aux joueurs riches
« Réponse #3 le: 06 Avril 2009, 21:45:13 »
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
   if(carid == 571)
   {
         if(GetPlayerMoney(playerid) >= 500000);
         {
             if (newstate == 2)// test si le joueur s'assoit a la place du conducteur .
             {
                              SendClientMessage(playerid,COLOR_DARKRED, "Bienvenue dans ce kart, roulez prudemment");
             }
         }else if (GetPlayerMoney(playerid) < 500000);
      {
                     SendClientMessage(playerid,COLOR_DARKRED, "(!) Tu n'as pas assez d'argent pour pouvoir utiliser ce kart !!)");
                     RemovePlayerFromVehicle(playerid);
      }
   }
}
 


Je penses que ca va marcher.

Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Re : Véhicule réservé aux joueurs riches
« Réponse #4 le: 06 Avril 2009, 22:06:20 »
Non encore plus d'erreurs ( 7 erreurs ) merci quand même
Ma fonction a peut être une problème dès le début...
Là je suis perdu pourtant quand j' ai pensé à cette fonction je pensais qeu ça n'allait pas être diffile

Si quelqu'un sait d'où vient le problème.... Merci de répondre

A++


Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Re : Véhicule réservé aux joueurs riches
« Réponse #6 le: 06 Avril 2009, 22:44:31 »
Toujours des erreurs quelq'un ne connaitrais pas un FS où je pourrai m'inspirer pour mon FS??
Je viens de wiki samp ils ne font pas comme ça ça ressemble à ça peut être que ça vous parle plus:

code:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
   if(carid == 571)
   {
      if(GetPlayerMoney(playerid) >= 500000);
      {
      PutPlayerInVehicle ( playerid, vehicleid, 0 );
      SendClientMessage(playerid,COLOR_DARKRED, "Bienvenue dans ce kart, roulez prudemment");
        return 1 ;
   }
}

public OnPlayerUpdate(playerid)
{
    if(carid == 571)
    {
       if(GetPlayerVehicleID(playerid) == 1 && GetPlayerMoney(playerid) <500000)
       SendClientMessage(playerid,COLOR_DARKRED, "(!) Tu n'as pas assez d'argent pour pouvoir utiliser ce kart !!)");
       {
        RemovePlayerFromVehicle(playerid);
       }
      return 1;
   }
}


erreurs:

C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\tank.pwn(37) : error 017: undefined symbol "carid"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\tank.pwn(39) : error 036: empty statement
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\tank.pwn(47) : warning 217: loose indentation
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\tank.pwn(47) : error 029: invalid expression, assumed zero
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\tank.pwn(47) : error 004: function "OnPlayerUpdate" is not implemented
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\tank.pwn(49) : error 017: undefined symbol "carid"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\tank.pwn(84) : error 030: compound statement not closed at the end of file (started at line 37)

A++

Hors ligne MrFredo

  • *
  • Grand Banditisme
  • Scripteur PHP/PAWN
  • Messages: 953
    • Voir le profil
    • GTA-Hosting
Re : Véhicule réservé aux joueurs riches
« Réponse #7 le: 06 Avril 2009, 22:54:08 »
Bon voila comment tu doit ti prendre

Premierement oublie la fonction OnPlayerEnterVehicle pour la simple et bonne raison qu'elle est appeler a chaque fois que tu appuie sur la touche pour entrer dans une caisse (donc si quelqu'un apppuie 3 fois dessu il aura 3 fois le message)

Personnelement je te conseile plutôt d'utiliser OnPlayerStateChange

Ce qui donnerai un truc dans ce style

Code: (pawn) [Sélectionner]
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER) // Si le joueur est dans l'etats de conducteur
{
    new vehicleid = GetPlayerVehicleID(playerid); // On recupere l'id du vehicule dans lequel est le joueur
    if(vehicleid == 571) // Si l'id du vehicule est l'id 571
    {
    if(GetPlayerMoney(playerid) >= 500000)//Si le joueur a 500000$ ou plus
    {
        SendClientMessage(playerid,COLOR_DARKRED, "Bienvenue dans ce kart, roulez prudemment"); // On l'autorise a utiliser le vehicule
    }
    else // Sinon
    {
      SendClientMessage(playerid,COLOR_DARKRED, "(!) Tu n'as pas assez d'argent pour pouvoir utiliser ce kart !!"); // On lui refuse d'utiliser le vehicule
          RemovePlayerFromVehicle(playerid); // On sort le joueur du vehicule
    }
     }
}
return 1;
}

 C'est une petite ebauche rien ne t'empeche d'ameliorer mais c'est pour te montrer le principe ;)

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Véhicule réservé aux joueurs riches
« Réponse #8 le: 07 Avril 2009, 03:30:24 »
Salut,

j'ajouterais que vous utilisiez une variable non-déclarée, le carid n'existe pas dans la callback (il s'agit peut-être d'une variable globale pour certains mais elle demeure néanmoins inutile, ce qui n,est pas ton cas ), vous devriez utiliser vehicleid

et en passant, à moins de savoir ce que tu fais, NE PLACE PAS DE CODE DANS OnPlayerUpdate

++Sim++





Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Re : Véhicule réservé aux joueurs riches
« Réponse #9 le: 07 Avril 2009, 11:49:53 »
MrFredo ton script marche nickel, un grand merci à toi  :cheers

Par contre j'ai du modifié l'ID du véhicule je ne sais pas trop pouquoi
J'ai un petit script qui permet de donner l'ID d'un véhicule dans le jeu
code:
//pour avoir l'id des véhicules
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
{
printf("Lorsqu'une personne rentre dans un véhicule(%d, %d, %d)", playerid, vehicleid, ispassenger);
new string[255];
format(string, sizeof(string), "VoitureId: %d !",vehicleid);
SendClientMessage(playerid, COLOR_AQUA, string);
}
return 1;
}

Avec ce script, dans le jeu l'ID de kart est alors de 164 ( c'est ce que j'ai du changé pour que ça marche )
Mais pourtant dans les add vehicule l'ID n est pas la même, je me demande pourquoi?
AddStaticVehicle(571,2295.2468,2479.8591,10.1042,180.2029,51,53); // kart de la police

A++

Hors ligne MrFredo

  • *
  • Grand Banditisme
  • Scripteur PHP/PAWN
  • Messages: 953
    • Voir le profil
    • GTA-Hosting
Re : Véhicule réservé aux joueurs riches
« Réponse #10 le: 07 Avril 2009, 12:11:54 »
Alor il ya une grande diference en l'id du vehicule qui est sont  numero dans la liste de t'est vehicule sur ton serveur et le modelid qui est le model de vehicule

Exemple

Code: (pawn) [Sélectionner]
public OnGameModeInit()
{
      AddStaticVehicle(411,....) // Vehicule id 1
      AddStaticVehicle(560,....) // vehicule id 2
}

Alor que ici plu haut 411 et 560 sont les modelid c'est a dire le model de vehicule , pour obtenir le modelid d'un vehicule il sufit alor d'utiliser GetVehicleModel

Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Re : Véhicule réservé aux joueurs riches
« Réponse #11 le: 07 Avril 2009, 12:14:03 »
Je ne savais pas  :)
A++

Hors ligne Dark4ng3L

  • *
  • Bandit
  • Messages: 480
    • Voir le profil
    • DecaWeb.ch - L'informatique comme vous ne l'avez jamais vu!
Re : Véhicule réservé aux joueurs riches
« Réponse #12 le: 07 Avril 2009, 13:17:08 »
c'est une bonne idée que tu a eu la xD

Gg


++
lugia
Cordialement Dark4ng3L aussi connu sous le nom de Mathias_Martinez, Matthias_Angelo et lugia !




Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Re : Véhicule réservé aux joueurs riches
« Réponse #13 le: 07 Avril 2009, 13:24:10 »
J'ai eu cette idée car beaucoup de joueurs aiment utiliser des véhicules tel que les tanks mais quand trop de joueurs les utilisent ça devient énevrant donc c'est un bon petit compromis

A++

Double post
Encore un petit problème, j'ai essayer de rajouter un autre véhicule payant mais il m'affiche des erreurs
que faut t-il mettre quand on a deux if d'affilé
( c'est le même code que en haut à mettre en dessous en chnageant l id du véhicule, le prix e l'emplacement )
il faut mettre un else if / if / else ??

A++
« Modifié: 07 Avril 2009, 16:57:13 par LePtitClown »

Hors ligne Dark4ng3L

  • *
  • Bandit
  • Messages: 480
    • Voir le profil
    • DecaWeb.ch - L'informatique comme vous ne l'avez jamais vu!
Re : Véhicule réservé aux joueurs riches
« Réponse #14 le: 07 Avril 2009, 17:10:57 »
faut que tu fasse une else if
Cordialement Dark4ng3L aussi connu sous le nom de Mathias_Martinez, Matthias_Angelo et lugia !