Beiträge von Akino Kiritani

    Deine Funktion haben auch merkwürdige Funktionen für ihre Namen -.-'


    if(GetPlayerMoney(playerid) < GetPlayerDollars(playerid))
    {
    SetPlayerCash(playerid,GetPlayerMoney(playerid));
    }

    Außerdem würde ich an deiner Stelle im hintergrund noch das orginale Geld mitlaufen lassen, verhindert Bugs :D

    new ID[5];
    for(new FraktionID = 0; FraktionID < MAX_FRACS; FraktionID++)
    {
    //Nun speichern wir die Daten in der Datenbank.
    valstr(ID,FraktionID);//Wandelt die Zahl in einen string um genau wie format
    mysql_SetInt("Fraktionskassse", "Mats", Frak[FraktionID][Mats], "Name",ID);
    mysql_SetInt("Fraktionskassse", "Kasse", Frak[FraktionID][Kasse], "Name",ID);
    }
    So

    Debug einzubauen ist eigentlich ganz ei nfach du lässt dir einfach per SendClientMessage oder print/printf irgendwelche sachen ausgeben


    Ich zeigs dirs mal


    if(strcmp(cmd,"/gw",true) == 0)
    {
    //GangWar System
    if(PlayerInfo[playerid][pLeader] == 13||PlayerInfo[playerid][pLeader] == 14)//Hier wird abefragt welche Fraktion einen Gangfight starten darf
    {
    SendClientMessage(playerid,COLOR_BLUE,"Spieler in der Fraktion 13 oder 14");
    if(IsPlayerInGebiet(playerid) > -1)//Ob der Spieler in einem Gebiet ist.
    {
    new zone = IsPlayerInGebiet(playerid);//Die Gebietsid wird in der Variable zone gespeichert.
    if(Gebiete[zone][gOn] == 1) return SendClientMessage(playerid,COLOR_BLUE,"Das Gebiet wird schon Umkämpft!");//Hier wird abgefragt ob das Gebiet schon bekämpft wird
    if(Gebiete[zone][gOwner] == PlayerInfo[playerid][pLeader]) return SendClientMessage(playerid,COLOR_BLUE," Deine Fraktion ist im Besitzt dieses Gebietes");//Hier wird abgefragt ob die Fraktion schon im besitzt dieser Funktion ist
    Gebiete[zone][gAngreifer] = PlayerInfo[playerid][pLeader];//Hier wird der gAngreifer gesetzt.
    Gebiete[zone][gOn] = 1;//Das der Gangfight für dieses Gebiet läuft
    SetTimerEx("GangFight",3600000,0,"i",zone); //Dies startet einen Timer der eine Stunde läuft , damit beenden wir den Gangifght. Die Zoneid wird mit übergeben
    SendClientMessage(playerid,COLOR_BLUE,"Timer gestartet");
    for(new i; 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;
    }
    so in etwa ;)

    Müsste dann bei dir so aussehen


    if(GetPlayerMoney(playerid) < GetPlayerDollars(playerid))
    {
    ResetPlayerCash(playerid);
    GivePlayerCash(playerid,GetPlayerMoney(playerid));
    }
    für die Variablenfreaks :D


    new money = GetPlayerMoney(playerid);
    if(money < GetPlayerDollars(playerid))
    {
    ResetPlayerCash(playerid);
    GivePlayerCash(playerid,money);
    }


    //Edit FEhler :D

    Ich hatte mal das Problem, dass er mir keine Mitteilung gesendet hat nämlich weil ich einen "." (Punkt) am Ende von SendClientMessage gesetzt da returnte er einfach ich weiß zwar nicht wieso, aber nachdem ich den Punkte weggenommen hab gings vielleicht hilft dir das
    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
    }

    Wie findest du denn raus in welcher Fraktion der Spieler sich befindet?
    Mit Fraktion oder Member?


    Son paar Infos zum Script wären nicht schlecht.


    Ich würds so machen


    new FraktionsID = PStats[playerid][Fraktion]; Musst du halt auf dein Script anpassen



    GF(Wenn du das nutzt weiß ich ja nicht :D
    new FraktionsID = PlayerInfo[playerid][Member];
    Im GF ist das glaub ich so eingestellt, dass wenn man Leader auch Member der Fraktion ist

    Es ist vielleicht für Anfänger ganz nütlzlich, nur ist das mit dem Herzpickup unglücklich gewählt, denn wenn man das Pickup aufnimmt ohne weitere Funktionen dafür einzurichten bekommt man trozdem volle Leben, du kannst es z.B. mit dem Rüstungs Pickup verbinden, so dass man Rüstung und volle Leben bekommt.

    mhm irgendwie ergiebt das hier keinen sinn
    new zone = IsPlayerInGebiet(playerid);//Die Gebietsid wird in der Variable zone gespeichert.
    Zeig uns mal den Code von der Funktion, denn rein theoretisch nach dem Funktionsnamen würde ich sagen das die funktion nur 0 oder 1 returnt.
    D.h. der falsche Array wird aufgerufen damit auch die gleiche Zone


    BTW: Wird in Gebiete[zone][Owner] eine Zahl oder ein String gespeichert?