Gar nicht.
Denn a) , kannst du durch keine native Funktion auslesen,welcher Text auf einem Textdraw angewandt wurde. Du müsstest es machen,bevor du den Text für den Textdraw einstellst.Da solltest du aber sowieso wissen,wie oft du ~n~ in den Text/String einfügst. Dann noch b), funktionieren tut die Funktion von BlackAce eh nicht richtig.
Beiträge von Goldkiller
-
-
Wie du das prüfst? Eine Abfrage ob größer oder kleiner, hab' ich doch geschrieben.
Wie eine Abfrage geht,solltest du doch wissen :-O!if( gettime() >= GetPVarInt(playerid, "Mute") ) {
// Nicht mehr gemutet, da der aktuelle Unix-Timestamp größer ist als der Timestamp,bis wann der Spieler gemutet ist.
} -
Na den:
Mins=gettime()+(60*time);
SetPVarInt(pID,"Mute",Mins);
bzw speicherst du es doch auch bestimmt direkt in seiner Spielerdatei ( da SpielerSpeichern(pID); ) und ließt den Wert aus,sobald der Spieler den Server wieder betritt.
Du merkst dir hier doch,bis WANN der Spieler seinen Mute hat. Ob das jetzt in der PVar ist oder Spielerdatei.
Den Wert prüfst einfach gegen den aktuellen Unix-Timestamp ( gettime() ) um zu sehen,ob er noch gemutet ist oder nicht.Ist der aktuelle Unix-Timestamp größer,ist seine Entsperrung in der Vergangenheit und somit aufgehoben -> Nicht mehr gemutet . -
INI_ReadString sieht auch von der Syntax bischen Anders aus.
INI_ReadString(dest[], key[], maxlength = sizeof(dest))
Heisst also,du musst INI_ReadString vor der if()- Abfrage machen.
new sPasswort[32];
INI_ReadString(sPasswort, "Passwort", sizeof(sPasswort) );
if(!strcmp(key,sPasswort,false))// <- 4049//Edit:
Zum "unreachable code".
Sowohl bei dem if() als auch im else() Zweig hast du jeweils ein return.Dadurch wird die Funktion ja beendet. Es wird daher unter "if(INI_Open(PlayerData)) " niemals dazu kommen,dass der Code bis
"INI_Close();// <- 4066" kommt.Entfern einfach die beiden return - Zeilen aus dem if und dem else - Zweig.
Kannst die returns auch lassen,dann müsstest aber "INI_Close()" über dem return jeweils einfügen ;). -
Schwer zu sagen.
Lass dir doch mal mainquery per print/printf ausgeben und probier den Query dann mal in phpmyadmin oder ähnliches aus.Dann wird man dir dort schon sagen,ob es klappt ;).
Am Ende von query1 und query2 fehlt schon mal im STRING ein , ( Komma ) , damit die die Werte auch getrennt werden.Denn sonst hast:
Da fehlt dann zwischen VirtualWorld = '%d'AbgeschlepptPreis = '%d' ein Komma . -
Mins=gettime()+(60*time);
gettime gibt einen Unix-Timestamp.
Gerade liegt der bei 1337027564. Da kommt noch 60 * time drauf.
Die Zeit die du dort dann in "Mins" speicherst,ist der Unix-Timestamp,bis wann der User gemutet sein soll. Soweit ist ja auch alles richtig.
Du müsstest dann nur beim Einloggen bzw Sprechen schauen,ob der aktuelle Unix-Timestamp ( gettime() ) größer ist,als der Wert dem du den Spieler zuweist. -
Transactions benutzen,dass gehört aber eher in den MySQL Bereich und nicht SA:MP.
http://dev.mysql.com/doc/refman/5.5/en/commit.htmlDie Alternative wäre natürlich ein einziges Query auszuführen.
-
Autoren ist eine Liste,dass sollte man ja vermeiden. Daher falsch -> 1NF
Sehe da aber jetzt auch nicht mehr Fehler
-
Ja,man merkt du hast es von Mr Tutorial gelernt.
Denn PAWNO = C ist völliger Blödsinn. Auch PAWN = C ist Blödsinn, denn PAWN ist die Sprache und PAWNO nur die IDE ( Der Editor ). Ich kann meine Scripte auch mit Nodepad bearbeiten, sag ich deswegen die Sprache heisst "Nodepad" bzw "Nodepad = C "?.
Woher du glaubst,dass PAWN C ist wäre auch gut zu wissen.Zitatpawn is a simple, typeless, 32-bit extension language with a C-like syntax. A pawn "source" program is compiled to a binary file for optimal execution speed. The pawn compiler outputs P-code (or bytecode) that subsequently runs on an abstract machine. Execution speed, stability, simplicity and a small footprint were essential design criteria for both the language and the abstract machine.
Schau dich lieber in der Tutorial Sektion um.
-
Ich bin mir nicht ganz sicher was du genau meinst,denke aber du meinst sowas:
new bla[64];
// Datei öffnen
INI_Open("Datei.txt");
INI_ReadString(bla,"URL",sizeof(bla));
if(!strcmp(bla,"www.meine-homepage.de")) {
// ...
}
// Datei schließen
INI_Close();
Du musst allerdings vorher die Datei öffnen,sonst funktioniert es nicht ( Liegt an der Art wie SII arbeitet ). -
Immer diese falschen Antworten :/.
Der Fehler ist was Anderes.Entweder man weiss wo der Fehler liegt und hilft oder man lässt es sein.Möglichkeit a) wäre du entfernst das Wort "Fraktionskasse" bei deiner Aufzählung ( enum ) oder b) du schreibst vor frak=LSPD immer den Namen des enum's ( Fraktionskasse: ) und entfernst das Tag ( Fraktionskasse ) direkt wieder.
Es kommen auch keine Warnungen wenn man das Tag vor LSPD ( zB ) direkt entfernt ( _: ) .
Spoiler anzeigen
frak=_:(Fraktionskasse:LSPD);
frak=_:LSPD;
Ob beides identisch kompiliert weiss ich ehrlich gesagt auch nicht,denke aber schon.Methode a) wäre aber die einfachere auf den ersten Blick. Könnte es aber auch nicht sein,je nachdem wie du Fraktionskasse noch benutzt.
//Edit:
Die Fehlermeldung kommt daher,dass LSPD,Army usw alle vom Typ "Fraktionskasse" sind und damit zusammenhängen ( so wie das Tag Float,nur eben Fraktionskasse ). -
-
Könnte entbannt werden,wo wäre dann aber die Bestrafung ?
Er ist ja auch nicht permanent gebannt,nur 2 Wochen.ZitatAusschluss aus der Community (2 Wochen) - 20. Mai 2012, 13:30
Er kann sich nächste Woche melden,dann kann man nochmal drüber quatschen ob man ihn nicht eher entsperrt.
-
Ich hatte ihn zuletzt verwarnt.Wie die Begründung in den Bann kommt weiss ich nicht :/.
Gegen Dich wurde soeben wegen eines Regelverstoßes eine Verwarnung ausgesprochen.
Bei weiteren Verwarnungen musst Du mit ernsthaften Konsequenzen rechnen, die Deine Mitgliedschaft in diesem Forum betreffen.Die Verwarnung betrifft diesen Beitrag.
Grund der Verwarnung:
Verbot für Suchanfragen nach Gamemodes
Kommentar: http://forum.sa-mp.de/allgemei…hanfragen-nach-gamemodes/Die Verwarnung läuft ab:
siehe hierMit freundlichen Grüßen
Das SA-MP.de Team -
Nee,funktioniert nicht ganz.
pID ist völlig unnötig.Außerdem ist der Rückgabewert von GetPlayerName nicht brauchbar.
Nimm direkt playerid in Zeile 15.
Ein break kannst du auch noch einfügen,man kann ja sowieso nur in einem Fahrzeug sitzen.Falls wir bereits in einem sitzen und die Nachrichte versendet haben,brauchen wir die restlichen Fahrzeuge nicht mehr überprüfen.Übrigens würde ich die VehicleID einmalig außerhalb der Schleife auslesen und in einer Variable ablegen und immer mit dieser vergleichen in der Schleife.
-
Du musst das Ergebnis auch speichern,bei den meisten Plugins heisst die Funktion in etwa mysql_store_result.
-
Wenn == 0 identisch heisst,dann ist alles außer 0 nicht identisch.
Ein Tipp:
!=So schwer da umzudenken :-O?
-
http://wiki.sa-mp.com/wiki/Strcmp
Gibt strcmp 0 zurück,sind die Strings identisch. -
Es geht nicht,so einfach ist das.Man kann kein Speicher dynamisch reservieren in PAWN.
Du musst vorher eine größe festlegen ( leider ). -
pAdmin ist bei dir wohl auch ein Wert im enum,daher auch das tag-mismatch.Woher ist das weiss ?
if(SpielerInfo[playerid][pAdmin]==6){
Du solltest besser die Tabelle updaten wo der Spielername steht,nicht eine ID. Denn ich glaube nicht,dass du die ID als Primärschlüssel in der Tabelle hast mit auto-increment.