GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Street le 17 Août 2009, 08:41:50

Titre: [Resolu]Commande & changement
Posté par: Street le 17 Août 2009, 08:41:50
Bonjour a tous x) =P :p
1/
Je voudrais savoir comment creé une commande /carcolor (color1) (color2)
qunqun a deja poster pour sa mais il ya qune couleur qui marche svp
2/
Je voudrais savoir comment changer le repertoir de la sauvegarde des compte
et du chargement svp
3/
Merci beaucoup d'avance
Cordialement
Titre: Re : Commande & changement
Posté par: Mr_C30 le 17 Août 2009, 09:20:11
je vais étre gentil te te montrer en bout de mon script  :P

if(strcmp(cmd, "/vcol", true) == 0)
{

if(logged[playerid] == 1)
{
tmp = strtokgp(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_SYSTEM, "/vcol [couleur1] [couleur2]");
return 1;
}
new vcol1;
vcol1 = strval(tmp);
if(vcol1 < 0 || vcol1 > 999) { SendClientMessage(playerid, COLOR_ORANGE, "Coueleur 1 Invalide!"); return 1; }
tmp = strtokgp(cmdtext, idx);
c1[playerid] = vcol1;
new vcol2;
vcol2 = strval(tmp);
if(vcol2 < 0 || vcol2 > 999) { SendClientMessage(playerid, COLOR_ORANGE, "Couleur 2 Invalide!"); return 1; }
c2[playerid] = vcol2;
ChangeVehicleColor(GetVeh(playerid), vcol1, vcol2);
    format(unlimited, sizeof(unlimited), "%s voicie vos Couleurs I:%d  II:%d !", name[playerid], vcol1, vcol2);
SendClientMessage(playerid, COLOR_ORANGE, unlimited);
}
else
{
    format(unlimited, sizeof(unlimited), "%s Vous devez être loger !", name[playerid]);
SendClientMessage(playerid, COLOR_ORANGE, unlimited);
}
return 1;
}
une chose est sur tu aura des éreur a toi de les corigés  :king

sinon je comprend pas ta  2éme question  ???


++
Titre: Re : Commande & changement
Posté par: Street le 17 Août 2009, 09:31:35
Merrci :D
La deuxiéme question c tu vois dans script file ya les
fichier des pseudo sauvegarder je voudrait changer exemple script file/user/et la dedan les fichier saave des pseudo
Titre: Re : Commande & changement
Posté par: Mr_C30 le 17 Août 2009, 09:40:45
sim m'avez dit qu'il fait juste fair sa ( pour toi)   tu crée ton dossier user                 et dajouter sa /user/ quand tu ouvre ton compte .  je n'est jamais essayer cherche sur le forum il doit y avoir la solution ;)
Titre: Re : Commande & changement
Posté par: Street le 17 Août 2009, 09:42:08
Ok merci pour ton aide

Double post
Re, Qunqun Aurai pas une commande car color plus facil?  :)
svp
Cordialement
Titre: Re : Commande & changement
Posté par: Ssk le 17 Août 2009, 19:14:02
C' est assez simple tu doit avoir la fonction strtok d' incluse dans ton GM

Puis apres c' est tres tres tres simple a faire
Titre: Re : Commande & changement
Posté par: Street le 18 Août 2009, 07:43:41
Bonjour
Esque qunqun pourai maidé
svp pour le deplacement de
save de compte exemple olieu detre dans scriptfiles
il son dans scriptfiles/compte/et la tout les compte

Double post
if(strcmp(cmd, "/login", true) == 0)
{
if(Spawned[playerid] == 0)
{
   SendClientMessage(playerid, COLOR_BRIGHTRED, "Loggez-vous après le spawn svp: /login ou /register");
   return 1;
}
if(logged[playerid] == 1)
{
   SendClientMessage(playerid, COLOR_BRIGHTRED, "Vous êtes déjà loggé");
   return 1;
}
   tmp = strtok(cmdtext, idx);

  GetPlayerName(playerid, playername, sizeof(playername));
   if(!strlen(tmp))
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Utiliser: /login [MotDePasse]");

else
{
if (dini_Exists(udb_encode(playername)))
{
tmp2 = dini_Get(udb_encode(playername), "password");
  if (udb_hash(tmp) != strval(tmp2))
 {
    SendClientMessage(playerid, COLOR_BRIGHTRED, "Mauvais pass.");
}
else {
logged[playerid] = 1;
dini_Set(udb_encode(playername),"pass",tmp);
new tmp4[256];
       new Float:x, Float:y, Float:z;
new Float:a;
playercount[playerid] = dini_Int(udb_encode(playername), "vehicleresetcount");
if(playercount[playerid] != gVC)
{
   dini_IntSet(udb_encode(playername), "carowned", 0);
   dini_IntSet(udb_encode(playername), "car", 0);
   dini_IntSet(udb_encode(playername), "notified", 1);
   SendClientMessage(playerid, COLOR_BRIGHTRED, " <::> Les véhicules du serveur ont été changés depuis votre dernière visite!");
}
x = dini_Int(udb_encode(playername), "x");
y = dini_Int(udb_encode(playername), "y");
z = dini_Int(udb_encode(playername), "z");
a = dini_Int(udb_encode(playername), "a");
carowned[playerid] = dini_Int(udb_encode(playername), "carowned");
moneys[playerid] = dini_Int(udb_encode(playername), "money");
if(moneys[playerid] < 10000)
{
bank[playerid] = dini_Int(udb_encode(playername), "bank");
if(bank[playerid] > 0)
{
}
if(bank[playerid] < 0)
{
}
GivePlayerMoney(playerid,moneys[playerid]);
}
if(moneys[playerid] >= 0)
{
   GivePlayerMoney(playerid,moneys[playerid]);
}
               tmp4 = dini_Get(udb_encode(playername), "bank");
               PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(playername), "level");
               bank[playerid] = strval(tmp4);
                SetPlayerPos(playerid,x,y,z);
SetPlayerFacingAngle(playerid,a);
SendClientMessage(playerid, COLOR_GREEN, "Vous êtes maintenant loggé et avez été replacé à votre dernière position connue.");
SendClientMessage(playerid, COLOR_GREEN, "L'argent, la banque et la position seront sauvegardés automatiquement et quand vous quittez le jeu!");
biznote[playerid] = dini_Int(udb_encode(playername), "bizsold");
carnote[playerid] = dini_Int(udb_encode(playername), "carsold");
if(biznote[playerid] == 1)
{
   SendClientMessage(playerid, COLOR_BRIGHTRED, " <::>Votre business a été vendu par un admin récemment. L'argent de la vente a été transféré sur votre compte bancaire !");
   dini_IntSet(udb_encode(playername), "bizsold", 0);
}
if(carnote[playerid] == 1)
{
   SendClientMessage(playerid, COLOR_BRIGHTRED, " <::> Votre véhicule a vendu par un admin récemment. L'argent de la vente a été transféré sur votre compte bancaire!");
   dini_IntSet(udb_encode(playername), "carsold", 0);
}
}
}
else {
   format(string, sizeof(string), "Le compte %s, n'existe pas sur ce serveur. Veuillez taper /register [MotDePasse] pour créer un compte.", playername);
SendClientMessage(playerid, COLOR_BRIGHTRED, string);
}
}

return 1;
}
Peut-etre que sa vous aidera
Titre: Re : Commande & changement
Posté par: cristab le 18 Août 2009, 09:45:11
Le mieu serais d'utiliser la factorisation ;)
<?php
if(strcmp(cmd"/login"true) == 0)
{
   if(
Spawned[playerid] == 0)
   {
       
SendClientMessage(playeridCOLOR_BRIGHTRED"Loggez-vous après le spawn svp: /login ou /register");
       return 
1;
   }
   if(
logged[playerid] == 1)
   {
       
SendClientMessage(playeridCOLOR_BRIGHTRED"Vous êtes déjà loggé");
       return 
1;
   }
   
tmp strtok(cmdtextidx);
   new 
str[30];//ici je declare mon format afin d'aller lire la save dans le dossier user
   
GetPlayerName(playeridplayernamesizeof(playername));
   
format(str,256,"user/%si"playername);// la je lui dit que le fichier ce situe dans le dossier user et qu'il a le nom du joueurs avec cette façon tu peu mettre une extension .txt .ini .cfg benfin tu voit 
   
if(!strlen(tmp))
   {
       
SendClientMessage(playeridCOLOR_LIGHTBLUE"Utiliser: /login [MotDePasse]");
   }
   else
   {
       if (
dini_Exists(udb_encode(str)))
       {
   tmp2 dini_Get(udb_encode(str), "password");
   if (udb_hash(tmp) != strval(tmp2))
   {
       SendClientMessage(playeridCOLOR_BRIGHTRED"Mauvais pass.");
   }
   else 
           {
logged[playerid] = 1;
dini_Set(udb_encode(str),"pass",tmp);
new tmp4[256];
      
new Float:xFloat:yFloat:z;
new Float:a;
playercount[playerid] = dini_Int(udb_encode(str), "vehicleresetcount");
if(playercount[playerid] != gVC)
   {
dini_IntSet(udb_encode(str), "carowned"0);
dini_IntSet(udb_encode(str), "car"0);
dini_IntSet(udb_encode(str), "notified"1);
SendClientMessage(playeridCOLOR_BRIGHTRED" <::> Les véhicules du serveur ont été changés depuis votre dernière visite!");
   }
dini_Int(udb_encode(str), "x");
dini_Int(udb_encode(str), "y");
dini_Int(udb_encode(str), "z");
dini_Int(udb_encode(str), "a");
carowned[playerid] = dini_Int(udb_encode(str), "carowned");
moneys[playerid] = dini_Int(udb_encode(str), "money");
if(moneys[playerid] < 10000)
{
bank[playerid] = dini_Int(udb_encode(str), "bank");
if(bank[playerid] > 0)
{
}
if(bank[playerid] < 0)
{
}
GivePlayerMoney(playerid,moneys[playerid]);
}
if(moneys[playerid] >= 0)?>

Pour commencer indender vos coder sur le forum car sa fait mal a le tête.

Les balise php sont juste la pour avoir les couleurs dans le code donc ne pas y preter intention

regarde les commentaire en orange est fait tout ceci dans le GM bon courage

Titre: Re : Commande & changement
Posté par: Street le 18 Août 2009, 09:50:52
Salut, Je te remercie Beau-coup
Je vai essayé sa desuite :D
Titre: Re : Commande & changement
Posté par: cristab le 18 Août 2009, 09:58:12
je vient de voir une faute de frappe format(str,256,"user/%si", playername); a passer en format(str,256,"user/%s", playername);
Titre: Re : Commande & changement
Posté par: Street le 18 Août 2009, 10:05:29
A merci pour sa que sa marché pas ^^

Double post
Sa marche pas jai mis les compte dans user
sa me dit que mon compte existe pas
Titre: Re : Commande & changement
Posté par: cristab le 18 Août 2009, 10:25:43
dans tout le GM
Titre: Re : Commande & changement
Posté par: Street le 18 Août 2009, 10:47:56
Je lai mis dans register ousi sa registre toujour dans
scriptfiles :s
Edit:
A jai compri faut que je fass dans tout le gm mdr merci :D Mais ou :S?
Pour plus dinformation, Jutilise Le Gm Du sftdm traduit par metrakit si
sa peut vous aidé a mieu maidé merci^^
Titre: Re : Commande & changement
Posté par: cristab le 18 Août 2009, 14:04:07
j'avais deviner sa change pas tout le gm
Titre: Re : Commande & changement
Posté par: Street le 18 Août 2009, 14:09:11
Ya un endroit precis ou sa se change?
Titre: Re : Commande & changement
Posté par: cristab le 18 Août 2009, 14:10:02
partout ou tu en as besoin ;)
Titre: Re : Commande & changement
Posté par: Ssk le 18 Août 2009, 14:34:21
Cela veut dire a chaque fois que tu save ton compte, dans cmd enregistrer, loguin mais c' est deja fait,En fin de compte partout ou ton compte est utiliser ( ouvert )
Titre: Re : Commande & changement
Posté par: cristab le 18 Août 2009, 14:41:07
puis dans ce gm il est demander partout donc bon courage
Titre: Re : Commande & changement
Posté par: Street le 18 Août 2009, 15:15:44
lol ok merci beaucoup je me mé o boulot :)