Hi.
Ich habe folgendes Problem, wenn ich /makeleader ID 1 mache, wird man Leader und die Variable wird auf 1 gesetzt.
Aber in der .ini Datei wird gespeichert: Leader=49
Code:
ocmd:makeleader(playerid,params[])
{
if(sInfo[playerid][pAdmin]>=4)
{
new frakid, pID;
if(sscanf(params,"us",pID,frakid))return SendClientMessage(playerid,0xFF0000,"Richtige Benutzung: /makeleader [id] [frakid]");
sInfo[pID][pLeader]=frakid;
SendClientMessage(pID,Blau,"Du wurdest Leader einer Fraktion gemacht.");
}
else
{
SendClientMessage(playerid,Blau,"Du hast nicht die benötigten Adminrechte!");
}
return 1;
}
Speichern:
stock SpielerSpeichern(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Adminlevel", sInfo[playerid][pAdmin]);
dini_IntSet(Spielerdatei,"Leader", sInfo[playerid][pLeader]);
dini_IntSet(Spielerdatei,"Member", sInfo[playerid][pMember]);
dini_IntSet(Spielerdatei,"Warn", sInfo[playerid][pWarn]);
dini_IntSet(Spielerdatei,"Autolic", sInfo[playerid][pAutolic]);
dini_IntSet(Spielerdatei,"Bikelic", sInfo[playerid][pBikelic]);
dini_IntSet(Spielerdatei,"Fluglic", sInfo[playerid][pFluglic]);
dini_IntSet(Spielerdatei,"Trucklic", sInfo[playerid][pTrucklic]);
dini_IntSet(Spielerdatei,"Bootlic", sInfo[playerid][pBootlic]);
dini_IntSet(Spielerdatei,"Tutorial", sInfo[playerid][pTut]);
dini_IntSet(Spielerdatei,"Bank", sInfo[playerid][pBank]);
dini_IntSet(Spielerdatei,"Pin", sInfo[playerid][pPin]);
dini_IntSet(Spielerdatei,"Bankreg", sInfo[playerid][pBankreg]);
dini_IntSet(Spielerdatei,"Alter", sInfo[playerid][pAlter]);
dini_IntSet(Spielerdatei,"Geschlecht", sInfo[playerid][pGeschlecht]);
dini_IntSet(Spielerdatei,"Land", sInfo[playerid][pLand]);
dini_IntSet(Spielerdatei,"PayDay",GetPVarInt(playerid,"PayDay"));
dini_IntSet(Spielerdatei,"Monate",GetPVarInt(playerid,"Monate"));
return 1;
}
Woran liegt es?
Variable speichert den falschen Wert?
- Skypolee
- Geschlossen
- Erledigt
-
-
ocmd:makeleader(playerid,params[])
{
if(sInfo[playerid][pAdmin]>=4)
{
new frakid, pID;
if(sscanf(params,"ud",pID,frakid))return SendClientMessage(playerid,0xFF0000,"Richtige Benutzung: /makeleader [id] [frakid]");
sInfo[pID][pLeader]=frakid;
SendClientMessage(pID,Blau,"Du wurdest Leader einer Fraktion gemacht.");
}
else
{
SendClientMessage(playerid,Blau,"Du hast nicht die benötigten Adminrechte!");
}
return 1;
} -
ocmd:makeleader(playerid,params[])
{
if(sInfo[playerid][pAdmin]>=4)
{
new frakid, pID;
if(sscanf(params,"ud",pID,frakid))return SendClientMessage(playerid,0xFF0000,"Richtige Benutzung: /makeleader [id] [frakid]");
sInfo[pID][pLeader]=frakid;
SendClientMessage(pID,Blau,"Du wurdest Leader einer Fraktion gemacht.");
}
else
{
SendClientMessage(playerid,Blau,"Du hast nicht die benötigten Adminrechte!");
}
return 1;
}
Achja, d nicht s...
Danke, kann gecloset werden -
Dein Fehler lag hier:
sscanf(params,"us",pID,frakid)Deine Eingabe '1' wurde als ASCII Zeichen interpretiert und eine '1' hat den Wert 49 in der ASCII-Tabelle.
-
breadfish.de
Hat das Thema geschlossen.