Das heißt Plugins konnten nicht geladen werden...downlaode dir mal das natviechecker Plugin und poste deinen server Log ![]()
Beiträge von Kaliber
-
-
Bei samp ist es ja so, dass wenn ich im Chat schreibe und zuviele Zeichen verwendet wurden, einiges nicht mehr angezeigt wird
Wie kann ich es machen, dass der Chat am ende den Textfluss (z.B mit "...") beendet und in eine neue Zeile weiter schreibt?
Versuchs mal so:stock SendBigMessage(playerid,color,string[]) {
if(strlen(string) < 128) return SendClientMessage(playerid,color,string);
new buffer[131],i;
for( ;; i++) {
strmid(buffer,string,0,127,sizeof buffer),strdel(string,0,127);
if(string[0] != EOS) strcat(string,"...",sizeof(buffer));
SendClientMessage(playerid,color,buffer);
if(string[0] == EOS) break;
}
return 1;
}mfg.

-
Wo bekomme ich die?
Ist das dein Ernst?
Ich hab dir einen Link geschickt in meinem post...les doch einfach mal

-
Was kann ich dagegen machen?
Einen Streamer verwenden: http://forum.sa-mp.com/showthread.php?t=102865und anstatt CreateObject, dann CreateDynamicObject nutzen

-
Nein wird nicht aufgerufen.
Wie wird nicht aufgerufen?
Zeig uns mal mehr Code...

-
-
die dll datei habe ich ja im SAMP Server ordner
Ne, das ist ne andere...schau mal genau hin
-
Downloade dir hier mal die 32-Bit Version (VSU4\vcredist_x86.exe).
Und dir fehlt diese .dll Datei: msvcr100d.dll
mfg.

-
Im Serverlog ist nichts.
Dann verwende mal das crashdetect Plugin
-
Außerdem wäre eine direkte Zuweisung (x = "Noob";) wesentlich performanter
Achwas...aber man kann halt nicht immer direkt den Wert der Variable wissen und wenn schon was drinnen steht...ist es schneller einfach das NULL-Byte zu verschieben als format zu verwenden..Bei lokalen Variablen spielt das eh keine Rolle, da die nach verlassen des jeweiligen Scopes gecleart werden...memcpy verwenden (was übrigens gleich schnell ist aber nur eine Zeile Code benötigt).
memcpy ist eine alternative zu strcat, aber die "löscht" dir auch nicht den string, sondern kopiert nur einen anderen String quasi darein. -
Wäre der String gelöscht, wäre das "u" nicht mehr da.
...zum 3.x ja ich denke jetzt hat es jeder verstanden, da aber das EOS verschoben wird, existiert das "u" zwar im Speicher, aber gehört nicht direkt mehr zu dem String
...es war nur eine Ergänzung, dass man so strings für die Funktionen quasi "leeren" kann...
-
Nur, weil du ein EOS da hinsetzt, ist der String nicht gelöscht.
Du...das ist mir auch klar und das hat doch schon Jeffry in seinem Post geschrieben.Ich wollte damit nur sagen, dass man dadurch strcat nutzen kann oder auch alle anderen String-Funktionen und die behandeln das dann so, als ob der String "gelöscht" wurde...
-
Also ich brauche nur das für die Tabelle , da bei INT nicht mehr als 3 Stellen angezeigt werden obwohl es 16 STellig ist.
...Eine Ip ist ein String, da du ja auch . drinnen hast
Das ist nicht nutzlos, das ist so als würdest du den String löschen (schnellere Alternative zu strdel)

new x[] = "Hallo";
x[0] = '\0';
strcat(x,"Noob");
print(x); //-> Noob -
Zeig mal die public Funktion OnQueryFinish

-
-
zerstören lassen oder ?
Richtig, macht es am besten so://Oben im Skript
new o1,o2;//Dann wo ihr die Obejkte erstellt:
o1 = CreateObject(...); //Das erste Objekt
//Hier die anderen
o2 = CreateObject(...); //Hier das letzte Objekt//Unter OnFilterScriptExit
for(new i=o1; i<=o2; i++) DestroyObject(i);Ich denke du arbeitest evtl mit einem Streamer dann einfach überall CreateDynamicObject und DestroyDynamicObject

mfg.

-
Aber das Problem hatten wir schon öfter
Also, nein das ist nicht normal, dann erstellst du die selben Objekte an der selben Position mehrmals
Das kommt, wenn du z.B. nur einen gmx machst, anstatt einen richtigen Server Restart

Oder wenn du Filterscripts öfters reloadst ohne dessen Objekte zu zerstören

mfg.

-
-
Naja so zum Beispiel:
new player_car[2][MAX_PLAYERS];
//Dann wo er das car kauft:
if(player_car[0][playerid]) return //hier hat er schon ein auto!
player_car[0][playerid] = CreateVehicle(...); //hier z.B. flash erstellen
player_car[1][playerid] = gettime()+60*60*3; //Hier nach 3std wirds gelöscht//Unter OnGameModeInit
SetTimer("AutoKauf",10000,1);//Dann außerhalb
forward AutoKauf();
public AutoKauf()
{
for(new i; i<MAX_PLAYERS; i++)
{
if(!player_car[0][i]) continue;
if((player_car[1][i]-gettime()) < 0)
{
DestroyVehicle(player_car[0][i]);
player_car[0][i]=0;
}
}
return 1;
}mfg.

//Edit: Hab was in der schleife vertauscht gehabt...
//Edit²: Ja ups..danke Jeffry -
obwohl alles richtig eingestellt ist.
Was sagt denn der Log?