Leute, man braucht hier keine eine Schleife, einfach so:
sInfo[playerid][pMember]=sInfo[playerid][eingeladen];
SendClientMessage(playerid,BLUE,"Du hast die Einladung angenommen.");
mfg. ![]()
Leute, man braucht hier keine eine Schleife, einfach so:
sInfo[playerid][pMember]=sInfo[playerid][eingeladen];
SendClientMessage(playerid,BLUE,"Du hast die Einladung angenommen.");
mfg. ![]()
Dieses bitte OHNE Sscanf!
Was hast du denn gegen sscanf? ![]()
Aber sobald der Timer Aktiv wird, wird der Textdraw komplett schwarz.
Stimmt, bei den TextDraws war das bissl anders bzw Schwarz ist schlecht, probiere mal eine andere Farbe als schwarz aus ![]()
mfg. ![]()
Hast du TeamViewer, ich muss mir mal den gesamten Code und die Deklarationen anschauen, sonst kann ich dir nicht helfen ![]()
Schick einfach mal deine Daten per PN ![]()
mfg. ![]()
private: System::Void TranslateButton_Click(System::Object^ sender, System::EventArgs^ e) {
long char Text = InputTextbox->Text;
OutputTextbox->Text = Text;
}
Wieso so viele unnötige Variablen, mach doch gleich so:
OutputTextbox->Text = InputTextbox->Text;
mfg. ![]()
Mal eine frage Kaliber: würde es zu laggs kommen?
Weil die Methode würde ich ebenfalls anwenden.
Nein...wenn du es richtig machst, sicher nicht ![]()
Aber es würde doch ausreichen, wenn ich nen Timer erstelle
Ja, natürlich das würde ausreichen ![]()
Wenn ich dann nen Textdraw erstelle und den immer wieder erneut erstellen lasse, müsste der sich doch automatisch füllen. Also z.b. nen Schwarzen Bildschirm.
Ja, das ist auch richtig, wenn du das richtig machst ![]()
mfg. ![]()
Ohne Timer wirst du das nicht hinbekommen bzw ohne etwas Timerartiges zu nutzen ![]()
Einfach die Transparenz von dem TextDraw in langsamen schritten ändern, sind die letzen beiden "Hexadezimalzahlen" bei so einem Code: 0xFF4800FF
FF = 15 höchste Zahl = höchste Sichtbarkeit
00 = 0 niedrigste Zahl = niedrigste Sichtbarkeit
Das System geht so:
mfg. ![]()
Nein, die Makros in C++ müssten so aussehen:
#define A "01000001"
Dann würde das funktionieren, ja ![]()
mfg. ![]()
Alles anzeigenWie lese ich den Inhalt eines Textfeldes aus und überprüfe ihn dann auf Buchstaben sodass ich praktisch nen Übersetzer von Buchstaben haben kann? Also z.B. Buchstaben to hex oder to dezimal Übersetzer.
Ich brauche nur die Befehle wie die heißen. Und das in C++ bitte
MFG
Nun, ganz einfach, sagen wir du hast eine textBox1, dann sähe das so aus:
textBox1->Text;
Da würde stehen, was in dem Feld steht ![]()
Um das zu überprüfen wenn er es eingibt, gäbe es noch eine extra Klasse, die heißt:
private: void keypressed( Object^ /*o*/, KeyPressEventArgs^ e ) {
if(e->KeyChar == (char)13) //Hier hätte er z.B. ENTER gedrückt
}
mfg. ![]()
ok, und wo muss ich die dann hochladen? in FTP? oder auf ne Webspace?
Was für eine Frage ![]()
Nun, ja es muss auf einen Webspace, da du von extern darauf zugreifen musst, aber du lädst Dateien durch FTP auf einen Webspace ![]()
mfg. ![]()
Wie macht man das mit den Orten? Würde mich interessieren.
Es gibt dafür extra einen Array, wo Positionen (von jeder Area) und dessen Name steht, irgendjemand im englischen Forum hatte da Langeweile und hat das gemacht.
Schaden: Bekommst du durch http://wiki.sa-mp.com/wiki/GetVehicleHealth_DE
Geschwindigkeit + Fahrzeugname + Tank: Hatte ich mal ein Include geschrieben (kannst es ja nutzen wenn du willst) [ INCLUDE ] Simple Tacho
und das packst du einfach in ein TextDraw und fertig ![]()
mfg. ![]()
Du nutzt veraltete Includes ![]()
mfg. ![]()
Wurden Zeit Vergleiche aufgenommen?
Mit was soll ich es denn vergleichen? ![]()
Bin ich blind oder werden einfach nur Zeilen in die Benutzerdatei geschrieben, ohne die alten Werte zu löschen?
io_write sorgt dafür, dass die alten Sachen gelöscht werden ![]()
mfg. ![]()
Also, es gibt ja gaanz viele Speicherungssysteme schon. Allerdings sind die meisten so aufgebaut, dass man permanent irgendwelche Sachen eingeben muss wie z.B. dini:
dini_Int(...); //-> Immer 1ne Funktion für 1ne Variable
Nun, da mir mal wieder extrem langweilig ist, habe ich für euch ein kleines Speicherungssystem geschrieben welches das extrem vereinfacht, sieht z.B. so aus:
//Parameter erklärt:
User::save(pfad[], pw[], args[], var1, var2, var3, var4, ...); //da wo ... ist, kann es unendlich weiter gehen
//pw[] steht für das Passwort des Spielers
//args[] sind die Argumente, unten steht eine genaue Erklärung
//var1 = Die 1. Variable die man speichern will
//Anwendungsbeispiel:
new pfad[MAX_PLAYER_NAME+4],name[24];
GetPlayerName(playerid,name,24);
format(pfad,MAX_PLAYER_NAME+4,"%s.txt",name);
User::save(pfad, "123", "ddfs", int1, int2, float1, string);
//pfad = Wo die Datei gespeichert werden soll
//"123" = Das Passwort des Spielers
//"ddfs" = Sind die Argumente
//int1 ist die erste Variable die gespeichert wird.
und zum laden ist es auch ganz einfach:
//Parameter:
User::load(pfad[], pw[], args[], var1, var2, var3, var4, ...); //da wo ... ist, kann es unendlich weiter gehen
//pfad[] = Wo die Datei gespeichert werden soll
//pw[] steht für das Passwort des Spielers
//args[] sind die Argumente, unten steht eine genaue Erklärung
//var1 = Die 1. Variable die wieder geladen wird
//Anwendungsbeispiel:
new int1,int2,Float:float1,string[32],pfad[MAX_PLAYER_NAME+4],name[24];
GetPlayerName(playerid,name,24);
format(pfad,MAX_PLAYER_NAME+4,"%s.txt",name);
User::load(pfad, "123", "ddfs", int1, int2, float1, string);
Besonders wichtig ist, dass das Passwort immer übereinstimmt, sonst gibt die "Load" Funktion eine 0 zurück, das ist ein eingebautes Passwort Abfrage System ![]()
Args (Argumente):
Die Argumente kennt ihr aus dem sscanf-Code ![]()
Hier nochmal eine kleine Liste:
Wichtig:
Ich habe eine statische Größe angegeben, die Datei kann momentan nur 256 Bytes groß sein. Falls ihr das erhöhen müsst (wenn ihr z.B. viele Texte abspeichern müsst), dann macht ihr das so:
#define MAX_BUFFER 512 //Jetzt könnte die Datei 512 Bytes groß sein
#include <k_save>
Speedtest + Support:
Falls noch Fragen bestehen, könnt ihr diese gerne stellen, einen Speedtest habe ich auch gemacht, also für 1000 Saves, dauert das (mit diesen 4 Variablen * 1000 halt) = 150ms
und das Laden 80ms...
Also es ist verdammt schnell ![]()
Download:
Source-Code: Pastebin
Direkter-Download: Mediafire
Würde mich über ein kleines Feedback freuen ![]()
mfg.
//Edit:
Nochmal alles etwas ausführlicher erklärt und etwas hinzugefügt.
Nun muss man keine playerid angeben...
Muss ich mal wieder weitere includes veröffentlichen ich glaub mein ansehen als professioneller Skripter geht den Back runter zu dem das nur 3 Leute mein CMD Prozessor gedownloadet haben
Das liegt doch nur daran, dass du den Code am Anfang direkt in den Thread geschrieben hast und ihn hat fast niemand verstanden, dass hat denen bestimmt Angst gemacht ![]()
Zudem waren es 2 Leute, 2x ich und 1x Blackace ![]()
mfg. ![]()
(Grad keine Ahnung, ob man in C# mit einem oder zwei Gleich-Zeichen arbeitet)
Mit 2 == ![]()
mfg. ![]()
Und mit SetTimerEx einfach nach 10 Sekunden oder so die Chatbubble auf garnichts setzen.
Das ist nichtmal nötig, da es einen Parameter gibt und den einfach auf 10000 setzen kann und dann steht das da so oder so nur 10Sekunden ![]()
(Wobei das ziemlich lang ist)
mfg. ![]()
Da gäbe es 2 Möglichkeiten, entweder:
http://wiki.sa-mp.com/wiki/SetPlayerChatBubble (da sehen es alle anderen aber man selbst nicht)
oder man macht es durch:
http://wiki.sa-mp.com/wiki/Create3DTextLabel und http://wiki.sa-mp.com/wiki/Attach3DTextLabelToPlayer
mfg. ![]()