Kill / Punkt nur in Spezieller Zone Gültig

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
  • Hallo also ich möchte gerne Das wenn man einen Killt nur dann einen Punkt bekommt wenn beide Teams/SPieler im Gebiet sind also hier mal ein ausschnitt meiner Onplayerdeath Scripts :


    public OnPlayerDeath(playerid, killerid, reason)
    {
    if (gTeam[playerid]==TEAM_GG)
    {
    SendClientMessageToAll(0xFFB400FF, "Team 1 macht einen Punkt!");
    new var0[100], var1[100], var2[50], var3[50];
    GetPlayerName(killerid, var2, 50);
    format(var0, 100, "Dich hat %s gekillt!", var2);
    GetPlayerName(playerid, var3, 50);
    format(var1, 100, "Du hast %s Gekillt !", var3);
    GameTextForPlayer(playerid, var0, 5000, 3);
    GameTextForPlayer(killerid, var1, 4000, 3);
    SGG++;
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, killerid);
    SetTimerEx("Spectator", 15000, false, "i", playerid);
    }
    SendDeathMessage(killerid, playerid, reason);
    new string1[5], string[5];
    valstr(string, SGG);
    TextDrawSetString(TextGG, string);
    }
    if(killerid != INVALID_PLAYER_ID)
    {
    SetPlayerScore(killerid, GetPlayerScore(killerid));
    }
    return 1;
    }


    Und ich will das es nur einen Punkt also SGG++; gibt wenn man in diesem Gebiet ist :


    gzone1 = GangZoneCreate(-934.23, 1389.667, -572.2159, 1658.258);


    Wie muss ich das machen bitte genaue angaben :) Danke euch


    /edit gibt es da keine möglichkeit ?


    /edit2 so hab jetzt rausgefunden das ich das hier einfügen kann


    && !IsPlayerInArea(-934.23, 1389.667, -572.2159, 1658.258))


    Also dann so : {
    if(gTeam[playerid]==TEAM_GG && !IsPlayerInArea(-934.23, 1389.667, -572.2159, 1658.258))
    {


    Aber jetzt gibt es auf der ganzen map keinen kill mehr -.- also ich denke da brauch ich iwie nochn timer der das checkt wo sich der player befindet aber wie muss ich das jetzt machen genau bitte helft mir :(

    2 Mal editiert, zuletzt von Manuel20 ()

  • public OnPlayerDeath(playerid, killerid, reason)
    {
    if (gTeam[playerid]==TEAM_GG && IsPlayerInArea(-934.23, 1389.667, -572.2159, 1658.258)))
    {
    SendClientMessageToAll(0xFFB400FF, "Team 1 macht einen Punkt!");
    new var0[100], var1[100], var2[50], var3[50];
    GetPlayerName(killerid, var2, 50);
    format(var0, 100, "Dich hat %s gekillt!", var2);
    GetPlayerName(playerid, var3, 50);
    format(var1, 100, "Du hast %s Gekillt !", var3);
    GameTextForPlayer(playerid, var0, 5000, 3);
    GameTextForPlayer(killerid, var1, 4000, 3);
    SGG++;
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, killerid);
    SetTimerEx("Spectator", 15000, false, "i", playerid);
    }
    SendDeathMessage(killerid, playerid, reason);
    new string1[5], string[5];
    valstr(string, SGG);
    TextDrawSetString(TextGG, string);
    if(killerid != INVALID_PLAYER_ID)
    {
    SetPlayerScore(killerid, GetPlayerScore(killerid));
    }
    return 1;
    }

  • public OnPlayerDeath(playerid, killerid, reason)
    {
    if(gTeam[playerid]==TEAM_GG && IsPlayerInArea(-934.23,1389.667,-572.2159,1658.258))
    {
    SendClientMessageToAll(0xFFB400FF, "Team 1 macht einen Punkt!");
    new var0[100], var1[100], var2[50], var3[50];
    GetPlayerName(killerid, var2, 50);
    format(var0, 100, "Dich hat %s gekillt!", var2);
    GetPlayerName(playerid, var3, 50);
    format(var1, 100, "Du hast %s Gekillt !", var3);
    GameTextForPlayer(playerid, var0, 5000, 3);
    GameTextForPlayer(killerid, var1, 4000, 3);
    GivePlayerMoney(playerid, 100);
    SCC++;
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, killerid);
    SetTimerEx("Spectator", 15000, false, "i", playerid);
    }
    if(gTeam[playerid]==TEAM_CC && IsPlayerInArea(-934.23,1389.667,-572.2159,1658.258))
    {
    SendClientMessageToAll(0xFFB400FF, "Team 2 macht einen Punkt!");
    new var0[100], var1[100], var2[50], var3[50];
    GetPlayerName(killerid, var2, 50);
    format(var0, 100, "Dich hat %s gekillt!", var2);
    GetPlayerName(playerid, var3, 50);
    format(var1, 100, "Du hast %s Gekillt !", var3);
    GameTextForPlayer(playerid, var0, 5000, 3);
    GameTextForPlayer(killerid, var1, 4000, 3);
    GivePlayerMoney(playerid, 100);
    SGG ++;
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, killerid);
    SetTimerEx("Spectator", 15000, false, "i", playerid);
    }
    SendDeathMessage(killerid, playerid, reason);
    new string1[5], string[5];
    valstr(string, SCC);
    TextDrawSetString(TextCC, string);
    valstr(string1, SGG);
    TextDrawSetString(TextGG, string1);
    if(SCC==50)
    {
    for(new i=50; i < MAX_PLAYERS; i++)
    {
    GameTextForAll("~y~ Team 1 hat gewonnen",10000,3);
    ForceClassSelection(playerid);
    SCC=0;
    SGG=0;
    new string2[5];
    valstr(string2, SCC);
    TextDrawSetString(TextCC, string2);
    valstr(string2, SGG);
    TextDrawSetString(TextGG, string2);
    }
    SendClientMessageToAll(0xFFB400FF,"**Team 1 hat gewonnen**");
    }
    if(SGG==50)
    {
    for(new i=50; i < MAX_PLAYERS; i++)
    {
    GameTextForAll("~g~Team 2 hat gewonnen",10000,3);
    ForceClassSelection(playerid);
    SCC=0;
    SGG=0;
    new string3[5];
    valstr(string3, SCC);
    TextDrawSetString(TextCC, string3);
    valstr(string3, SGG);
    TextDrawSetString(TextGG, string3);
    }
    SendClientMessageToAll(0x00FF14FF,"** Team 2 hat gewonnen **");
    }
    if(killerid != INVALID_PLAYER_ID)
    {
    SetPlayerScore(killerid, GetPlayerScore(killerid));
    }
    return 1;
    }


    Habe es jetzt so übernommen aber jetzt gibt es wieder auf der gesamten map für jeden einen Kill warum das ? :(


    /edit sry für das edit ich weiss aber wirklich nicht weiter weiss das denn niemand ?


    //edit So und es funkt immer noch nicht ich komme da nicht weiter was ist falsch daran ? Könnt Ihr bitte helfen

    2 Mal editiert, zuletzt von Manuel20 ()