Ein wunderschönen Guten Tag,
ich halt es einmal kurz - Ich hab ein Problem.
Wenn ich bei 'zGrund' als Optimalen String angebe, so kann ich die Dauer freilassen, wenn ich es jedoch als String angebe, dann nicht.
Außerdem macht er, wenn ich 0 Angebe die Zeit auf 48 (Minuten), 1 = 49 (Minuten), ... .
Hier ist der Scripteil:
dcmd_mute(playerid,params[])
{
new mutespieler, Dauer, zGrund[128];
if(sscanf(params,"udz",mutespieler,Dauer,zGrund))
{
SendClientMessage(playerid,Orange,"Benutzung: /mute [ID] [ZEIT] >Grund<");
SendClientMessage(playerid, Orange, "Zeit wird in Minuten angeben! - Ein Grund ist Optimal, jedoch nicht nötig.");
return 1;
}
if(SpielerInfo[playerid][AdminLvL] >= 1)
{
if(IsPlayerConnected(playerid) && !IsPlayerConnected(mutespieler))
{
return SendClientMessage(playerid,Rot,"Es existiert kein Spieler mit dieser ID!");
}
else
{
if(playerid == mutespieler)
{
return SendClientMessage(playerid,Rot,"Du kannst dir nicht selber ein Sprechverbot geben!");
}
else
{
new admin[MAX_PLAYER_NAME];
new sspielername[MAX_PLAYER_NAME];
new Nachricht[150];
GetPlayerName(playerid, admin,sizeof(admin));
GetPlayerName(mutespieler, sspielername, sizeof(sspielername));
format(Nachricht,sizeof(Nachricht),"Administrator %s hat Spieler %s für %d Minuten ein Sprechverbot auferlegt, Grund: %s", admin,sspielername,Dauer,zGrund[0] ? zGrund : "Kein Grund Angegeben!");
SendClientMessageToAll(Rot,Nachricht);
SpielerInfo[mutespieler][Sprechverbot] = 1;
SpielerInfo[mutespieler][Sprechverbotzeit] = Dauer * 60;
new pNachricht[100];
format(pNachricht,sizeof(pNachricht),"Administrator %s hat Spieler %s ein Sprechverbot auferlegt.",admin,sspielername);
print("-----");
print(pNachricht);
return 1;
}
}
}
else {IstNichtAdmin return 1;}
}
Den sscanf Code habe ich vom Tutorial von Goldkiller.
ich würde mich sehr über Hilfe freuen.
mit freundlichen Grüßen
ISAPnP