Wenn du 26 Errors hast, dann hast du einen Klammerfehler drinnen. Und der wurde nicht durch die Änderung im format verursacht.
if(strcmp(cmd, "/admin", true) == 0 || strcmp(cmd, "/a", true) == 0)
{
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
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, COLOR_GRAD2, "NUTZE: (/a)dmin [admin chat]");
return 1;
}
format(string, sizeof(string), " %s[%d]: %s", sendername, playerid, result);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
SendClientMessage(i,0xE10000FF,string);
}
}
Log("OA-Chat.txt",string);
}
return 1;
}
Hier nochmal der ganze Befehl mit der Änderung
Beiträge von T4125Gamer
-
-
Hier kannst du die Zeit in Millisekunden umrechnen lassen: http://metricconversion.biz/de/zeit-umrechnung.html
-
Dann musst du das Format etwas abändern
format(string, sizeof(string), "* %s[%d]: %s", sendername, playerid, result); -
Was genau geht nicht?
Falsches Passwort?
Falscher Benutzername?
Falscher Server? -
ocmd:mute(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,HELLROT,"AdmCmd: Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
{
new pID;
new reason[64];
new time;
if(sscanf(params,"uis",pID,time,reason))return SendClientMessage(playerid,HELLROT,"AdmCmd: Benutze /mute [SpielerID] [Zeit(Minuten)] [Grund]");
if(!IsPlayerConnected(pID))return SCM(playerid,HELLROT,"AdmCmd: Der Spieler befindet sich zurzeit nicht auf dem Server!");
{
if(isPlayerAnAdmin(pID,1))
{
SendClientMessage(playerid,HELLROT,"AdmCmd: Du kannst keine Admins muten!");
return 1;
}
else if(time > 0 && time < 999999)
{
new string[128],tmptime = time;
format(string,sizeof(string),"%s wurde vom Administrator %s für %i Minuten gemutet. Grund: %s",SpielerName(pID),SpielerName(playerid),tmptime,reason);
SendClientMessageToAll(HELLROT,string);
SetPVarInt(pID,"Mute",1);
SetTimerEx("PublicName",ZeitInMillisekunden,true = wiederholen false = nicht,"i",pID);
return 1;
}
}
return 1;
}
}
So mein ich das -
SetTimerEx("PublicName",ZeitInMillisekunden,true = wiederholen false = nicht,"i",pID);
Das in den Code rein bei SetPVarInt.
Dann machst du noch den Public wo du das wieder auf 0 setzt -
if(strcmp(cmd, "/admin", true) == 0 || strcmp(cmd, "/a", true) == 0)
{
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
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, COLOR_GRAD2, "NUTZE: (/a)dmin [admin chat]");
return 1;
}
format(string, sizeof(string), "*%d Admin %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
SendClientMessage(i,0xE10000FF,string);
}
}
Log("OA-Chat.txt",string);
}
return 1;
} -
if(PlayerInfo[playerid][pAdmin] >= 1)
{
format(string, sizeof(string), "*%d Admin %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
}
else if(PlayerInfo[playerid][pSupporter] >= 1)
{
format(string, sizeof(string), "*%d Supporter %s[%d]: %s", PlayerInfo[playerid][pSupporter], sendername, playerid, result);
}
else if(PlayerInfo[playerid][pSupporter] == 6)
{
format(string, sizeof(string), "*%d Admin %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
}
Du hast die Abfrage nicht entfernt. Mach es so:format(string, sizeof(string), "*%d Admin %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
//die anderen Sachen auch weg -
Zitat
Intel HD Grafik Win7 64Bit treiber.
Das bringt nicht viel. Schau mal im Gerätemanager wie die Grafikkarte heißt. -
Such nach Adminlevel, das müsste ja in dem Enum enthalten sein. Danach schaust du was unter dem enum steht
-
format(string, sizeof(string), "*%d Admin %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
-
Zitat
SetPVarInt(pID,"Mute",1);
Du lässt das auf 1 setzten, aber wo ist der Timer dazu? -
Zitat
error 017: undefined symbol "SpielerInfo"
SpielerInfo ist nicht definiert.
Du hast bestimmt ein enum für die Spielerdaten, was steht darunter? PlayerInfo? -
if(PlayerInfo[playerid][playerid] >= 1)
{
format(string, sizeof(string), "*%d Admin %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
}so:
format(string, sizeof(string), "*%d Admin %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, resul]t); -
if(PlayerInfo[playerid][pAdmin] >= 1) <--- Dieser Check
{
format(string, sizeof(string), "*%d Admin %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
} -
Du willst also das die User auch im Adminchat schreiben können?
-
if(strcmp(cmdtext, "/dmexit", true) == 0)
{
{ <--- Diese klammer ist hier falsch. Die muss unter die if Abfrage damit du else benutzen kannst
if(DM[playerid] >= 1)
DM[playerid] = 0;
SetCameraBehindPlayer(playerid);
SetPlayerVirtualWorld(playerid,0);
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 1318.7634,-1181.4620,23.6139);
}
else
{
SendClientMessage(playerid, 0xFB0000FF, "Du musst in einem DM sein um es verlassen zu können!");
}
}
Mach es so:
if(strcmp(cmdtext, "/dmexit", true) == 0)
{
if(DM[playerid] >= 1)
{
DM[playerid] = 0;
SetCameraBehindPlayer(playerid);
SetPlayerVirtualWorld(playerid,0);
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 1318.7634,-1181.4620,23.6139);
}
else
{
SendClientMessage(playerid, 0xFB0000FF, "Du musst in einem DM sein um es verlassen zu können!");
}
}Zitatwarning 217: loose indentation
Das heißt nur das es falsch eingerückt ist -
Zitat von RoBoy
(71) : error 017: undefined symbol "engine"
(72) : error 017: undefined symbol "lights"
(740) : error 017: undefined symbol "engine"
(741) : error 017: undefined symbol "lights"
(747) : error 017: undefined symbol "engine"
(748) : error 017: undefined symbol "lights"
new lights, engine; //Das über OnGameModeInit, am besten zu den anderen, also zu alarm,doors,bonnet...Zitat von RoBoy(793) : error 001: expected token: ";", but found "if"
(795) : error 029: invalid expression, assumed zero
(795) : warning 215: expression has no effect
(795) : error 001: expected token: ";", but found "if"
Zeig die Zeilen dazu. -
Importieren und dann die Datenbank auf deinem PC auswählen
-
Zitat
new Sname[MAX_PLAYER_NAME];
GetPlayerName[<---- playerid,Sname,sizeof(Sname));
Bei GetPlayerName musst du eine normale Klammer machen. Also so:GetPlayerName(playerid,Sname,sizeof(Sname));