Beiträge von Cr4zy0ne

    Hey ich bekomme hier ein Error könnte mir vlt jemand helfen


    error 033: array must be indexed (variable "GangZone")


    if(PlayerInfo[playerid][pLeader]==GangZone[owner] ||PlayerInfo[playerid][pMember]==GangZone[owner])

    unzwar ich habe dieses Gangfight System (Tutorial) hier im forum übernommen
    mein Problem ist wenn ich ein Gebiet eines Gegners angreife Greife ich immmer nur das erste gebiet an
    Ich möchte nur das gebiet angreifen in dem ich mich befinde und nicht immer das selbe
    Könnte mir vlt jemand Helfen hier die benötigten Codes :


    /edit
    Ich habe bereits nach Lösungen im Forum gesucht jedoch taucht das Problem bei vielen auf ..


    stock IsPlayerInGebiet(playerid)//Funktion bennen mit den jeweiligen Variablen oder auch Parameter genannt.
    {
    for(new i = 0; i < sizeof(Gebiete); i++)//Damit wieder nach allen Zonen geschaut wird.
    {
    new Float:GetXx,Float:GetYy,Float:GetZz;//Neue Float Variablen erstellen, damit wir dort die Positionen des Spielers speichern können
    GetPlayerPos(playerid,GetXx,GetYy,GetZz);//Die Position des Spielers in den oben genannten Variablen speichern.
    if(Gebiete[i][gMinX] < GetXx && Gebiete[i][gMaxX] > GetXx && Gebiete[i][gMinY] < GetYy && Gebiete[i][gMaxY] > GetYy)//Hier wird abgefragt ob die Spielerkooridnanten in dem Bereich der Gangzone sind.
    {
    return i;//Hier wird die Gebietsid returned
    }
    }
    return 0;//Das ist das entscheidende zum Bugfixx.
    }




    Und der Gangwar Befehl



    if(strcmp(cmd, "/gangwar", true) == 0)
    {
    //new time[3]; gettime(time[0], time[1], time[2]); FixHour(time[0]);


    if(PlayerInfo[playerid][pLeader] == 5 || PlayerInfo[playerid][pLeader] == 6 || PlayerInfo[playerid][pLeader] == 10 || PlayerInfo[playerid][pLeader] == 14)//Hier wird abefragt welche Fraktion einen Gangfight starten darf
    {
    if(IsPlayerInGebiet(playerid) >= 0)//Das bezieht sich auf das stock PlayerInZone
    {
    new zone = IsPlayerInGebiet(playerid);//Die Gebietsid wird in der Variable zone gespeichert.
    if(Gebiete[zone][gOn] == 1)
    {
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Das Gebiet wird schon Umkämpft!");//Hier wird abgefragt ob das Gebiet schon bekämpft wird
    return 1;
    }
    if(Gebiete[zone][gOwner] == PlayerInfo[playerid][pLeader])
    {
    SendClientMessage(playerid,COLOR_LIGHTBLUE," Deine Fraktion ist im Besitzt dieses Gebietes");//Hier wird abgefragt ob die Fraktion schon im besitzt dieser Funktion ist
    return 1;
    }
    Gebiete[zone][gAngreifer] = PlayerInfo[playerid][pLeader];//Hier wird der Angreifer gesetzt.
    Gebiete[zone][gOn] = 1;//Das der Gangfight für dieses Gebiet läuft
    SetTimerEx("GangFight",60000,0,"i",zone); //Dies startet einen Timer der eine Stunde läuft , damit beenden wir den Gangifght. Die Zoneid wird mit übergeben
    for(new i = 0; i < MAX_PLAYERS; i++)//Damit jeder Spieler abgefragt wird
    {



    if(PlayerInfo[i][pLeader] == Gebiete[zone][gOwner] || PlayerInfo[i][pMember] == Gebiete[zone][gOwner])//Ob spieler oder Leader in dieser Fraktion ist
    {


    SendClientMessage(playerid,COLOR_RED,"Eines ihrer Gebiete wird angegriffen.");//Sendet eine Mitteilung
    }
    if(PlayerInfo[i][pLeader] == Gebiete[zone][gAngreifer] ||PlayerInfo[i][pMember] == Gebiete[zone][gAngreifer])//siehe oben
    {
    SendClientMessage(playerid,COLOR_RED,"Dein Leader hat ein Gangwar gestartet!");
    }
    }


    }
    }


    return 1;
    }

    Ich brauche mal hilfe unzwar ich habe sowas erstellt das wenn man ein bestimmtes Pickup aufhebt mann was bekommt
    Nur jetz ist es manchmal so das wenn man in irgend ein anderes Pickup geht das man trotzdem den preis bekommt
    benötige echt Hilfe
    Hier mein Onplayerpickuppickup



    if(pickupid==osterei)
    {
    rand22 = random(sizeof(RandomSpawns));
    DestroyPickup(osterei);
    osterei=CreatePickup(19344,2,RandomSpawns[rand22][0], RandomSpawns[rand22][1], RandomSpawns[rand22][2],0);

    SendClientMessage(playerid,COLOR_YELLOW,"Gratulation du hast ein Ü-Ei Gefunden");
    SendClientMessage(playerid,COLOR_YELLOW,"Du erhältst 10 Respektpunkte (Das sind 10 Spielstunden) ");
    PlayerInfo[playerid][pExp]+=10;
    //osterei=CreatePickup(19344,2,RandomSpawns[spawn][pposx],RandomSpawns[spawn][pposy],RandomSpawns[spawn][pposz],0);


    return 1;
    }

    Hier das funktioniert nicht ich werde einfach nicht geboundst


    SetPlayerWorldBounds(playerid, -1401.345, -1588.191, 2674.233, 2534.099);



    ich bin so weit weg aber es geht nicht
    ich werde einfach nicht zurück geschleudert

    hey ich möchte es hinbekommen das angezeigt wird mit welche Waffe man getötet wurde hier mein Code


    if(PlayerInfo[playerid][inpb] == 1)
    {
    new giveplayer[MAX_PLAYER_NAME], killer[MAX_PLAYER_NAME];
    new killstr[128];
    GetPlayerName(playerid,giveplayer,sizeof(giveplayer));
    if(killerid == INVALID_PLAYER_ID)
    format(killstr, sizeof(killstr),"%s ist gestorben.", giveplayer);
    else {
    GetPlayerName(killerid,killer,sizeof(killer));
    format(killstr,sizeof(killstr),"%s hat %s getötet.",killer,giveplayer);
    }
    SendClientMessageToAll(COLOR_BLUE,killstr);
    }

    Ich bräuchte mal Hilfe unzwa wenn einer 3 Kills hat soll in der Paintball Arena ein Game Text erscheinen aber es erscheint keiner



    if(PlayerInfo[playerid][inpb] == 1)
    {
    new killer[MAX_PLAYER_NAME];
    new string[70];
    PlayerInfo[killerid][pbrundenkills] ++;
    if(PlayerInfo[playerid][pbrundenkills] == 3)
    {
    GetPlayerName(killerid,killer,sizeof(killer));
    for(new i = 0; i<MAX_PLAYERS; i++)
    {
    format(string, sizeof(string), "~y~%s NiceOne",killer);
    GameTextForPlayer(i, string, 2500, 3);
    }
    }
    }

    danke ;D


    Und könntest du mir noch bei einer sache Helfen unzwar
    Wenn jemand 3 pbrundenkills hat das dann ein Gametext erscheint für alle die sich in der Paintball befinden : Testname hat 3 Kills in Serie



    Mein Bisheriger Code



    /edit ich denke ich habe es



    ich melde mich dann noch mal ;D

    Doch ich möchte das dann nicht mehr das steh hat Testname gekillt
    also da steht das (Lückefrei) mich gekillt hat..


    Aber es sollte da stehn Testname ist gestorben und nich hat testname gekillt

    Hey ich hätte mal eine frage bin gerade dabei eine Paintball zuerstellen und ich wollte es so machen das wenn jemand sich selbst killt bzw stirbt ohne das ein andere ihn killlt
    soll einfach nur da steh ...... ist gestorben
    In moment ist es so das wenn ich mich selbst kille steht : hat testname getötet


    und wenn mich jemand anderes killt funktioniert alles
    Hier mein Code


    if(PlayerInfo[playerid][inpb] == 1)
    {
    new giveplayer[MAX_PLAYER_NAME], killer[MAX_PLAYER_NAME];
    new killstr[256];
    GetPlayerName(playerid,giveplayer,sizeof(giveplayer));
    GetPlayerName(killerid,killer,sizeof(killer));
    format(killstr,sizeof(killstr),"%s hat %s getötet",killer,giveplayer);
    SendClientMessageToAll(COLOR_BLUE,killstr);
    }

    Ich möchte es so machen das wenn jemand in diesem car ist das ihm ein Tacho angezeigt wird hier mein Code leider ohne erfolg


    if (FractionCars(vehicleid) && !ispassenger)
    {
    TextDrawShowForPlayer(playerid,Speedo[playerid]);
    }