Kannste schlagen oder so geht das ?
Das war bei mri mal so konnte schlagen aber Hände immer wieder hinten
Kannste schlagen oder so geht das ?
Das war bei mri mal so konnte schlagen aber Hände immer wieder hinten
Beides
Gibst du den Spieler vielleicht noch ne Animation? oder nur die Handschellen =
Die Hände bleiben hinten schlagen kann man aber das sieht aus als wenn ma einem eine Kopfnuss gibt
Bei Uncuff hast du die Playerids verwechselt, "playerid" ist immer der Spieler, der den Befehl ausführt, du möchtest die Handschellen aber dem Spieler abnehmen, den der Auslöser des Befehls, zum Beispiel ein Cop, angibt.
In deinem Fall wäre die richtige Variable "giveplayerid".
Ersetze einfach
RemovePlayerAttachedObject(playerid,0);
durch
RemovePlayerAttachedObject(giveplayerid,0);
Hier nocheinmal der komplette Code:
if(strcmp(cmd, "/uncuff", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(IsACop(playerid))
{
if(OnDuty[playerid] == 1)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Benutze: /uncuff [SpielerID]");
return 1;
}
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 kannst dich nicht selber uncuffen!"); return 1; }
if(PlayerCuffed[giveplayerid])
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s hat ihnen die Handschellen abgenommen.", sendername);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Sie haben %s die Handschellen abgenommen.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "%s nimmt %s Handschellen ab.", sendername ,giveplayer);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
TogglePlayerControllable(giveplayerid, 0);
PlayerCuffed[giveplayerid] = 0;
RemovePlayerAttachedObject(giveplayerid,0);
}
else
{
SendClientMessage(playerid, COLOR_RED, "Spieler ist nicht gecufft.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Spieler ist nicht in ihrer Nähe.");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Spieler ist offline.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Sie sind nicht im Dienst.");
}
}
else
{
SendClientMessage(playerid,COLOR_RED,"Sie sind kein Staatsdiener.");
}
return 1;
}
}
BlackLegend
Erklär es mal deutlicher... Du wolltest das Object Verschwinden lassen.. Geht das bereits?
Die Hände bleiben hinten schlagen kann man aber das sieht aus als wenn ma einem eine Kopfnuss gibt
Sag das doch...
Dir fehlt im Uncuffbefehl.
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_NONE);
Das Objekt verschwindet aber die Hände bleiben noch hinten leider
Wo hast du denn
SetPlayerSpecialAction eingefügt?
Das hier: SetPlayerSpecialAction(playerid,SPECIAL_ACTION_NONE); steht beim uncuff befehl und das hier: SetPlayerSpecialAction(playerid,SPECIAL_ACTION_CUFFED); steht beim Cuff befehl
Das hab ich beim ersten mal auch verstanden, das ist aber noch keine Antwort auf meine Frage
Habe editiert meine aussage
steht beim uncuff befehl
Ja wo genau?
kann ja sein, das du dass dorthin gepackt hast, wo es niemals ausgeführt werden kann
if(strcmp(cmd, "/uncuff", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(IsACop(playerid))
{
if(OnDuty[playerid] == 1)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Benutze: /uncuff [SpielerID]");
return 1;
}
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 kannst dich nicht selber uncuffen!"); return 1; }
if(PlayerCuffed[giveplayerid])
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s hat ihnen die Handschellen abgenommen.", sendername);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Sie haben %s die Handschellen abgenommen.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "%s nimmt %s Handschellen ab.", sendername ,giveplayer);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
TogglePlayerControllable(giveplayerid, 0);
PlayerCuffed[giveplayerid] = 0;
RemovePlayerAttachedObject(giveplayerid,0);
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_NONE);
}
else
{
SendClientMessage(playerid, COLOR_RED, "Spieler ist nicht gecufft.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Spieler ist nicht in ihrer Nähe.");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Spieler ist offline.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Sie sind nicht im Dienst.");
}
}
else
{
SendClientMessage(playerid,COLOR_RED,"Sie sind kein Staatsdiener.");
}
return 1;
}
}
Sowas dacht ich mir
du hast playerid, statt giveplayerid geschrieben.
Da hättest du auch selber drauf kommen können
Ok Vielen vielen dank das hat funktionier aber wenn ich jetzt uncuff eingebe geht alles außer der kann sich dann nicht mehr bewegen
Bei mir geht jetzt alles vielen dank an alle aber eine frage habe ich doch noch aber was anderes ich möchte das wenne ein Spieler normal schriebt also kein Ochat das da dan nicht die id vorsteht aber wenn ich die id weg mache dann steht da:
é sagt: (playername)
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s sagt: %s ", playerid,sendername, text);
ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
format(string, sizeof(string), "%s",text);
SetPlayerChatBubble(playerid,string,0xFF0000FF,15,10000);
return 0;
Es sind 2 Platzhalter aber 3 Variabeln in der Funktion format(), eine von den dreien ist falsch :).