public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
{
new string[128];
new waffenname[24];
PlayerPlaySound(damagedid,17802,0.0,0.0,0.0);
PlayerPlaySound(playerid,17802,0.0,0.0,0.0);
if(weaponid == 22)
{
GetWeaponName(weaponid, waffenname, sizeof (waffenname));
format(string, sizeof(string), "Treffer! ~n~ Schaden 19 HP ~n~ Waffe %s",waffenname);
TextDrawSetString(Textdraw0, string);
SetTimerEx("textdrawdelete",3000,0,"");
new Float:health = GetPlayerHealth(damagedid,health);
SetPlayerHealth(damagedid,health-19);
TextDrawShowForPlayer(playerid,Textdraw0);
}
else if(weaponid == 23)
{
GetWeaponName(weaponid, waffenname, sizeof (waffenname));
format(string, sizeof(string), "Treffer! ~n~ Schaden 22 HP ~n~ Waffe %s",waffenname);
TextDrawSetString(Textdraw0, string);
SetTimerEx("textdrawdelete",3000,0,"");
new Float:health = GetPlayerHealth(damagedid,health);
SetPlayerHealth(damagedid,health-22);
TextDrawShowForPlayer(playerid,Textdraw0);
}
else if(weaponid == 24)
{
GetWeaponName(weaponid, waffenname, sizeof (waffenname));
format(string, sizeof(string), "Treffer! ~n~ Schaden 49 HP ~n~ Waffe %s",waffenname);
TextDrawSetString(Textdraw0, string);
SetTimerEx("textdrawdelete",3000,0,"");
new Float:health = GetPlayerHealth(damagedid,health);
SetPlayerHealth(damagedid,health-49.38);
TextDrawShowForPlayer(playerid,Textdraw0);
}
else if(weaponid == 25)
{
GetWeaponName(weaponid, waffenname, sizeof (waffenname));
format(string, sizeof(string), "Treffer! ~n~ Schaden 40 HP ~n~ Waffe %s",waffenname);
TextDrawSetString(Textdraw0, string);
SetTimerEx("textdrawdelete",3000,0,"");
new Float:health = GetPlayerHealth(damagedid,health);
SetPlayerHealth(damagedid,health-40);
TextDrawShowForPlayer(playerid,Textdraw0);
}
else if(weaponid == 26)
{
GetWeaponName(weaponid, waffenname, sizeof (waffenname));
format(string, sizeof(string), "Treffer! ~n~ Schaden 42 HP ~n~ Waffe %s",waffenname);
TextDrawSetString(Textdraw0, string);
SetTimerEx("textdrawdelete",3000,0,"");
new Float:health = GetPlayerHealth(damagedid,health);
SetPlayerHealth(damagedid,health-42);
TextDrawShowForPlayer(playerid,Textdraw0);
}
else if(weaponid == 27)
{
GetWeaponName(weaponid, waffenname, sizeof (waffenname));
format(string, sizeof(string), "Treffer! ~n~ Schaden 31 HP ~n~ Waffe %s",waffenname);
TextDrawSetString(Textdraw0, string);
SetTimerEx("textdrawdelete",3000,0,"");
new Float:health = GetPlayerHealth(damagedid,health);
SetPlayerHealth(damagedid,health-31);
TextDrawShowForPlayer(playerid,Textdraw0);
}
else if(weaponid == 28)
{
GetWeaponName(weaponid, waffenname, sizeof (waffenname));
format(string, sizeof(string), "Treffer! ~n~ Schaden 6 HP ~n~ Waffe %s",waffenname);
TextDrawSetString(Textdraw0, string);
SetTimerEx("textdrawdelete",3000,0,"");
new Float:health = GetPlayerHealth(damagedid,health);
SetPlayerHealth(damagedid,health-6);
TextDrawShowForPlayer(playerid,Textdraw0);
}
else if(weaponid == 29)
{
GetWeaponName(weaponid, waffenname, sizeof (waffenname));
format(string, sizeof(string), "Treffer! ~n~ Schaden 9 HP ~n~ Waffe %s",waffenname);
TextDrawSetString(Textdraw0, string);
SetTimerEx("textdrawdelete",3000,0,"");
new Float:health = GetPlayerHealth(damagedid,health);
SetPlayerHealth(damagedid,health-9);
TextDrawShowForPlayer(playerid,Textdraw0);
}
else if(weaponid == 30)
{
GetWeaponName(weaponid, waffenname, sizeof (waffenname));
format(string, sizeof(string), "Treffer! ~n~ Schaden 11 HP ~n~ Waffe %s",waffenname);
TextDrawSetString(Textdraw0, string);
SetTimerEx("textdrawdelete",3000,0,"");
new Float:health = GetPlayerHealth(damagedid,health);
SetPlayerHealth(damagedid,health-11);
TextDrawShowForPlayer(playerid,Textdraw0);
}
else if(weaponid == 31)
{
GetWeaponName(weaponid, waffenname, sizeof (waffenname));
format(string, sizeof(string), "Treffer! ~n~ Schaden 14 HP ~n~ Waffe %s",waffenname);
TextDrawSetString(Textdraw0, string);
SetTimerEx("textdrawdelete",3000,0,"");
new Float:health = GetPlayerHealth(damagedid,health);
SetPlayerHealth(damagedid,health-14);
TextDrawShowForPlayer(playerid,Textdraw0);
}
else if(weaponid == 32)
{
GetWeaponName(weaponid, waffenname, sizeof (waffenname));
format(string, sizeof(string), "Treffer! ~n~ Schaden 7 HP ~n~ Waffe %s",waffenname);
TextDrawSetString(Textdraw0, string);
SetTimerEx("textdrawdelete",3000,0,"");
new Float:health = GetPlayerHealth(damagedid,health);
SetPlayerHealth(damagedid,health-7);
TextDrawShowForPlayer(playerid,Textdraw0);
}
else if(weaponid == 33)
{
GetWeaponName(weaponid, waffenname, sizeof (waffenname));
format(string, sizeof(string), "Treffer! ~n~ Schaden 37 HP ~n~ Waffe %s",waffenname);
TextDrawSetString(Textdraw0, string);
SetTimerEx("textdrawdelete",3000,0,"");
new Float:health = GetPlayerHealth(damagedid,health);
SetPlayerHealth(damagedid,health-37);
TextDrawShowForPlayer(playerid,Textdraw0);
}
else if(weaponid == 34)
{
GetWeaponName(weaponid, waffenname, sizeof (waffenname));
format(string, sizeof(string), "Treffer! ~n~ Schaden 56 HP ~n~ Waffe %s",waffenname);
TextDrawSetString(Textdraw0, string);
SetTimerEx("textdrawdelete",3000,0,"");
new Float:health = GetPlayerHealth(damagedid,health);
SetPlayerHealth(damagedid,health-56);
TextDrawShowForPlayer(playerid,Textdraw0);
}
return 1;
}
Das könntest du kürzen.
Den Schaden, welchen du manuell ausgibst, kannst du mithilfe von Float:amount automatisch ausgeben lassen.
SetPlayerHealth ist dann auch überflüssig.
Beiträge von Scott_Mitchell
-
-
Hitsound-ID: 17802
-
Habe jetzt deine Variante genommen.
Kann so oder so nicht ins "-" gehen. :>Vielen Dank euch beiden.
-
Also bei mir funktioniert es.
Hatte es sonst nur immer mit einer if-Abfrage gemacht (if(DM1[playerid]==1)).
Wie hättest du es denn gemacht @*GHOSTRIDER*:? -
Guten Tag,
ich habe folgendes Problem.
Wenn ich eine Arena betrete wird die Variable um 1 erhöht. (Soweit ist alles noch okay), aber ich weiß nicht, wie ich es realisieren kann, dass beim Verlassen der Arena nur dort die Variable um 1 verringert wird, in welcher man auch war.
(Ich setze beim Verlassen - /exit - die Werte aller Arenen auf 0 und wenn ich dann bei /exit bspw. DM1--; und DM2--; mache, wird ja in der Arena, in der man nicht war, trotzdem der Wert verringert)
Ich möchte aber, dass nur der Wert verringert wird, in der Arena, in der man war. -
Wie groß ist der string denn?
Ich denke mal er ist zu klein, vergrößere ihn mal. -
public OnPlayerText(playerid, text[])
{
new string[128];
format(string, sizeof(string), "%s sagt: %s",SpielerName(playerid),text);
SMessage(playerid, Weiss, string, 20);
return 0;
} -
Habe ich mich auch erst gefragt.
Hatte vor kurzem erst noch die Variable auf zwei Dinge bezogen, weshalb immer DM: 1 oder DM: 0 gezeigt wurde.Dann habe ich eine einzelne Variable erstellt, mit [playerid], jedoch ging dies nicht.
Habe dann deine Variante probiert.
Jetzt geht's. Danke. :> -
Guten Tag,
ich wollte via Textdraw ermöglichen, dass man, wenn man eine DM-Arena betritt, der Wert um 1 erhöht wird und wenn man diese verlässt bzw. disconnectet um ein verringert wird.
Das Problem ist jedoch, wenn ein zweiter Spieler in die Arena geht, bleibt es "DM: 1" und wird nicht zu "DM: 2".
Folgendes habe ich geschrieben:new DM1[MAX_PLAYERS];
Wenn der Spieler die Arena betritt:
DM1[playerid]++; //Variable um ein erhöhen
new string[128];
format(string,sizeof(string),"DM: %d",DM1[playerid]);
TextDrawSetString(Text:Textdraw7,string);Wenn der Spieler die Arena verlässt:
DM1[playerid]--; //Variable um ein verringert
new string[128];
format(string,sizeof(string),"DM: %d",DM1[playerid]);
TextDrawSetString(Text:Textdraw7,string);Wenn der Spieler den Server verlässt:
DM1[playerid]--;Textdraw anzeigen (unter OnPlayerSpawn):
TextDrawShowForPlayer(playerid,Text:Textdraw7); -
hier geht es um mehr als nur eine Note.
Worum geht's denn genau, wenn wir dir schon die Arbeit nehmen sollen?
-
Naja da hab ich viel bessere gesehen (z.B das von Devine_)
Jeder fängt mal klein an.
Und man soll hier nichts von Devine_ bewerten. :>Mir gefällt es ebenfalls.
Schlicht und nicht zu aufdringlich. -
GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]=5000);
-
Laut Code sollte es richtig sein.
-
Wenn du bereits ein Speichersystem geschrieben hast, kannst du dem User beim Registrieren 5000$ geben.
Zeig mal den Register stock. -
-
Kannst du eigentlich ganz leicht herausfinden.
Screen von machen - Screen öffnen - mit dem Colorpicker rüberfahren - Code im Editor o.ä. aufschreiben -
Ich hab den GTA V Background, ansonsten nicht

Ja, den sehe ich so oft, weiß gar nicht mehr, wer den schon alles hatte.
Ein anderer Background wäre nicht schlecht. :> -
Also mir gefällt es, aber kann es sein, dass du immer den selben Hintergrund nimmst oder verwechsle ich dich da mit jemand anderes?
-
Ist für mich ein "Trailer-/Script-Video".
Mir gefällt es, wurde gut editiert, die Musik passt und im allgemeinen passt dort alles zusammen. (Gute Cuts, etc.) -
Ja, jedoch erst nachdem er reloggt hat bzw. wenn er offline ist.