Klick mal auf das was ich im Bild makiert habe:
Dann wirst du auf die Seite weitergeleitet und dort klicke "disable" und dann bist du die Werbung los ![]()
mfg. ![]()
Klick mal auf das was ich im Bild makiert habe:
Dann wirst du auf die Seite weitergeleitet und dort klicke "disable" und dann bist du die Werbung los ![]()
mfg. ![]()
Wieso sollte das nicht funktionieren? ![]()
Ist auch nirgends doppelt
5 Stellen sind n bisschen zu viel ![]()
nutze mal nur 4 Stellen maximal ![]()
mfg. ![]()
Naja. Ich weiss ja nicht weil tsuserid soll die Eindeutige ID sein: z.b. ajMvTCVPY9bupybnU1BdSk0Za1U=
Sag das doch...das du diese tsID meinst ![]()
Dann musst du es so machen:
format(tsuserid, 128, inputtext);
mfg. ![]()
weil da die Eindeutige ID vom ts rein soll (ohne für jeden Player einen Variable zu erstellen).
Was?
Wieso 128?
Ist die tsuserid etwa ein String? ![]()
Wie hast du tsuserid deklariert?
Wahrscheinlich mit einem Array ![]()
Dann musst du das so schreiben:
tsuserid[playerid] = strval(inputtext);
mfg. ![]()
Versuch mal Typ 23 ![]()
mfg. ![]()
Nehmen wir in meinem Beispiel mal an, dein String heißt string ![]()
Dann sähe das folgendermaßen aus:
static const string[] = "123456789012345678901234567890"; //Das ist unser String
//dann da wo du ihn splitten willst
new buffer[17]; //Wir brauchen einen buffer und 17 weil die maximale Länge ja 15 Zeichen sein soll + '\n' und '\0'
strmid(buffer,string,0,15,17); // 0 = startpos vom String | 15 = Endpos vom String und | 17 maxlength
buffer[16] = '\n';
//und jetzt kannst du buffer ausgeben :)
PS: Er würde 0-15 + \n ausgeben ![]()
mfg. ![]()
new index = 15;
new indexStr[index];
Folgendes könntest du tun:
//Das hier:
#define idx 5
//oder auch
const idx = 5;
//und dann verwenden:
new test[idx];
Die werte müssen halt konstant/statisch sein ![]()
//Edit: Oder du nutzt dieses Plugin: http://gta-sa-mp.de/forum/3-sa…393-memory-access-plugin/
mfg. ![]()
Das ist verboten.
mfg. ![]()
werden sie z.B wenn sie vorher 3KB groß waren sind sie jetzt 10MB groß.
Das liegt daran, dass in der streamer.inc von Incognito auch nur Callbacks für das Plugin stehen und der Code erst im Plugin verarbeitet wird.
Bei der Fallout Include wird alles direkt in der Include verarbeitet.
Und von der Streamleistung hat sich bei mir auch nichts verändert.
Da kann sich auch nichts verändern (nur zum schlechteren).
Dazu müsstest du aber erstmal richtig verstehen, was "streaming" in samp eig ist.
Sa:Mp kann nur maximal 1000 public Objekte anzeigen und das ist ein Problem, da man ja mehr als 1000 Objekte mappen will. Deshalb nutzt man CreatePlayerObject und dann kann man 1000 Objekte pro Spieler erstellen und sobald der Spieler aus der reichweite der StreamDistance ist, wird das Objekt zerstört, so das neue Objekte angezeigt werden können.
So oder so können einem Spieler nur 1000 Objekte gleichzeitig angezeigt werden (gemappte) und da das Incognito schon sehr gut umsetzt, kann das nicht viel anders werden (außer schlechter).
mfg. ![]()
Ich habe mich schon immer gefragt wofür der Includes Ordner im Hauptverzeichnis des Servers ist.
Das benötigt der Server eigentlich nicht ![]()
Und wenn ich Scripts kompiliere werden sie z.B wenn sie vorher 3KB groß waren sind sie jetzt 10MB groß.
Das liegt daran, dass sobald du einen Gamemode mit einer Include kompilierst, der Inhalt vom Include in die Gamemode amx umgewandelt wird.
Anscheinend verwendet die Include viele Arrays und somit verbraucht das viel Speicher (kenne aber diese Include nicht genau).
Somit machst du nichts falsch ![]()
Aber du solltest evtl doch auf Incognitos Streamer umsteigen, da Plugins in einem extra Thread laufen und das somit Server schonender ist ![]()
mfg. ![]()
SetTimer("InstallBalken",300,1);
Da du Parameter an deine public Funktion übergeben willst, nutze doch bitte SetTimerEx, sonst geht das nicht ![]()
Also so schreiben:
SetTimerEx("InstallBalken",300,1,"i",playerid);
mfg. ![]()
Einfach folgendes:
//Unter OnPlayerText:
new name[MAX_PLAYER_NAME],msg[144];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
format(msg,144,"%s sagt: %s",name,text);
return SendRangeMessage(playerid,farbe,15.0,msg),0; //15.0 = Range..kannst du einstellen
//Und unten ins Skript:
stock SendRangeMessage(playerid,farbe,Float:range,msg[]) {
new Float:p[3];
GetPlayerPos(playerid,p[0],p[1],p[2]);
for(new i; i!=MAX_PLAYERS; i++) if(IsPlayerInRangeOfPoint(i,range,p[0],p[1],p[2])) SendClientMessage(i,farbe,msg);
return 1;
}
mfg. ![]()
Auch wenn das nicht wirklich zum Thema gehört:
mfg. ![]()
Wäre es besser, wenn ich den zweiten auf 950 setze, damit die sich nicht überschneiden können? Oder anders, können die sich überschneiden?
Was für eine Frage..natürlich können die sich überschneiden ![]()
setz den einen auf 921 und den anderen auf 923 das ist besser ![]()
mfg. ![]()
Ok, das geht ja aber wie mache ich das es wenn ich zur anderen zeit gucke genau vor mir ist hier mal ein screen
Die Z-Rotationsachse vom Objekt der FacingAngle vom Spieler anpassen ![]()
mfg. ![]()
SetVehicleToRespawn(v);
Anstatt dem hier, schreib das:
SetVehicleToRespawn(ArmyCar[v]);
mfg. ![]()