GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Showroom SA:MP => Discussion démarrée par: inbox le 30 Mai 2008, 22:44:26

Titre: Sauvegarde 5 voitures /joueur
Posté par: inbox le 30 Mai 2008, 22:44:26
[Effacer]
Titre: Re : Sauvegarde 5 voitures /joueur
Posté par: Nikko™ le 30 Mai 2008, 22:46:45
Cest un code pour les rpg cest ca ??
Ca m'alair bien, mais au début jai cru que c'était pour sauver 5 position diférents :lmfao

++
nikko
Titre: Re : Sauvegarde 5 voitures /joueur
Posté par: [StAfF]MaN le 30 Mai 2008, 22:48:18
oui c'est un système de save pos et retour, non ??
Titre: Re : Sauvegarde 5 voitures /joueur
Posté par: inbox le 30 Mai 2008, 22:49:28
Non c'est pour save 5 voitures /joueur
tu peux mettre plus moi j'ai fait 5 car c'est quand meme pas mal

A vous de le changer.

Cordialement,
Titre: Re : Sauvegarde 5 voitures /joueur
Posté par: Nikko™ le 30 Mai 2008, 23:02:01
Faut pas oublier de préciser qu'il faut avoir dini et dudb et tout le tralala

++
nikko
Titre: Re : Sauvegarde 5 voitures /joueur
Posté par: jonjon le 31 Mai 2008, 21:43:52
très bon code ;)
Titre: Re : Sauvegarde 5 voitures /joueur
Posté par: pinouf42 le 04 Juin 2008, 16:20:07
je n'arrive pas à le faire fonctionner
Titre: Re : Sauvegarde 5 voitures /joueur
Posté par: gtasamaster le 10 Juin 2008, 15:42:01
pas mal je trouve
Titre: Re : Sauvegarde 5 voitures /joueur
Posté par: pinouf42 le 25 Juin 2008, 09:31:12
Je propose quelques petites améliorations: notamment, le tunnage automatique de la voiture puis le PutPlayerInVehicle. Et une correction de la sauvegarde des fichiers par pseudo car elle ne marchait pas très bien, le fichier ne s'appelait pas pinouf42_voiture_1.sav mais _voiture_1.sav comme ceci donc tout le monde avait les mêmes voitures.

else if(strcmp(cmd, "/sv", true)==0){
    new vehicleid = GetPlayerVehicleID(playerid);
    new model;
    new pseudo;
    new pname[250];
    new voiture[MAX_PLAYERS];
if(!IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid,COLOR_RED,"Vous n'etes pas dans une voiture !");
return 1;
    }
    tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_RED, "Usage: /sv [1 a 5]");
return 1;
}
    new car;
car = strval(tmp);
if(car < 1 || car > 5)
{
SendClientMessage(playerid, COLOR_RED, "=========================================");
SendClientMessage(playerid, 0xFFFFFFAA, "* Choisissez entre 1 et 5");
SendClientMessage(playerid, 0xFFFFFFAA, "* Usage: /sv [1 a 5]");
  SendClientMessage(playerid, COLOR_RED, "=========================================");
return 1;
}
format(string, sizeof(string),"%s_voiture_%s.sav",pseudo, tmp);
if(dini_Exists(string))
{
format(string, sizeof(string), "La voiture Existe deja tapez [/del %s] pour la supprimer",tmp);
SendClientMessage(playerid, COLOR_RED, string);
return 1;
}
  vehicleid = GetPlayerVehicleID(playerid);
GetVehiclePos(vehicleid,X,Y,Z);
GetVehicleZAngle(vehicleid,Angle);
model = GetVehicleModel(vehicleid);
SendClientMessage(playerid, COLOR_RED, "=========================================");
SendClientMessage(playerid, 0xFFFFFFAA, "Sauvegarde de la voiture avec Succès");
SendClientMessage(playerid, COLOR_RED, "=========================================");
    voiture[playerid]+=1;
    GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string),"%s_voiture_%s.sav",pname,tmp);
if(!dini_Exists(string)){
dini_Create(string);
dini_IntSet(string,"model",model);
dini_FloatSet(string,"X",X);
dini_FloatSet(string,"Y",Y);
dini_FloatSet(string,"Z",Z);
dini_FloatSet(string,"Angle",Angle);
   }
return 1;
}

if(strcmp(cmd, "/rp", true)==0){
    new pname[250];
new model;
new delvtuser[MAX_PLAYERS];
new vtuser[MAX_PLAYERS];
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, 0xFFFFFFAA, "Usage: /rp [1 a 5]");
return 1;
}
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string),"%s_voiture_%s.sav",pname, tmp);
if(!dini_Exists(string))
{
format(string, sizeof(string), "La voiture [%s] N'existe pas.",tmp);
SendClientMessage(playerid, COLOR_RED, string);
return 1;
}
GetPlayerName(playerid, pname, sizeof(pname));
    format(string, sizeof(string),"%s_voiture_%s.sav",pname, tmp);
if(dini_Exists(string)){
tmp = dini_Get(string,"model");
model = strval(tmp);
tmp = dini_Get(string,"X");
X = strval(tmp);
tmp = dini_Get(string,"Y");
Y = strval(tmp);
tmp = dini_Get(string,"z");
Z = strval(tmp);
tmp = dini_Get(string,"Angle");
Angle = strval(tmp);
  if(delvtuser[playerid] == 1)
        {
        DestroyVehicle (vtuser[playerid]);
        }
        GetPlayerPos(playerid, X, Y, Z);
SetPlayerPos(playerid, X+2, Y, Z);
        vtuser[playerid] = CreateVehicle(model,X,Y,Z,Angle,-1,-1,3000000000);
  PutPlayerInVehicle(playerid, vtuser[playerid], 0);
  SendClientMessage(playerid,0xFFFFFFFF,"Votre Voiture est disponible Bonne route :)");
        AddVehicleComponent(vtuser[playerid],1010);
        AddVehicleComponent(vtuser[playerid],1087);
        AddVehicleComponent(vtuser[playerid],1086);
        AddVehicleComponent(vtuser[playerid],1085);
        delvtuser[playerid] = 1;
}
return 1;
}

if(strcmp(cmd, "/del", true)==0){
new pname[250];
new voiture[MAX_PLAYERS];
new voituredel[MAX_PLAYERS];
    tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_RED, "Usage: /del [1 a 5]");
return 1;
}
    new car;
car = strval(tmp);
if(car < 1 || car > 5)
{
SendClientMessage(playerid, COLOR_RED, "=========================================");
SendClientMessage(playerid, 0xFFFFFFAA, "* Choisissez entre 1 et 5");
SendClientMessage(playerid, 0xFFFFFFAA, "* Usage: /del [1 a 5]");
  SendClientMessage(playerid, COLOR_RED, "=========================================");
return 1;
}
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string),"%s_voiture_%s.sav",pname, tmp);
if(!dini_Exists(string))
{
format(string, sizeof(string), "La voiture [%s] N'existe pas",tmp);
SendClientMessage(playerid, COLOR_RED, string);
return 1;
}
SendClientMessage(playerid, COLOR_RED, "=========================================");
SendClientMessage(playerid, 0xFFFFFFAA, "Effacement de la voiture avec Succés");
SendClientMessage(playerid, COLOR_RED, "=========================================");
voiture[playerid]-=1;
voituredel[playerid]+=1;
GetPlayerName(playerid, pname, sizeof(pname));
  format(string, sizeof(string),"%s_voiture_%s.sav",pname,tmp);
  dini_Remove(string);

return 1;
}