GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Eduardo_Latino le 02 Août 2009, 15:18:13

Titre: Petit probleme quand je gare un voiture
Posté par: Eduardo_Latino le 02 Août 2009, 15:18:13
bonjour a tous, j'ai un petit problème avec mon GM (LA-RP ) il y a un système pour vendre les voiture, aujourd'hui ji vais pour le teste car j'ouvre mon serveur et je l'acheter tous va bien mais quand je me gare la voiture change de model    ;D

Exemple : J'achète un elegy je la gare elle ce change en Bullet  :wall :wall s'il vous plait aider moi !!!!!

voila le Garer :


       }
       else if(strcmp(x_nr,"garer",true) == 0)
       {
           new Float:x,Float:y,Float:z;
new Float:a;
new carid;
new getcarid;
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { carid = PlayerInfo[playerid][pPcarkey]; }
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { carid = PlayerInfo[playerid][pPcarkey2]; }
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { carid = PlayerInfo[playerid][pPcarkey3]; }
else { return 1; }
getcarid = GetPlayerVehicleID(playerid);
GetPlayerName(playerid, playername, sizeof(playername));
GetVehiclePos(carid, x, y, z);
//GetPlayerFacingAngle(playerid, a);
GetVehicleZAngle(carid, a);
if(IsPlayerInVehicle(playerid,carid) && CarInfo[carid][cOwned] == 1)
{
  if(PlayerInfo[playerid][pPcarkey] == 999 && PlayerInfo[playerid][pPcarkey2] == 999 & PlayerInfo[playerid][pPcarkey3])
{
SendClientMessage(playerid, COLOR_GREY, "You don't own a car.");
return 1;
}
if(getcarid == carid)
{
CarInfo[carid][cLocationx] = x;
CarInfo[carid][cLocationy] = y;
CarInfo[carid][cLocationz] = z;
CarInfo[carid][cAngle] = a;
format(string, sizeof(string), "~n~ Vous avez garer votre voiture ici ~n~");
GameTextForPlayer(playerid, "elle spawnra ici comme vous l'avais garer.", 10000, 3);
OnPropUpdate();
OnPlayerUpdate(playerid);
DestroyVehicle(carid);
CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz]+1.0,CarInfo[carid][cAngle],CarInfo[carid]   [cColorOne],CarInfo[carid][cColorTwo],60000);
TogglePlayerControllable(playerid, 1);
return 1;
   }
}
       }



Merci d'avance bonne journée  


Titre: Re : Petit probleme quand je gare un voiture
Posté par: hardcoder le 02 Août 2009, 16:28:20
T'as oublié quelque chose du style:
Code: (pawn) [Sélectionner]
CarInfo[carid][cModel] = GetVehicleModel(carid);
D'autre part, pourquoi tu appelles le callback OnPlayerUpdate sans raison?
Titre: Re : Petit probleme quand je gare un voiture
Posté par: Eduardo_Latino le 02 Août 2009, 16:33:53
c'est pas moi quand j'ai pris le GM il ete deja comme sa xDD

Merci sa marche ce que tu ma dit

et sa : Pourquoi OnPlayerUpdate derange ??? si oui quesque je doit faire enlever remplacer??


PS : J'ai un autre Beug  :wall :wall :wall :wall :wall :wall :wall :wall :wall


alors j'ai acheter le voiture j'ai essayer le /c garer tous a marché mais après je suis sorti de la voiture j'ai ete derrier la voiture et j'ai fait /coffre info
après avec la commande admin je me suis ajouter une arme je l'ais mit dans la coffre je l'ais enlever ji vais pour monter dans la voiture et il monter pas  :wall :wall je n'arrive pas a monter dans la voiture après avoir utiliser le coffre voila le coffre :

http://pastebin.com/m3f9af5e2 (http://pastebin.com/m3f9af5e2)


Encore Merci d'avance bonne journée 
Titre: Re : Petit probleme quand je gare un voiture
Posté par: Dark4ng3L le 03 Août 2009, 00:44:54
Le gm de base ne bug pas pour garaer as-tu ajouter des vehicules a vendre ???

++D4++

Envoyer de mon Ipod Touch
Titre: Re : Petit probleme quand je gare un voiture
Posté par: hardcoder le 03 Août 2009, 03:48:56
C'est bien de vouloir faire un serveur mais si tu sais pas scripter c'est pas la peine.. fais toi déjà la main avec des scripts tout simples, par exemple lvdm, tu t'entraine a rajouter des trucs dessus petit à petit. C'est une bien meilleure façon d'apprendre que d'éditer un gros script à la base.

OnPlayerUpdate est un callback de sa-mp, qui est apellé à chaque fois que le serveur recoit des données d'un client c'est à dire à chaque X millisecondes, où X est la latence du client. Donc il est appellé très souvent, et plus il y a de joueurs plus il est appellé. Montre voir ce qu'il y a dans ton OnPlayerUpdate.
Titre: Re : Petit probleme quand je gare un voiture
Posté par: Eduardo_Latino le 03 Août 2009, 12:16:52
non j'ai pas toucher au système de voiture j'ai juste traduit rien d'autre !! voile le OnPlayerUpdate : 


http://pastebin.com/m1ca00c4f (http://pastebin.com/m1ca00c4f)
Titre: Re : Petit probleme quand je gare un voiture
Posté par: cristab le 03 Août 2009, 12:22:20
omg tu doit avoir un sacrer lag sur le serveur :s (c'etait un petit hs)


Il faut savoir que cette callback et appeler des que tu touche a quelque chose sur ton ordi donc il faut mettre un minimum dans cette callback la je voit qu'elle est surcharger
Titre: Re : Petit probleme quand je gare un voiture
Posté par: Eduardo_Latino le 03 Août 2009, 12:24:59
je sais pas oui j'ai un petit gros beug mais bon sa le fait plus l'écran devien tout blanc quand je joué lol


mais je cherche le GM d'origine mais je trouve pas  :(
Titre: Re : Petit probleme quand je gare un voiture
Posté par: Jerome02 le 03 Août 2009, 16:47:20
bonjour voila vu que ici on parle déjà de voiture j'aimerais demander comment faire pour 3petit erreur que j'ai voila :


if(IsAnOwnableCar(newcar))
{
    if(CarInfo[newcar][cOwned]==0)
    {
        TogglePlayerControllable(playerid, 0);
        format(string,sizeof(string),"~w~Car: %s~n~Price: ~g~%d~n~~w~/carbuy to buy this car",CarInfo[newcar][cDescription],CarInfo[newcar][cValue]);
GameTextForPlayer(playerid,string,5000,5);
    }
    if(CarInfo[newcar][cOwned]==1)
    {
        format(string,sizeof(string),"Ce vehicule appartien à %s",CarInfo[newcar][cOwner]);
SendClientMessage(playerid, COLOR_WHITE, string);
/*if(keycar != vehicle)
{
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_GREY, "You don't have a key of this vehicle");
}*/
if(PlayerInfo[playerid][pPcarkey] == vehicle) { }
else if(PlayerInfo[playerid][pPcarkey2] == vehicle) { }
else if(PlayerInfo[playerid][pPcarkey3] == vehicle) { }
else
{
    if(PlayerInfo[playerid][pAdmin] >= 1337 && AdminDuty[playerid] == 1)
{
    SendClientMessage(playerid, COLOR_GREY, "  You can drive this car because you are admin on duty !");
}
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_GREY, "Vous n'avez pas de clé de ce véhicule");
}
}
    }
}
gLastCar[playerid] = newcar;
gLastDriver[newcar] = playerid;
}


et voila les erreur :

C:\DOCUME~1\ADMINI~1.15C\LOCALS~1\Temp\Rar$DI03.297\gfsf.pwn(4330) : error 017: undefined symbol "vehicle"
C:\DOCUME~1\ADMINI~1.15C\LOCALS~1\Temp\Rar$DI03.297\gfsf.pwn(4331) : error 017: undefined symbol "vehicle"
C:\DOCUME~1\ADMINI~1.15C\LOCALS~1\Temp\Rar$DI03.297\gfsf.pwn(4332) : error 017: undefined symbol "vehicle"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


3 Errors.



Le GM c'est "GF_Car_v0.1.3"


PS: Desole de poster ici mais pas besoin que je crée un poste pour rien alors que ici on parle déjà de ça  :-[ :-[

Merci d'avance
Titre: Re : Petit probleme quand je gare un voiture
Posté par: Dark4ng3L le 03 Août 2009, 18:47:25
as-tu un new vehicle ??
Titre: Re : Petit probleme quand je gare un voiture
Posté par: Jerome02 le 03 Août 2009, 18:58:48
non pourquoi il faut mettre un??
Titre: Re : Petit probleme quand je gare un voiture
Posté par: Dark4ng3L le 03 Août 2009, 19:53:19
ouii xD

ajoute un new vehicle[256];
Titre: Re : Petit probleme quand je gare un voiture
Posté par: cristab le 03 Août 2009, 20:32:37
sa depent c'est pas forcement new vehicle[256];
Titre: Re : Petit probleme quand je gare un voiture
Posté par: Jerome02 le 03 Août 2009, 21:34:04
aprés avoir ajouter new vehcles[256] sa me donner sa


C:\Documents and Settings\Administrateur.15C8C0122FFA4EF\Bureau\samp02Xserver1\gamemodes\gfsf.pwn(4331) : error 033: array must be indexed (variable "vehicle")
C:\Documents and Settings\Administrateur.15C8C0122FFA4EF\Bureau\samp02Xserver1\gamemodes\gfsf.pwn(4332) : error 033: array must be indexed (variable "vehicle")
C:\Documents and Settings\Administrateur.15C8C0122FFA4EF\Bureau\samp02Xserver1\gamemodes\gfsf.pwn(4333) : error 033: array must be indexed (variable "vehicle")
C:\Documents and Settings\Administrateur.15C8C0122FFA4EF\Bureau\samp02Xserver1\gamemodes\gfsf.pwn(5796) : warning 219: local variable "vehicle" shadows a variable at a preceding level
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


3 Errors.
Titre: Re : Petit probleme quand je gare un voiture
Posté par: cristab le 03 Août 2009, 21:35:30
le soucis c'est que la pour t'aider il faudrait le GM
Titre: Re : Petit probleme quand je gare un voiture
Posté par: Jerome02 le 03 Août 2009, 21:38:42
ok jte le envois par MP


EDIT ou je peu le mettre en téléchargement?
Titre: Re : Petit probleme quand je gare un voiture
Posté par: cristab le 03 Août 2009, 21:44:52
par mp et j'edit ce post une fois resolut



EDIT : resolut voila la solution

Citer
if(IsAnOwnableCar(newcar))
      {
          new vehicle = GetPlayerVehicleID(playerid);
          if(CarInfo[newcar][cOwned]==0)
          {
              TogglePlayerControllable(playerid, 0);
              format(string,sizeof(string),"~w~Car: %s~n~Price: ~g~%d~n~~w~/carbuy to buy this car",CarInfo[newcar][cDescription],CarInfo[newcar][cValue]);
            GameTextForPlayer(playerid,string,5000,5);
          }
          if(CarInfo[newcar][cOwned]==1)
          {
              format(string,sizeof(string),"Ce vehicule appartien à %s",CarInfo[newcar][cOwner]);
            SendClientMessage(playerid, COLOR_WHITE, string);
            /*if(keycar != vehicle)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_GREY, "You don't have a key of this vehicle");
            }*/
            if(PlayerInfo[playerid][pPcarkey] == vehicle) { }
            else if(PlayerInfo[playerid][pPcarkey2] == vehicle) { }
            else if(PlayerInfo[playerid][pPcarkey3] == vehicle) { }
            else
Titre: Re : Petit probleme quand je gare un voiture
Posté par: Jerome02 le 03 Août 2009, 22:19:41
Ok, Merci beaucoup ji vais teste de suite !!  :D :D



EDIT :  :( :( Quand je rentre dans les voiture sa dit plus quelle sont a vendre
Titre: Re : Petit probleme quand je gare un voiture
Posté par: cristab le 03 Août 2009, 22:40:18
erf

je repenche dessus mais sa je ne voit pas enfaite

if(PlayerInfo[playerid][pPcarkey] == vehicle) { }
            else if(PlayerInfo[playerid][pPcarkey2] == vehicle) { }
            else if(PlayerInfo[playerid][pPcarkey3] == vehicle) { }


EDIT essaie comme ceci


if(IsAnOwnableCar(newcar))
{
   
    if(CarInfo[newcar][cOwned]==0)
    {
        TogglePlayerControllable(playerid, 0);
        format(string,sizeof(string),"~w~Car: %s~n~Price: ~g~%d~n~~w~/carbuy to buy this car",CarInfo[newcar][cDescription],CarInfo[newcar][cValue]);
GameTextForPlayer(playerid,string,5000,5);
    }
    if(CarInfo[newcar][cOwned]==1)
    {
        format(string,sizeof(string),"Ce vehicule appartien à %s",CarInfo[newcar][cOwner]);
SendClientMessage(playerid, COLOR_WHITE, string);
/*if(keycar != vehicle)
{
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_GREY, "You don't have a key of this vehicle");
}*/
new vehicle;
if(PlayerInfo[playerid][pPcarkey] == vehicle) { }
else if(PlayerInfo[playerid][pPcarkey2] == vehicle) { }
else if(PlayerInfo[playerid][pPcarkey3] == vehicle) { }
else
{
    if(PlayerInfo[playerid][pAdmin] >= 1337 && AdminDuty[playerid] == 1)
{
    SendClientMessage(playerid, COLOR_GREY, "  You can drive this car because you are admin on duty !");
}
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_GREY, "Vous n'avez pas de clé de ce véhicule");
}
}
    }
}

Si sa ne fonctionne toujour pas retire directement cette fonction comme ceci


if(IsAnOwnableCar(newcar))
{
   
    if(CarInfo[newcar][cOwned]==0)
    {
        TogglePlayerControllable(playerid, 0);
        format(string,sizeof(string),"~w~Car: %s~n~Price: ~g~%d~n~~w~/carbuy to buy this car",CarInfo[newcar][cDescription],CarInfo[newcar][cValue]);
GameTextForPlayer(playerid,string,5000,5);
    }
    if(CarInfo[newcar][cOwned]==1)
    {
        format(string,sizeof(string),"Ce vehicule appartien à %s",CarInfo[newcar][cOwner]);
SendClientMessage(playerid, COLOR_WHITE, string);

    }
}
Titre: Re : Petit probleme quand je gare un voiture
Posté par: Jerome02 le 03 Août 2009, 23:15:56
non fallait juste enlever sa :

   if(CarInfo[newcar][cOwned]==1)
   {
       format(string,sizeof(string),"Ce vehicule appartien à %s",CarInfo[newcar][cOwner]);
SendClientMessage(playerid, COLOR_WHITE, string);

   }
}


c'est moi qui la mit mais marche pas, comment je peut faire pour que quand on achète une voiture sa disse que c'est a celui qui la acheter?  


voila le Gm d'origine :

http://forum.sa-mp.com/index.php?topic=48288.0 (http://forum.sa-mp.com/index.php?topic=48288.0)



bonne soirée