Du kannst die Variable als Referenz übergeben:
sectostr_one (x, cap[], cappl[], capone[], &t)
Beiträge von Haxler
-
-
Wo war der Fehler? Konnte in deinem Code nicht wirklich was entdecken, würde mich echt interessieren
-
if(clickedid == Textdraw10)//Error
muss auch Textdraw10[playerid] heißen -
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^^
-
was passiert denn wenn du PlayerTextDrawUseBox verwendest? Wie sieht die Box aus?
-
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. -
Falls es wirklich nicht am Plugin liegt: Zeig uns mal Codeauschnitte die das auslösen könnten (OnPlayerConnect, OnPlayerSpawn)
-
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
Zitatmysql_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 -
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
-
Das liegt, denke ich mal, an den 0.3x Objekten. Habe das auch schon öfters beobachtet. Kann aber auch sein, dass deine Map außerhalb von San-Andreas liegt.
Du kannst mal versuchen "normale" Objekte in die Wände zu mappen, vielleicht löst das dein Problem.. -
Zitat
Und zusätzlich suche ich noch nb_rb.inc
lustig, weil du uns suchen lässt. Kleiner Tipp: Google
https://www.google.de/search?q=nb_rb.inc > 2. Ergebnis: http://forum.sa-mp.com/showthread.php?t=142191 -
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. -
Versuchs mit http://forum.sa-mp.com/showthread.php?t=273263 (Include) bzw. http://forum.sa-mp.com/showthread.php?t=120013 (Plugin). Damit berechnest du die Höhe des Bodens und kannst diese von der aktuellen Höhe abziehen, um den Abstand zum Boden zu errechnen.
-
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.