Huhu zusammen,
wie frage ich ab, ob der Bot XY angeschossen wird ?
Würde es mit
if(issuerid != INVALID_PLAYER_ID) {
funktionieren, wenn ich hierbei den Bot Abfrage anstatt den Spieler?
Abfragen ob Bot angeschossen wird
- ReborN
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
[ SCRIPTING ] BOTS erschießen können + HP Anzeige, das dürfte dir Helfen.
-
Nein soviel ich weis wird OnPlayerTake/Give Damage bei Bots nicht ausgeführt benutz mal die SuFu du wirst sicherlich nicht der erste sein der diese Frage gestellt hat.
-
Zitat
[ SCRIPTING ] BOTS erschießen können + HP Anzeige, das dürfte dir Helfen.
Bringt mir wirklich viel,
so ein dummer link -.-Nein soviel ich weis wird OnPlayerTake/Give Damage bei Bots nicht ausgeführt benutz mal die SuFu du wirst sicherlich nicht der erste sein der diese Frage gestellt hat.
Danke dir
-
Nein soviel ich weis wird OnPlayerTake/Give Damage bei Bots nicht ausgeführt benutz mal die SuFu du wirst sicherlich nicht der erste sein der diese Frage gestellt hat.
Falsch...OnPlayerGiveDamage (Give = Geben = Wird vom Angreifer ausgeführt)
und kann damit perfekt dafür verwendet werden -
Falsch...OnPlayerGiveDamage (Give = Geben = Wird vom Angreifer ausgeführt)
und kann damit perfekt dafür verwendet werdenDas würde bedeuten, dass das Callback auch dann aufgerufen werden würde, wenn ein Spieler auf ein Fahrzeug schießt. - So ist es aber nicht.
Ich zitiere: "This callback is called when a player gives damage to another player."
Bots sind keine anderen Spieler und wenn ich mich richtig erinnere, funktioniert das Callback auch nicht bei ihnen. -
Falsch...OnPlayerGiveDamage (Give = Geben = Wird vom Angreifer ausgeführt)
und kann damit perfekt dafür verwendet werdenDas setzt voraus das das Opfer Schaden aufnehmen kann ansonsten würde er ja Schaden an INVALID_PLAYER_ID austeilen und da Bots von SAMP aus unsterblich sind können sie keinen Schaden aufnehmen.
-
Muss ich wohl weiter ausholen das die Callbacks verstanden werden
OnPlayerTakeDamage (funktioniert nicht für Bots)
= Ein Spieler meldet dem Server, das er auf seinem eigenen Bildschirm von einer Kugel getroffen wurde
Dies funktioniert bei BOTS/NPCs nicht, DA diese keine Schüsse registrierenOnPlayerGiveDamage (funktioniert für Bots)
= Der Schütze meldet dem Server, das er auf dem eigenen Bildschirm einen Spieler/NPC-Bot getroffen hat.
Die Betonung liegt GANZ stark auf *Der Schütze meldet*... und hängt deswegen überhaupt nicht von NPCs/Bots ab.
Folge: OnPlayerGiveDamage funktioniert für NPCs -
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
{
if(IsPlayerNPC(damagedid)
{
//bla
//bla
}
return 1;
}Das funktioniert für Bots
-
Muss ich wohl weiter ausholen das die Callbacks verstanden werden
Ich glaube du solltest es verstehen ich habe jetzt ein Test durchgezogen der mir gezeigt hat das wie zu erwarten du unrecht hattest wenn der Public OnPlayerGiveDamage aufgerufen wird erhalte ich eine Nachricht ich schlage mehrmals einen Bot und erhalte keine Nachricht was sagt uns das?
-
-
Ich glaube du solltest es verstehen ich habe jetzt ein Test durchgezogen der mir gezeigt hat das wie zu erwarten du unrecht hattest wenn der Public OnPlayerGiveDamage aufgerufen wird erhalte ich eine Nachricht ich schlage mehrmals einen Bot und erhalte keine Nachricht was sagt uns das?
Hm hab das jetzt über OnPlayerGiveDamage
gemacht, wenn ich den Bot angreife, mit den Waffen, welche ich neu definiert habe
funktioniert es.
Also hat er schon irgendwie recht -
Hm hab das jetzt über OnPlayerGiveDamage
gemacht, wenn ich den Bot angreife, mit den Waffen, welche ich neu definiert habe
funktioniert es.
Also hat er schon irgendwie rechtKann sein wenn ja tut es mir leid aber bei mir funktioniert es nicht und SA:MP Wiki sagt
This callback is called when a player gives damage to another player (nicht NPC) -
Naja wie gesagt,
hab es zwar ziemlich seltsam aufgebaut aber es funktioniert über OnPlayerGiveDamage.
Hab hier den bot mit seinem Namen abgefragt, dann die Waffen ID´s abgefragt,
wenn er mit der Waffe XY getroffen wird, soll dann z.b. ein Text kommen.
Genau dieser Text kommt auch.
Hab es jetzt auch ausprobiert, andere Bots damit
anzuschießen sowie andere Spieler passiert nichts nur bei den ausgewählten Bot.Das es im SA:MP Wiki steht stimmt, jedoch muss ja da auch nicht immer alles stimmen
-
Naja wie gesagt,
hab es zwar ziemlich seltsam aufgebaut aber es funktioniert über OnPlayerGiveDamage.
Hab hier den bot mit seinem Namen abgefragt, dann die Waffen ID´s abgefragt,
wenn er mit der Waffe XY getroffen wird, soll dann z.b. ein Text kommen.
Genau dieser Text kommt auch.
Hab es jetzt auch ausprobiert, andere Bots damit
anzuschießen sowie andere Spieler passiert nichts nur bei den ausgewählten Bot.Das es im SA:MP Wiki steht stimmt, jedoch muss ja da auch nicht immer alles stimmen
Könntest du den Code hier einfügen?
-
Könntest du den Code hier einfügen?
Hab es dir mal per PN geschickt,
muss ja nicht jeder haben -
Ich weiß genau wie diese beiden Callbacks funktionieren, es kann sein das das boxen nicht geht, da die Bots keine "geschlagen" animation ausführen
Kannst mir als SA-MP Beta Tester schon glauben, das ich weiß wie OnPlayerGiveDamage funktioniert http://forum.sa-mp.com/member.php?u=14916
-
Ich weiß genau wie diese beiden Callbacks funktionieren, es kann sein das das boxen nicht geht, da die Bots keine "geschlagen" animation ausführen
Ich hab es auch mit einer RPG Minigun und Deagle versucht weil ich schon damit gerechnet habe das du sagst beim Boxen geht es nicht.
-
OnPlayerGiveDamage (funktioniert für Bots)
= Der Schütze meldet dem Server, das er auf dem eigenen Bildschirm einen Spieler/NPC-Bot getroffen hat.
Die Betonung liegt GANZ stark auf *Der Schütze meldet*... und hängt deswegen überhaupt nicht von NPCs/Bots ab.
Folge: OnPlayerGiveDamage funktioniert für NPCsBei dem ganzen Müll, der hier verbreitet wird, habe ich es selbst nochmal getestet.
Resultat: OnPlayerGiveDamage funktioniert, wie von mir vermutet, NICHT bei Bots. -
breadfish.de
Hat das Thema geschlossen.