Beiträge von Kinimod

    Moin,


    //ERLEDIGT


    Folgender Fehler:

    Zitat

    array index out of bounds (variable "Accounts")


    Folgender Code:


    new File:AAcc;
    new filepath[256];


    format(filepath,sizeof(filepath),"Accounts/AllAccounts.txt");
    AAcc = fopen(filepath,io_append);


    new Accounts[700];
    fread(AAcc,Accounts,sizeof(AAcc));


    new AccSplit[700];


    split(Accounts[700],AccSplit[700],",");//Fehlerzeile


    Split ist eine Funktion, welche ich aus dem Netz habe.


    Wo ist der Fehler und wie kann ich ihn beheben?


    Gruß

    Moin,


    habe folgenden Code:
    ocmd:ban(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Du bist kein Admin Stufe 3");
    {
    new pID, reason[50],string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,ROT,"/ban [ID] [GRUND]");
    SetPVarInt(pID,"Baned",1);
    new Spielerdatei[1000];
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",SpielerName(pID));
    new Banngrund[50],Bannadmin[40];
    format(Banngrund,sizeof(Banngrund),"%s",reason);
    format(Bannadmin,sizeof(Bannadmin),"%s",SpielerName(playerid));
    dini_Set(Spielerdatei,"Banngrund",Banngrund);
    dini_Set(Spielerdatei,"Bannadmin",Bannadmin);

    format(string,sizeof(string),"%s wurde von %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid), reason);
    SendClientMessageToAll(ROT,string);
    new Log[100];
    format(Log,sizeof(Log),"%s [Bann] ==> %s Grund: %s",SpielerName(playerid),SpielerName(pID),reason);
    SaveToFile(Log);

    new Userakte[100];
    format(Userakte,sizeof(Userakte),"[Bann]von %s [Grund: %s]",SpielerName(playerid),reason);
    SaveToUA(pID,SpielerName(pID),Userakte);

    new Banntext[500];
    SetPVarString(playerid,"Banngrund",dini_Get(Spielerdatei,"Banngrund"));

    new Banngrund2[100];
    GetPVarString(pID,"Banngrund",Banngrund2,sizeof(Banngrund2));
    format(Banntext,sizeof(Banntext),"Du wurdest soeben gebannt.,\nDu kannst nun nicht mehr auf diesen Account zugreifen.\nBei vermutlicher Unschuld kannst Du im Forum einen Entbannantrag stellen.\n{FF0000}Accountname:{FFFFFF} %s\n{FF0000}Banngrund:{FFFFFF} %s\n{FF0000}Admin:{FFFFFF}%s",SpielerName(pID),Banngrund2,SpielerName(playerid));
    ShowPlayerDialog(pID,DIALOG_BANED,DIALOG_STYLE_MSGBOX,"Du wurdest gebannt",Banntext,"","");

    Kick(pID);
    }
    return 1;
    }


    Jetzt erstellt der aber eine .Part Datei der Account datei.


    Weiß jmd. woran das liegen könnte?


    Gruß

    tach,


    Ich bin momentan an einem Bussystem dran, das leider wider erwarten nicht funktioniert.


    Snippet:


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/linie", cmdtext, true, 10) == 0)
    {
    SetPlayerCheckpoint(playerid,1290.7672,-936.3823,40.8698,4.0);
    return 1;
    }
    return 0;
    }


    public OnPlayerEnterCheckpoint(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,1290.7672,-936.3823,40.8698))
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,1519.3518,-847.7933,65.8554,4.0);
    }
    else if(IsPlayerInRangeOfPoint(playerid,2,1519.3518,-847.7933,65.8554))
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,793.6575,-794.5589,66.3442,4.0);
    }
    else if(IsPlayerInRangeOfPoint(playerid,2,793.6575,-794.5589,66.3442))
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,120.9194,-1561.2400,8.6541,4.0);
    }
    else if(IsPlayerInRangeOfPoint(playerid,2,120.9194,-1561.2400,8.6541))
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,120.9194,-1561.2400,8.6541,4.0);
    }
    else if(IsPlayerInRangeOfPoint(playerid,2,1041.2650,-1734.7407,13.3828))
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,1385.7635,-1782.1515,13.3828,4.0);
    }
    else if(IsPlayerInRangeOfPoint(playerid,2,1385.7635,-1782.1515,13.3828))
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,1379.3354,-1582.0038,13.3631,4.0);
    }
    else if(IsPlayerInRangeOfPoint(playerid,2,1379.3354,-1582.0038,13.3631))
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,1276.2560,-919.6248,41.9305,4.0);
    }
    else if(IsPlayerInRangeOfPoint(playerid,2,1276.2560,-919.6248,41.9305))
    {
    DisablePlayerCheckpoint(playerid);
    SendClientMessage(playerid,BLAU,"Du hast die Linie beendet.");
    }
    return 1;
    }


    Doch, wenn ich nun den ersten Checkpoint abfahre,bleibt er.


    Was mache ich falsch?


    Gruß

    Tach,


    GivePlayerMoney(playerid,GetPlayerMoney(playerid)+20000);


    Damit klappt es auch, wenn man momentan 0 $ hat. Dann ändert sich der Stand in 20.000 $.
    Doch beim Nächsten Mal ändert es sich in 60.000.


    Was mache ich falsch?


    Gruß

    Zitat

    undefined symbol "cmd"


    ändern zu "cmdtext".


    Zitat

    undefined symbol "sendername"


    Wo hast du den denn definiert? ("new sendername [50]" z.B.)



    Gruß

    Hallo,


    habe ein Problem und zwar vewandelt sich in meinem Wantedsystem der Stern in die aktuelle Uhrzeit. Nicht sofort, auch nicht immer, sondern nur meistens.


    Doch trotzdem kann ich das nicht so lassen, denn das sieht echt kagge aus :D


    Mein Code:


    /wgive (Wanteds geben)
    if(GetPlayerFraktion(playerid)==1)
    {
    new pID,Anzahl;
    if(sscanf(params,"ui",pID,Anzahl))return SendClientMessage(playerid,ROT,"/wgive [ID] [Anzahl]");
    if(Anzahl <0 || Anzahl >6)
    {
    SendClientMessage(playerid,ROT,"Bitte eine gültige Zahl angeben.");
    }
    else
    {
    SetPVarInt(pID,"Wanteds",Anzahl);
    UpdateWanteds(pID);
    SaveAccount(pID);
    }


    }


    und der Stock UpdateWanteds:


    stock UpdateWanteds(pID)
    {
    new Zahl[1000];
    format(Zahl,sizeof(Zahl),"%i",GetPVarInt(pID,"Wanteds"));
    if(GetPVarInt(pID,"Wanteds")>0)
    {
    TextDrawDestroy(wantedzahl);
    wantedstern = TextDrawCreate(590,100,"]");
    wantedzahl = TextDrawCreate(563,100,Zahl);
    new Wtds[100];
    format(Wtds,sizeof(Wtds),"Wanteds: %i",GetPVarInt(pID,"Wanteds"));
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(pID,X,Y,Z);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(GetPlayerFraktion(i)==1)
    {
    CreatePlayer3DTextLabel(i,Wtds,0x008080FF,X,Y,Z,40.0,pID);
    }


    }
    }



    TextDrawFont(wantedstern,2);
    TextDrawColor(wantedstern,Yellow);
    TextDrawLetterSize(wantedstern, 0.6 ,2.0);
    TextDrawShowForPlayer(pID,wantedstern);


    TextDrawFont(wantedzahl,2);
    TextDrawColor(wantedzahl,White);
    TextDrawLetterSize(wantedzahl, 0.5 ,1.7);
    TextDrawShowForPlayer(pID,wantedzahl);
    }


    Ich habe echt keine Ahnung, woran der Fehler liegt.


    Danke schonmal im Voraus.


    Gruß

    Also da nach dem


    "Deine eingegebenen Angaben sind falsch."


    Der Dialog zum Alter kommt, gehe ich mal davon aus, dass es sich um den DIalog des Alters handelt(DIALOG_ALTER).


    Da du aber das ausführst, wenn DIALOG_REGISTER antwortet, ist es ja nicht korrekt.

    Bei beiden Abfragen hast du "DIALOG_REGISTER verwendet:
    if(dialogid==DIALOG_REGISTER)
    {
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,ROT,"Deine eingegebenen Angaben sind falsch.");
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"Alter","Bitte gib an wann du geboren wurdest.","Weiter","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid,inputtext);
    return 1;
    }
    }
    }
    return 1;
    }


    müsste zu


    if(dialogid==DIALOG_ALTER)
    {
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,ROT,"Deine eingegebenen Angaben sind falsch.");
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"Alter","Bitte gib an wann du geboren wurdest.","Weiter","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid,inputtext);
    return 1;
    }
    }
    }
    return 1;
    }


    werden ;)


    Gruß

    Morgen,


    Ich habe folgenden Code:
    public OnPlayerText(playerid, text[])
    {

    if(GetPVarInt(playerid,"AFKCheck")==1)
    {
    if(text[100]==AFKCheck)
    {
    SetPVarInt(playerid,"AFKCheck",0);
    }
    return 1;
    }
    return 1;


    }




    Und folgenden Fehler:

    Zitat

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



    Ich habe schon versucht "text" eine Größe zu geben, z.B. mit
    text[5]


    Und die Variable
    new AFKCheck[5];
    ist ja definiert. Also verstehe ich das nicht.



    Doch der Fehler erscheint weiterhin.


    Was mache ich falsch?

    Ich habe das aus meinem Code übernommen, da ist Gelb definiert, downloade dir mal den Samp Color Picker, damit bekommste den Farbcode und den msust du dann anstelle von "Gelb" einfügen.