Hey Leute ich Habe wie oben ein Tazer warning ich weis aber nicht weswegen diese warrnigs kommen ( sry wegen meinem Deutsch ) hier die Code Schnipseln.
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_LOOK_BEHIND)
{
if(GetPlayerWeapon(playerid) == 24)
{
if(GetPlayerTargetPlayer(playerid) != INVALID_PLAYER_ID)
{
new string[64],name[MAX_PLAYER_NAME+1],rnddmg;//Erstellt eine String names string mit der Größe 64, einen String namens name mit der Größe von MAX_PLAYER_NAME ( 24 ) + 1 ( 25 ) und einen Integer namens rnddmg.
new target = GetPlayerTargetPlayer(playerid); //Erstellt die Variable target und schreibt die ID des anvisierten Spielers hinein.
rnddmg = random(10); //Ändert den Inhalt von rnddmg zu einem zufälligen Wert zwischen 0 und 10
GetPlayerName(target,name,sizeof(name));//Speichert den Spielernamen der ID target in den String "name".
format(string,sizeof(string),"Du hast %s mit deiner Tazerpistole getroffen und ihm %d Schaden hinzugefügt.",name,rnddmg);//Formatiert einen Text
GameTextForPlayer(target,"~r~Tazed",2000,0);//Gibt einen GameText für target aus
SendClientMessage(playerid,0xFF000000,string);//Sende eine Nachricht mit dem Inhalt aus dem String "string"
TogglePlayerControllable(target,0);//freezt target
new Float:health;//erstellt die Variable "health"
GetPlayerHealth(target,health);//gibt die aktuelle Health des Spielers aus und schreibt sie in die Variable health
SetPlayerHealth(target,health-rnddmg);//Setzt die Health des Spielers auf health(vorherige Leben des Spielers)-rnddmg(zufälliger Wert zwischen 0 und 10)
SetTimerEx("tazer",5000,0,"i",target);//Startet einen 5 Sekunden langen Timer
}
else return SendClientMessage(playerid,0xFF000000,"Du hast daneben geschossen.");
}
}
return 1;
}
forward tazer(target); //Das kommt nach oben ins Script, aber die Includes
public tazer(target)//Das kommt über den bisherigen Code
{
TogglePlayerControllable(target,1);//Entfreezt den Spieler
return 1;
}
Ich Hoff ihr könntet mir helfen