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
-
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
-
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 ???
++
-
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
-
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 ;)
-
Ok merci pour ton aide
Double post
Re, Qunqun Aurai pas une commande car color plus facil? :)
svp
Cordialement
-
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
-
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
-
Le mieu serais d'utiliser la factorisation ;)
<?php
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);
new str[30];//ici je declare mon format afin d'aller lire la save dans le dossier user
GetPlayerName(playerid, playername, sizeof(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(playerid, COLOR_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(playerid, COLOR_BRIGHTRED, "Mauvais pass.");
}
else
{
logged[playerid] = 1;
dini_Set(udb_encode(str),"pass",tmp);
new tmp4[256];
new Float:x, Float:y, Float: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(playerid, COLOR_BRIGHTRED, " <::> Les véhicules du serveur ont été changés depuis votre dernière visite!");
}
x = dini_Int(udb_encode(str), "x");
y = dini_Int(udb_encode(str), "y");
z = dini_Int(udb_encode(str), "z");
a = 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
-
Salut, Je te remercie Beau-coup
Je vai essayé sa desuite :D
-
je vient de voir une faute de frappe format(str,256,"user/%si", playername); a passer en format(str,256,"user/%s", playername);
-
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
-
dans tout le GM
-
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^^
-
j'avais deviner sa change pas tout le gm
-
Ya un endroit precis ou sa se change?
-
partout ou tu en as besoin ;)
-
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 )
-
puis dans ce gm il est demander partout donc bon courage
-
lol ok merci beaucoup je me mé o boulot :)