So habe ein paar cdms gemacht alle für cops aber wenn man sie richtig eingibt alle erfüllt kommt unknow .... und es passiert nix
Hier die cmds
if(strcmp(cmdtext, "/getincar", true) == 0)
{
if(IsPlayerConnected(playerid) && IsACop(playerid))
{
tmp = strget(cmdtext,1);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "Benutze: /getincar [ID]");
return 1;
}
if(OnDuty[playerid] ==1)
{
new person = ReturnUser(strget(cmdtext,1));
new playerVehicle = GetPlayerVehicleID(playerid);
if(IsPlayerConnected(person))
{
if(person != INVALID_PLAYER_ID)
{
if(GetDistanceBetweenPlayers(playerid,person) <= 4)
{
if(!IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid, COLOR_GREY, " Du kannst nur in Fahrzeugen grabben!");
return 1;
}
if(PlayerCuffed[person] != 1)
{
SendClientMessage(playerid, COLOR_GREY, " Spieler muss getazert sein!");
return 1;
}
if(IsPlayerInAnyVehicle(person))
{
SendClientMessage(playerid, COLOR_GREY, " Ziel ist in einem Auto!");
return 1;
}
if(person == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selbst grabben!"); return 1; }
if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2)
{
GetPlayerName(person, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Du wurdest von %s ins Farzeug gezogen.", sendername);
SendClientMessage(person, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Du hast %s ins Fahrzeug gezogen.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s hat %s ins Fahrzeug gezogen", sendername ,giveplayer);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
GameTextForPlayer(giveplayerid, "~r~Festgenommen", 2500, 3);
PutPlayerInVehicle(person,playerVehicle,3);
FreezePlayer(person);
PlayerCuffed[person] = 2;
PlayerCuffedTime[person] = (120 + random(120));
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Du fährst kein Auto!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Spieler ist nicht in deine Nähe!");
return 1;
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Du bist kein Cop / FBI / Swat / Army!");
}
}
return 1;
}
if(strcmp(cmdtext, "/cuff", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gTeam[playerid] == 1 || IsACop(playerid))
{
tmp = strget(cmdtext,1);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "FEHLER: /cuff [playerid]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(gTeam[giveplayerid] == 1 || IsACop(giveplayerid))
{
SendClientMessage(playerid, COLOR_GREY, " Du kannst keine Polizisten fesseln !");
return 1;
}
if(PlayerCuffed[giveplayerid] > 0)
{
SendClientMessage(playerid, COLOR_GREY, " Spieler ist schon gefesselt !");
return 1;
}
if (ProxDetectorS(8.0, playerid, giveplayerid))
{
new car = GetPlayerVehicleID(playerid);
if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selber fesseln!"); return 1; }
if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2 && IsPlayerInVehicle(giveplayerid, car))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Du wurdest von %s gefesselt.", sendername);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Du fesselst %s.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s fesselt %s, also kann er nicht entkommen.", sendername ,giveplayer);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
GameTextForPlayer(giveplayerid, "~r~Gefesselt", 2500, 3);
FreezePlayer(giveplayerid);
PlayerCuffed[giveplayerid] = 2;
PlayerCuffedTime[giveplayerid] = 180;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Spieler ist nicht in deinem Auto, oder du bist nicht in einem Auto !");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist nicht in deiner nähe !");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Dieser Spieler ist Offline !");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Du bist kein Polizist !");
}
}
return 1;
}
if(strcmp(cmdtext, "/uncuff", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gTeam[playerid] == 1 || IsACop(playerid))
{
tmp = strget(cmdtext,1);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "FEHLER: /uncuff [playerid]");
return 1;
}
new giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if (ProxDetectorS(8.0, playerid, giveplayerid))
{
if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du hast dich selbst entfesselt!"); return 1; }
if(PlayerCuffed[giveplayerid])
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Du wurdest von %s entfesselt.", sendername);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Du entfesselst %s.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
GameTextForPlayer(giveplayerid, "~g~Entfesselt", 2500, 3);
UnFreezePlayer(giveplayerid);
PlayerCuffed[giveplayerid] = 0;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist nicht gefesselt!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist nicht in deiner Nähe !");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Dieser Spieler ist Offline !");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Du bist kein Polizist !");
}
}
return 1;
}
Bitte um hilfe kriege die cmds nicht hin
-
-
Verwendest du eventuell dcmd oder zcmd oder ähnliches?
Oder sind die anderen Befehle gleich aufgebaut wie diese?mfg.
Opa -
Sind alle gleich aufgebaut
-
Kommen keine Errors?
-
Mach mal nach jeder "if-Abfrage" ein "print("debug #1")" mit steigender zahl.
Dann siehst wie weit das Script ausgeführt wird.
Am besten bei einem Befehl dann sieht man was los ist.EDIT// Das wichtige ist was in den Anführungszeichen steht was davor ist ist eig. egal.
-
if (strcmp("/Command", cmdtext, true, 10) == 0)
bei true, 10) ?
-
PuSchKiiNX ah okay mal testeb
Opa_Schlumpf mache ich mal -
also in meinem Script, bei meinen Commands steht überall die 10 nach true,
sowie hier
if (strcmp("/godmode", cmdtext, true, 10) == 0)
-
die 10 Bedeutet, dass deine Strings maximal auf 10 zeichen abgefragt wird.
"dieserblub" und "dieserblubblibla" sind demnach dann gleiche Strings.
Nein es wird hier ein, wie schon erwähnt, debug gefordert, bei dem man ablesen kann, bis wo der command kommt.
Dafür einfach
print("Stelle 1");
print("Stelle 2");Und das nach jeder Zeile im Command, zwischen die einzelnen schon gescripteten Sachen. Dann kann man sehen, dass der Command Beispielsweise nur bis Punkt 10 gekommen ist. Der Fehler liegt dann also zwischen Punkt 10 und 11.
-
Dieser letzer Parameter gibt an, wieviele Characters verglichen werden sollen.
if (strcmp("/godmode", cmdtext, true, 4) == 0) //Code
if (strcmp("/god", cmdtext, true, 4) == 0) //Code
Wenn man den Befehl /god eingibt, werden beide if-Bedingungen erfüllt.Edit: Vorposter war schneller.
-
Habe es hingekricht habe die an anfang falsch gemacht müssten so sein if(strcmp(strget(cmdtext,0),"/cuff",true, 10) == 0) und es geht jetzt
danke an alle -
wusst ich doch das nur diese "10" fehlte
-
breadfish.de
Hat das Thema geschlossen.