Beiträge von Scott_Mitchell

    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.

    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.

    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);

    Kannst du eigentlich ganz leicht herausfinden.
    Screen von machen - Screen öffnen - mit dem Colorpicker rüberfahren - Code im Editor o.ä. aufschreiben