Beiträge von Haxler

    Ging mir auch eher um die Box die angezeigt wird wenn du die Funktion verwendest.. Eine andere Sache:


    534.399902 (X - Koordinate) + 127.199981 (X - TextSize) ergeben zusammen mehr als 640 (max. X - Koordinate). Keine Ahnung ob das Probleme verursacht, kann es mir aber gut vorstellen^^

    Verwende mal deinen ursprünglichen Code und stell die TextSize anders ein:
    PlayerTextDrawTextSize(playerid,Textdraw10[playerid], 534.399902 + 127.199981, 17.920001);
    Keine Ahnung obs funktioniert, aber versuchen kannst dus ja mal..

    Zitat

    Deswegen habe ich einen DVI-D / VGA Adapter gekauft


    Geht das überhaupt? Ich glaube mal gelesen zu haben, dass DVI-D nur digitale Signale unterstützt und VGA analog ist. Kann mich natürlich auch irren, kannst dich ja ein wenig im Internet informieren.

    Zitat

    müsste man das dann umschreiben?


    ist schwer zu sagen ohne den dazugehörigen Code zu sehen. Falls du mysql_ping aurufst, um zu Überprüfen ob du mit dem mysql-Server verbunden bist, könntest du vielleicht mysql_errno verwenden. Weiß nicht ob das funktioniert aber falls ja findest du die Fehler-Codes in der a_mysql.inc

    Du kannst dich ja mal ein wenig über den Fehler (Run time error 8: "Heap underflow") im englischen Samp-Forum informieren, gibt ein paar Beiträge im Zusammenhang mit R7. Auch die Fehlermeldung

    Zitat

    mysql_r7.so [f739f22d] is releasing memory at f74c399c which is out of heap

    deutet ja schon auf das mysql-Plugin hin :)


    edit: Die neuste Version findest du hier https://code.google.com/p/sa-mp-mysql-plugin/

    Zitat


    [18:39:09] [debug] Bad heap release detected:
    [18:39:09] [debug] mysql_r7.so [f739f22d] is releasing memory at f74c399c which is out of heap


    versuch mal dein mysql-Plugin zu updaten, hatte das Problem auch schon :D

    Ich würde das ganze anders angehen:


    new Float:fStPos[][4] =
    {
    {2511.9800,763.2236,2502.8003,560.5234},//1. Straße
    {2502.3701,557.0880,4534.8105,567.1945}, //2. Straße
    //usw...
    };
    new strassen[10];


    //zum Erstellen:
    for(new i;i<10;i++)strassen[i] = GangZoneCreate(fStPos[i][0],fStPos[i][1],fStPos[i][2],fStPos[i][3]);


    //zum Laden:
    for(new i;i<10;i++)GangZoneShowForPlayer(playerid, strassen[i], Schwarz);

    Außerdem musst du mit der Reihenfolge der Parameter aufpassen:



    minx, miny, maxx, maxy
    bei deiner 3. und GangZone ist z.b. maxy kleiner als miny: miny: 566.6798, maxy: -1081.7601. Den gleichen Fehler hast du bei der 4.


    edit: kleiner Fehler :D

    Die Anzahl verringern musst du nicht zwangsläufig. Es könnte schon reichen wenn du die kleinen Details erst spät streamen lässt. Dafür kannst du das Streamer-Plugin (http://forum.sa-mp.com/showthread.php?t=102865) verwenden.
    Anstatt CreateObject verwendest du dann CreateDynamicObject:
    CreateDynamicObject(modelid, x, y,z, rx, ry, rz, .streamdistance = 10.0); bzw. noch weniger als 10.0, falls es sich um sehr kleine Objekte handelt. Bei größeren (z.b. das Gebäude) musst du die streamdistance so anpassen, dass man es von Weitem noch gut sieht. Kann natürlich trotzdem zu Problemen führen, falls alle Objekte auf einem Haufen sind und trotz der geringen Stream-Distance mehr als 1000 Objekte (Samp-Limit) gleichzeitig gestreamt werden sollen. Auch zu Beachten ist, dass du möglichst alle Objekte auf deinem Server per CreateDynamicObject erstellst, da Objekte die mit CreateObject erstellt werden immer gestreamt werden. Dadurch erreichst du das Limit sehr schnell.


    edit: Habe dazu etwas interessantes im offiziellen Samp-Forum gefunden: http://forum.sa-mp.com/showthread.php?t=407909. Richtig angewendet kann man damit Objekte anhand ihrer Größe richtig streamen, damit z.b. ein Stuhl später geladen wird als ein Gebäude.

    Ganz so einfach wird das nicht gehen. Du könntest dir eine eigene Funktion schreiben, in der du dann die Object-ID in einem Array speicherst.
    stock CreateObjectArray(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance, array[],&pos)
    {
    array[pos] = CreateObject(modelid, X, Y, Z, rX, rY, rZ, DrawDistance);
    pos++;
    }
    dann musst du nur CreateObject mit CreateObjectArray ersetzen (In Pawno strg+h) und die Parameter anpassen:

    new objects[300];
    //...
    new pos;
    CreateObjectArray(1234, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 300.0, objects, pos);
    CreateObjectArray(1234, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 300.0, objects, pos);

    usw. Der Code ist ungetestet aber so in der Art kannst dus machen.

    Habe mir deinen Code jetzt nicht genau angeschaut aber was mir aufgefallen ist:
    Du verwendest strval um deine Koordinaten zu laden. Da diese aber Floats sind, musst du floatstr(val); verwenden.

    Das müsstest du unter OnPlayerText machen (logisch, da OnPlayerText aufgerufen wird wenn ein Spieler etwas im Chat schreibt :D):

    public OnPlayerText(playerid, text[])
    {
    //...
    if(Maske[playerid] == 1)
    {
    new msg[128 + 11];
    format(msg,sizeof(msg),"Unbekannt:%s",text);
    SendClientMessageToAll(0xFF0000FF,msg); //Sendet die Nachricht an alle Spieler
    return 0;
    }
    //...
    }
    den Code musst du noch einrücken.
    Danach kannst du

    new string[128], text[64];
    new sendername[MAX_PLAYER_NAME];
    format(string,sizeof(string),"Unbekannt:%s",text);
    }
    entfernen, dann müsste es auch von den Klammern her wieder passen.

    Was willst du mit diesem Abschnitt erreichen?

    new string[128], text[64];
    new sendername[MAX_PLAYER_NAME];
    format(string,sizeof(string),"Unbekannt:%s",text);

    außerdem befindet sich folgender Code außerhalb deiner Abfrage (else if(Maske[playerid] == 0)):

    for(new i = 0; i < MAX_PLAYERS; i++) ShowPlayerNameTagForPlayer(i, playerid, 0);
    Maske[playerid] = 1;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Du hast deine Maske aufgesetzt.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Du kannst die Maske wieder mit (( /maskeaus )) Abschalten*");
    was dazu führt, dass du eine Klammer zuviel schließt. Ich denke daran liegt es, dass der Compiler abstürzt.