Beiträge von ZeroTheHero

    Alles klar.


    Könntest du uns bitte auch sagen, wie du den Fehler behoben hast?
    Hast du das entsprechende Array gefunden, oder war es was anderes?


    Also, ich habe mir mal folgende Zeile angesehen:
    [23:32:22] [debug] #0 0005fc88 in public RL_OnGameModeInit () at C:\Users\No\Desktop\Scripting\gamemodes\Untitled.pwn:852


    Dort hatte ich (volltrottel) hatte ich mehrere Schleifen, unteranderem eine mit MAX_REPORTS (für mein Report System).
    ich hatte mich allerdings verlesen, und dachte es würde heißen "MAX_PLAYERS" und habe die Schleife dann gelöscht und das aus der MAX_REPORTS Schleife in die MAX_PLAYER Schleife, was natürlich nicht ganz richtig war.


    //Compiler
    C:\Users\No\Desktop\Scripting\gamemodes\Untitled.pwn(11296) : warning 203: symbol is never used: "iInfo"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    Header size: 12156 bytes
    Code size: 1061124 bytes
    Data size: 4049524 bytes
    Stack/heap size: 16384 bytes; estimated max. usage: unknown, due to recursion
    Total requirements: 5139188 bytes


    1 Warning.



    //Serverlog
    [23:32:22] [debug] Run time error 4: "Array index out of bounds"
    [23:32:22] [debug] Accessing element at index 30 past array upper bound 29
    [23:32:22] [debug] AMX backtrace:
    [23:32:22] [debug] #0 0005fc88 in public RL_OnGameModeInit () at C:\Users\No\Desktop\Scripting\gamemodes\Untitled.pwn:852
    [23:32:22] [debug] #1 native CallLocalFunction () from samp-server.exe
    [23:32:22] [debug] #2 00039c94 in public Itter_OnGameModeInit () at C:\Users\No\Desktop\Scripting\pawno\include\OPSP.inc:343
    [23:32:22] [debug] #3 native CallLocalFunction () from samp-server.exe
    [23:32:22] [debug] #4 00036ab0 in public ScriptInit_OnGameModeInit () at C:\Users\No\Desktop\Scripting\pawno\include\YSI\..\YSI_Data\y_iterate.inc:976
    [23:32:22] [debug] #5 00007ad4 in public zcmd_OnPlayerCommandText (playerid=8, cmdtext[]=@0000276c "zcmd_OnGameModeInit") at C:\Users\No\Desktop\Scripting\pawno\include\YSI\..\YSI_Coding\..\YSI_Core\..\YSI_Internal\..\YSI_Server\y_scriptinit.inc:184
    [23:32:22] [debug] #6 native CallLocalFunction () from samp-server.exe
    [23:32:22] [debug] #7 00007100 in public SSCANF_OnGameModeInit () at C:\Users\No\Desktop\Scripting\pawno\include\zcmd.inc:68
    [23:32:22] [debug] #8 000007a4 in public OnHndnrCheck (playerid=0, hndnr=0) at C:\Users\No\Desktop\Scripting\pawno\include\sscanf2.inc:174

    Erhöhe es auf 100. Je nach dem was der höchste Index ist, mit dem du auf das Array zugreifen willst musst du es entsprechend erhöhen, also so lange bis die Meldung weg ist.


    Habe ich gemacht, hat nichts geholfen, die einzigen Arrays, die ich mit 30 bzw. jetzt 100 habe sind strings, die nicht beim Serverstart aufgerufen werden. Mit denen hat es auch schon verher wunderbar funktioniert.

    Hallo!
    Ich habe Crashdetect in mein Script eingebaut, weil irgendwas nicht funktioniert hat.
    Der Code, den ich raus bekomme, hilft mir allerdings nicht wirklich weiter, vielleicht kann mir ja jemand von euch helfen



    [22:52:24] [debug] Run time error 4: "Array index out of bounds"
    [22:52:24] [debug] Accessing element at index 30 past array upper bound 29
    [22:52:24] [debug] AMX backtrace:
    [22:52:24] [debug] #0 0004e8cc in public RL_OnGameModeInit () from Untitled.amx
    [22:52:24] [debug] #1 native CallLocalFunction () from samp-server.exe
    [22:52:24] [debug] #2 00030b1c in public Itter_OnGameModeInit () from Untitled.amx
    [22:52:24] [debug] #3 native CallLocalFunction () from samp-server.exe
    [22:52:24] [debug] #4 0002e238 in public ScriptInit_OnGameModeInit () from Untitled.amx
    [22:52:24] [debug] #5 00006b48 in public zcmd_OnPlayerCommandText () from Untitled.amx
    [22:52:24] [debug] #6 native CallLocalFunction () from samp-server.exe
    [22:52:24] [debug] #7 00006364 in public SSCANF_OnGameModeInit () from Untitled.amx
    [22:52:24] [debug] #8 000006cc in public OnHndnrCheck () from Untitled.amx


    MfG!

    Hallo!
    Ich möchte gerne Über die User-ID den Usernamen in der Datenbank auslesen lassen.
    Diesen würde ich dann auch gerne wieder returnen lassen, so dass ich z.B. folgendes machen kann:



    new string[128];
    format(string, sizeof(string), "Nutzername von Datenbank-ID %i: %s", id, GetUserNameFromDB(id));


    Ich hoffe, ihr versteht was ich meine, tue mir etwas schwer das zu erklären ^^


    MfG!



    Mach das mal mit dem Teleport befehl


    Abgesehen davon, lässt du das ganze völlig falsch debuggen


    if(!strcmp(botname,"[BOT]Bank2",true))
    {
    SetPlayerSkin(playerid,71);
    GiveWeapon(playerid,2,1);
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    printf("COORDS: %f, %f, %f",x,y,z);
    }

    Mit SendClientMessage kannst du maximal 144 sichtbare Zeichen (plus EOS) anzeigen. Daher reicht es, wenn string 145 groß ist, mehr geht nicht, dann zeigt es dir gar nichts mehr an.


    Falls du das sscanf Plugin verwendest, musst du in sscanf nach dem s die Größe des Strings in eckigen Klammern angeben.


    Vielen dank!
    Lag an der Sache mit sscanf!

    Hallo!
    Ich habe ein Problem mit meinem /news Befehl und zwar wird der String nie komplett angezeigt.
    Ich habe die Stringlänge schon mehrmals variiert, allerdings hat es nie etwas geholfen.
    Hier der Code:



    CMD:news(playerid, params[])
    {
    if(sInfo[playerid][frak] == 4)
    {
    if(sInfo[playerid][fduty] == 0) return SendClientMessage(playerid, COLOR_RED, "[Info] Du musst im Dienst sein um diesen Befehl zu nutzen.");
    new param[256];
    if(sscanf(params, "s", param)) return SendClientMessage(playerid, COLOR_BLUE, "[Info]"cWhite" Verwende:"cBlue" /news [Text]");
    SendNewsMessage(playerid, param);
    return 1;
    }
    else
    {
    return SendClientMessage(playerid, COLOR_RED, "[Info] Du darfst diesen Befehl nicht nutzen!");
    }
    }


    stock SendNewsMessage(playerid, text[])
    {
    new string[256];
    format(string, sizeof(string), "[%s] %s: %s", fInfo[sInfo[playerid][frak]][fshort], GetName(playerid), text);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(sInfo[i][eingeloggt]==0) continue;
    SendClientMessage(i,fInfo[sInfo[playerid][frak]][fcolor], string);
    }
    return 1;
    }


    MfG!

    Hallo!


    Ich habe ein Problem mit meinem Werbetafel-System, und zwar folgendes: Wenn ich mit \n einen Absatz machen möchte, wird dieser nicht angezeigt. Weiß jemand woran das liegt? Ich poste einfach mal den Code:


    public OnWerbetafelLoad(id)
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(!num_rows)
    {
    wInfo[id][wobjID] = -1;
    wInfo[id][windex] = -1;
    wInfo[id][wID] = -1;
    }
    for(new i=0; i<num_rows; i++)
    {
    wInfo[id][windex] = cache_get_field_content_int(i,"windex",dbhandle);
    cache_get_field_content(i, "wtext", wInfo[id][wtext], dbhandle, 128);
    SetDynamicObjectMaterialText(wInfo[id][wobjID], wInfo[id][windex], wInfo[id][wtext], 130, "Arial", 39, 1, 0xFFFFFFFF, 0xFF000000, 1);
    wInfo[id][wID]=id;
    }
    return 1;
    }


    stock UpdateWtafel(id)
    {
    new query[256];
    format(query, sizeof(query), "UPDATE wtafeln SET wtext='%i' WHERE wid='%i'", wInfo[id][wtext], id);
    mysql_function_query(dbhandle,query,false,"","");
    SetDynamicObjectMaterialText(wInfo[id][wobjID], wInfo[id][windex], wInfo[id][wtext], 130, "Arial", 39, 1, 0xFFFFFFFF, 0xFF000000, 1);
    return 1;
    }