if(!IsPlayerConnected(giveplayerid))return SendClientMessage(playerid, COLOR_GREY, " Dieser Spieler ist nicht in deiner Nähe !");
if(giveplayerid == INVALID_PLAYER_ID)return 1;
Was machst du denn hier ?
Erst fragst du ab, ob der Spieler nicht Connected ist, dann übergibst du die Spielernachricht: Dieser Spieler ist nicht in deiner Nähe !
Anschließend fragst du ab ob giveplayerid eine ungültige ID ist!
Wo bleibt der sinn
Ich würde dir noch empfehlen das ganze so zu machen:
ocmd:kiss(playerid,params[]){
new giveplayerid, Float:pPos[3];
if(sscanf(params,"u",giveplayerid))return SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /kiss [playerid]");
if(giveplayerid == INVALID_PLAYER_ID)return SendClientMessage(playerid,-1,"Der Spieler ist nicht online!");
GetPlayerPos(giveplayerid, pPos[0], pPos[1], pPos[2]);
if(GetPlayerDistanceFromPoint(playerid, pPos[0], pPos[1], pPos[2]) > abstand)return SendClientMessage(playerid,-1,"Du bist nicht in der nähe von dem Spieler!");
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)),GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Du bietest %s einen Kuss.", giveplayer),SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s bietet dir einen Kuss. (/kissannehmen)", sendername),SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
TogglePlayerControllable(playerid,false); // Hier wird er gefreezed
}
ocmd:kissannehmen(playerid){
new pPos[3];
GetPosVorSpieler(KissAntrag[playerid], 5.0, pPos[0], pPos[1], pPos[2]);
if(GetPlayerDistanceFromPoint(playerid, pPos[0], pPos[1], pPos[2]) > 2.9)return 1;
SetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
TogglePlayerControllable(KissAntrag[playerid], 1);
ApplyAnimation(playerid,"KISSING","Playa_Kiss_02",4.1,0,0,0,1,1);
ApplyAnimation(KissAntrag[playerid],"KISSING","Grlfrd_Kiss_02",4.1,0,0,0,1,1);
return KissAntrag[playerid] = 0;
}
Mit strcmp & strtok ist das nicht gerade anders