Hey,
ich weiß ja, dass mal einen eingegebene Integer mit "strval(tmp)" herrausfindet.
Aber wie mache ich das, wenn es statt ein Integer ein String ist?
Hey,
ich weiß ja, dass mal einen eingegebene Integer mit "strval(tmp)" herrausfindet.
Aber wie mache ich das, wenn es statt ein Integer ein String ist?
Dann ist es tmp...
Bzw. was genau willst du denn machen, nicht das ich hier etwas falsches sage...
MfG NicoAiko
Also ich möchte so eine Art, eigenen Rcon machen.
Mit "/alogin [Passwort]", nun möchte ich ein Befehl,
machen und das Passwort für den Befehl ändern zu
können mit "/capass [New Passwort]"
Aber wie soll ich das machen? So weit bin ich zurzeit gekommen.
if( strcmp("/capass", cmdtext, true, 10) == 0)
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)) return SendClientMessage(playerid,Grau,"[Benutze]: /capass [New Password]");
new newpass[64] = tmp;
return 1;
}
new newpass[64] = cmdtext;
cmdtext gibt doch genau das wieder, was man hinter dem Befehl eingegeben hat
#Edit: Falsch!
So müsste es gehen:
if( strcmp("/capass", cmdtext, true, 10) == 0)
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid,Grau,"[Benutze]: /capass [New Password]");
return 1;
}
new newpass[64] = (result);
return 1;
}
Ah okay, das wusste ich nicht^^
Danke
//EDIT:
Jetzt bekomme ich aber:
C:\Users\Narushi\Desktop\samp\New-Evolution-Reallife\gamemodes\notebook.pwn(151) : error 008: must be a constant expression; assumed zero
C:\Users\Narushi\Desktop\samp\New-Evolution-Reallife\gamemodes\notebook.pwn(151) : warning 204: symbol is assigned a value that is never used: "newpass"
C:\Users\Narushi\Desktop\samp\New-Evolution-Reallife\gamemodes\notebook.pwn(424) : warning 203: symbol is never used: "aLogged"
C:\Users\Narushi\Desktop\samp\New-Evolution-Reallife\gamemodes\notebook.pwn(424) : warning 203: symbol is never used: "aPass"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
Du musst die Funktion strrest benutzen.
stock strrest(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[128];
while ((index < length) && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
Und was jetzt? Jetzt habe ich es so
if( strcmp("/capass", cmdtext, true, 10) == 0)
{
tmp = strrest(cmdtext,idx);
if(!strlen(tmp)) return SendClientMessage(playerid,Grau,"[Benutze]: /capass [New Password]");
new newpass[64] = ;
return 1;
}
Ne ne, strrest verlangt ja einen string.
So muss es sein:
if( strcmp("/capass", cmdtext, true, 10) == 0)
{
new gMessage[128];
gMessage = strrest(cmdtext,idx);
if(strlen(gMessage)==0)return SendClientMessage(playerid, COLOR_GREY," FEHLER: /capass [neues passwort] ");
new newpass[64];
format(newpass,sizeof(newpass),"%s",gMessage);
return 1;
}
off topic: Das PW-changen wird hier aber nichts bringen,weil newpass keine globale Variable ist