Beiträge von tayson87

    Das problem ist wenn wir bei der Tabelle etwas neues hinzufügen, dann taucht wieder das Problem auf.. Und ich wollte mal nachfragen woran es liegt ? Ist etwa die Struktur zu viel oder zu kurz ?


    An Spieler[playerid][pTutMissionComplete][i] haben das mal komplett rausgenommen
    nur noch ein bug ist da, undzwar; Wenn man nach dem Tutorial stirbt oder gespawnt wird landet man auf'm Bauernhof. Aber sobald man reloggt ist dieser Bug für immer weg..

    [21:37:24] [debug] Run time error 4: "Array index out of bounds"
    [21:37:24] [debug] Accessing element at index 10 past array upper bound 9
    [21:37:24] [debug] AMX backtrace:
    [21:37:24] [debug] #0 005a94d0 in public LoadAccountBlacklists (0x00000000) from Gamemode.amx
    [21:37:24] [debug] Run time error 4: "Array index out of bounds"
    [21:37:24] [debug] Accessing element at negative index -1
    [21:37:24] [debug] AMX backtrace:
    [21:37:24] [debug] #0 00182a10 in public OnPlayerSpawn (0x00000000) from Gamemode.amx
    [21:37:24] [debug] Run time error 4: "Array index out of bounds"
    [21:37:24] [debug] Accessing element at negative index -1
    [21:37:24] [debug] AMX backtrace:
    [21:37:24] [debug] #0 00182a10 in public OnPlayerSpawn (0x00000000) from Gamemode.amx


    Bin OnPLayerSpawn durchgegangen doch kann leider nichts finden kannst du mir einen Tipp geben?


    http://pastebin.com/mgqU7cMX

    [14:19:21] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE Name='Bugatti31' LIMIT 1' at line 1
    [14:19:33] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE Name='Karakan' LIMIT 1' at line 1


    Weis einer was diese Errors zu bedeuten haben?

    case DIALOG_UPGRADE_HEAL:
    {
    new headerstring[32];
    if(response == 0)
    {
    format(headerstring,sizeof(headerstring),""#SERVERFARBE"Upgrade "#HTML_GREEN"(%ip)",Spieler[playerid][pUpgradePoints]);
    format(string,sizeof(string),""#HTML_WHITE"Spawnheal "#HTML_PURPEL"(%i/100)\n"#HTML_WHITE"Handelsgeschick "#HTML_PURPEL"(%i/5)\n"#HTML_WHITE"Drogensucht "#HTML_PURPEL"(%i/5)\n"#HTML_WHITE"Alkohol "#HTML_PURPEL"(%i/5)\n"#HTML_WHITE"Fähigkeitsstärke "#HTML_PURPEL"(%i/5)",
    20*Spieler[playerid][pUpgradeSkill][0],Spieler[playerid][pUpgradeSkill][1],Spieler[playerid][pUpgradeSkill][2],Spieler[playerid][pUpgradeSkill][3],Spieler[playerid][pUpgradeSkill][4]);
    return ShowPlayerDialog(playerid,DIALOG_UPGRADE_LIST,DIALOG_STYLE_LIST,headerstring,string,"Auswählen","Abbrechen");
    }
    else
    {
    if((Spieler[playerid][pUpgradeSkill][0]) >= 5)return SendClientMessage(playerid,GRAU,"Du hast bereits die volles Spawnheal");
    if((Spieler[playerid][pUpgradePoints] - 20) < 0)return SendClientMessage(playerid,GRAU,"Du hast nicht genug Upgradepunkte (20p)");
    Spieler[playerid][pUpgradePoints] -= 20;
    Spieler[playerid][pUpgradeSkill][0]++;
    format(string,sizeof(string),""#HTML_PURPEL"[SPAWNHEAL]"#HTML_WHITE": Du spawnst nun immer mit %i Leben",Spieler[playerid][pUpgradeSkill][0]*20);
    SendClientMessage(playerid,WEISS,string);
    return 1;
    }
    }


    Drücke ich auf "Auswählen" so stürzt komplett der server ab.. kann wer mir sagen woran es liegen kann?

    mit einem Adminbefehl.


    COMMAND:erstellen(playerid,params[])
    {
    if(ImTutorial[playerid] != 0)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen,da du im Tutorial bist.");
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    if(Spieler[playerid][pAWAYFROMKEYBOARD] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist im AFK-Modus und kannst somit keine Befehle nutzen."),SendClientMessage(playerid,WRONGCMD,"BENUTZE: /back");
    if(Spieler[playerid][pInPrison] == 1)return SendClientMessage(playerid,GRAU,"Du bist im Prison.");
    if(Spieler[playerid][pFriedhof] == 1)return SendClientMessage(playerid,GRAU,"Du bist Tot.");
    if(Spieler[playerid][pDeath] == 1)return SendClientMessage(playerid,GRAU,"Du bist verletzt.");
    if(Spieler[playerid][pJailed] != 0)return SendClientMessage(playerid,GRAU,"Du bist im Gefängnis.");
    if(Spieler[playerid][pTazerd] == 1)return SendClientMessage(playerid,GRAU,"Du bist K.O/getazert.");
    if(Spieler[playerid][pCuffed] == 1)return SendClientMessage(playerid,GRAU,"Du bist gefesselt.");
    new cmd[25],query[256];
    if(!isPlayerAnAdmin(playerid,6))return SendClientMessage(playerid,GRAU,"Du bist kein "#SERVERTAG" Teammitglied./Du hast nicht den jeweiligen Adminrang.");
    if(sscanf(params,"s[25]",cmd))return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /erstellen [Haus/Business/Schwarzmarkt]");
    if(strcmp(cmd,"Haus",true) == 0)
    {
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    if(HausInfo[haus][hauscreatet] != 1)
    {
    mysql_format(MySqlConnection,query,sizeof(query),"INSERT INTO "#SQLTAG"_properties (id) VALUES ('%d')",haus);
    mysql_function_query(MySqlConnection,query,false,"","");
    MakeHaus[playerid] = haus;
    GetPlayerPos(playerid,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]);
    HausInfo[haus][hauscreatet] = 1;
    strmid(HausInfo[haus][haus_besitzer],"Niemand",0,strlen("Niemand"),24);
    strmid(HausInfo[haus][haus_beschreibung],"Keine",0,strlen("Keine"),150);
    strmid(HausInfo[haus][haus_msg],"Keine",0,strlen("Keine"),64);
    HausInfo[haus][haus_Owned] = 0;
    HausInfo[haus][haus_innenraum] = 255;
    HausInfo[haus][haus_miete] = 0;
    HausInfo[haus][haus_locked] = 1;
    HausInfo[haus][haus_slots] = 0;
    HausInfo[haus][haus_eingemitetenzaehler] = 0;
    HausInfo[haus][haus_preis] = 0;
    HausInfo[haus][haus_level] = 0;
    HausInfo[haus][haus_geldkasse] = 0;
    for(new i=0;i<MAX_HAUSSAFEINV;i++)
    {
    HausInfo[haus][haus_inv][i] = 0;
    }
    HausInfo[haus][haus_heal] = 0;
    HausInfo[haus][haus_armour] = 0;
    HausInfo[haus][haus_hatheal] = 0;
    HausInfo[haus][haus_hatarmour] = 0;
    HausInfo[haus][hausmull] = 0;
    for(new i=0;i<4;i++)
    {
    if(i < 3) HausInfo[haus][haus_garagepos][i] = 0.0;
    HausInfo[haus][haus_garagevehspawn][i] = 0.0;
    }
    HausInfo[haus][haus_havegarage] = 0;
    HausInfo[haus][haus_garagelocked] = 1;
    HausLabel[haus] = Create3DTextLabel("HAUS ERSTELLUNG",HAUSCOLOR,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z] +1,20.0,0,1);
    HausInfo[haus][haus_pickup] = CreatePickup(NOTOWNEDHAUSPICKUP,1,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]);
    ShowPlayerDialog(playerid,HCREATE_DIALOG_PREIS,DIALOG_STYLE_INPUT,"Hauserstellung Schritt 1","Gib den Preis an,\nfür den das Haus zum verkauf freigestellt werden soll:","Weiter","Abbrechen");
    return 1;
    }
    }
    return SendClientMessage(playerid,GRAU,"Die maximale Anzahl an erstellten Häusern ist erreicht!");
    }
    return 1;
    }


    und hier wenn ich es zu ende mich durchgeklickt habe durch die Dialoge..


    case HDIA_ENDERSTELLUNG:
    {
    new string[700];
    if(response == 0)
    {
    format(string,sizeof(string),"Hauserstellungs Fortschritt:\nPreis: %i$\nLevel zum kauf: %i\nMieter Slots: %i\nInterior Spawn: X=%i\nY=%i\nZ=%i\nInterior-ID: %i\nVirtual-World-ID: %i\nGebe nun die Beschreibung ein die am Haus stehen soll:",
    HausInfo[MakeHaus[playerid]][haus_preis],HausInfo[MakeHaus[playerid]][haus_level],HausInfo[MakeHaus[playerid]][haus_slots],Homestore[HausInfo[MakeHaus[playerid]][haus_innenraum]][Hx],Homestore[HausInfo[MakeHaus[playerid]][haus_innenraum]][Hy],Homestore[HausInfo[MakeHaus[playerid]][haus_innenraum]][Hz],Homestore[HausInfo[MakeHaus[playerid]][haus_innenraum]][Hint],MakeHaus[playerid]);
    ShowPlayerDialog(playerid,HCREATE_DIALOG_HAUSBESCHREIBUNG,DIALOG_STYLE_INPUT,"Hauserstellung Schritt 5",string,"Weiter","Zurück");
    return 1;
    }
    if(response == 1)
    {
    SendClientMessage(playerid,GELB,"Hauserstellung beendet! (Haus erstellt)");
    SaveOnlyOneHaus(MakeHaus[playerid]);
    MakeHaus[playerid] = 0;
    return 1;
    }
    }


    Hier das Enum:
    enum haus_daten
    {
    hauscreatet,
    Float:haus_x,
    Float:haus_y,
    Float:haus_z,
    haus_heal,
    haus_armour,
    haus_hatheal,
    haus_hatarmour,
    haus_level,
    haus_slots,
    haus_besitzer[24],
    haus_Owned,
    haus_miete,
    haus_preis,
    haus_innenraum,
    haus_beschreibung[150],
    haus_eingemitetenzaehler,
    haus_pickup,
    haus_locked,
    haus_inv[MAX_HAUSSAFEINV],
    haus_geldkasse,
    haus_waffenschrank,
    haus_gun[13],
    haus_gunammo[13],
    hausmull,
    haus_msg[64],
    Float:haus_garagepos[3],
    Float:haus_garagevehspawn[4],
    haus_havegarage,
    haus_garagepickup,
    haus_garagelocked
    }

    Nun ist das Problem, das man nur bei dem "neuesten" Haus das Textdraw sieht.. Bzw. zb ich erstelle viele Häuser, dann sieht man das Textdraw nur bei dem zuletzt erstellten Haus, sprich beim neusten Haus..


    PS: Kannst gern aufm Server kommen und es selber sehen was ich meine.. einfach pn me

    also so ?
    //Eine Sekunden Timer
    forward GrandTimer();
    public GrandTimer()
    {
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i))return 1;
    if(IsPlayerNPC(i))return 1;
    new string[300], query[128];
    //Haussystem Textdraw
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    if(HausInfo[haus][hauscreatet] != 0)
    {
    if(IsPlayerInRangeOfPoint(i,2,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
    {
    if(GetString(HausInfo[haus][haus_besitzer],"Niemand"))
    {
    format(string,sizeof(string),"Hausnummer: %i",haus);
    PlayerTextDrawSetString(i,HausLabelTD[i][9],string);
    format(string,sizeof(string),"Besitzer: ~w~Haus zum Verkauf");
    PlayerTextDrawSetString(i,HausLabelTD[i][1],string);
    format(string,sizeof(string),"Kosten: ~w~%i$",HausInfo[haus][haus_preis]);
    PlayerTextDrawSetString(i,HausLabelTD[i][2],string);
    format(string,sizeof(string),"Miete: ~w~%i$",HausInfo[haus][haus_miete]);
    PlayerTextDrawSetString(i,HausLabelTD[i][3],string);
    format(string,sizeof(string),"Level: ~w~%i",HausInfo[haus][haus_level]);
    PlayerTextDrawSetString(i,HausLabelTD[i][4],string);
    format(string,sizeof(string),"Mieter Slots: ~w~%i/%i",HausInfo[haus][haus_eingemitetenzaehler],HausInfo[haus][haus_slots]);
    PlayerTextDrawSetString(i,HausLabelTD[i][5],string);
    mysql_format(MySqlConnection,query,sizeof(query),"SELECT * FROM "#SQLTAG"_account_main WHERE `HausMieter` = '%d'", haus);
    mysql_function_query(MySqlConnection,query,true,"LoadHouseRentFinish","siii",query,_SQL_HOUSEMIETER_LOAD,0,MySqlConnection);
    PlayerTextDrawShow(i,HausLabelTD[i][0]);
    PlayerTextDrawShow(i,HausLabelTD[i][1]);
    PlayerTextDrawShow(i,HausLabelTD[i][2]);
    PlayerTextDrawShow(i,HausLabelTD[i][3]);
    PlayerTextDrawShow(i,HausLabelTD[i][4]);
    PlayerTextDrawShow(i,HausLabelTD[i][5]);
    PlayerTextDrawShow(i,HausLabelTD[i][6]);
    PlayerTextDrawShow(i,HausLabelTD[i][7]);
    PlayerTextDrawShow(i,HausLabelTD[i][8]);
    PlayerTextDrawShow(i,HausLabelTD[i][9]);
    }
    else
    {
    format(string,sizeof(string),"Hausnummer: %i",haus);
    PlayerTextDrawSetString(i,HausLabelTD[i][9],string);
    format(string,sizeof(string),"Besitzer: ~w~%s",HausInfo[haus][haus_besitzer]);
    PlayerTextDrawSetString(i,HausLabelTD[i][1],string);
    format(string,sizeof(string),"Kosten: ~w~%i$",HausInfo[haus][haus_preis]);
    PlayerTextDrawSetString(i,HausLabelTD[i][2],string);
    format(string,sizeof(string),"Miete: ~w~%i$",HausInfo[haus][haus_miete]);
    PlayerTextDrawSetString(i,HausLabelTD[i][3],string);
    format(string,sizeof(string),"Level: ~w~%i",HausInfo[haus][haus_level]);
    PlayerTextDrawSetString(i,HausLabelTD[i][4],string);
    format(string,sizeof(string),"Mieter Slots: ~w~%i/%i",HausInfo[haus][haus_eingemitetenzaehler],HausInfo[haus][haus_slots]);
    PlayerTextDrawSetString(i,HausLabelTD[haus][5],string);
    mysql_format(MySqlConnection,query,sizeof(query),"SELECT * FROM "#SQLTAG"_account_main WHERE `HausMieter` = '%d'", haus);
    mysql_function_query(MySqlConnection,query,true,"LoadHouseRentFinish","siii",query,_SQL_HOUSEMIETER_LOAD,0,MySqlConnection);
    PlayerTextDrawShow(i,HausLabelTD[i][0]);
    PlayerTextDrawShow(i,HausLabelTD[i][1]);
    PlayerTextDrawShow(i,HausLabelTD[i][2]);
    PlayerTextDrawShow(i,HausLabelTD[i][3]);
    PlayerTextDrawShow(i,HausLabelTD[i][4]);
    PlayerTextDrawShow(i,HausLabelTD[i][5]);
    PlayerTextDrawShow(i,HausLabelTD[i][6]);
    PlayerTextDrawShow(i,HausLabelTD[i][7]);
    PlayerTextDrawShow(i,HausLabelTD[i][8]);
    PlayerTextDrawShow(i,HausLabelTD[i][9]);
    }
    }
    else if(!IsPlayerInRangeOfPoint(i,2,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
    {
    PlayerTextDrawHide(i,HausLabelTD[i][0]);
    PlayerTextDrawHide(i,HausLabelTD[i][1]);
    PlayerTextDrawHide(i,HausLabelTD[i][2]);
    PlayerTextDrawHide(i,HausLabelTD[i][3]);
    PlayerTextDrawHide(i,HausLabelTD[i][4]);
    PlayerTextDrawHide(i,HausLabelTD[i][5]);
    PlayerTextDrawHide(i,HausLabelTD[i][6]);
    PlayerTextDrawHide(i,HausLabelTD[i][7]);
    PlayerTextDrawHide(i,HausLabelTD[i][8]);
    PlayerTextDrawHide(i,HausLabelTD[i][9]);
    }
    }
    }
    }
    return 1;
    }