Deine Eltern fragen. Wie bist du überhaupt im Internet, wenn WLAN ( LAN ) aus ist 0o?
Beiträge von Goldkiller
-
-
Das ist nicht abgeguckt,dass ist ganz klar kopiert.
Wenn du 5 Zeilen kopierst und aus GetDotXY das Wort Speed machst,hat es nix mit abgucken zu tun.
Das Gleiche für den Anderen Codeausschnitt . Die 2 Zahlen die du dort geändert hast ( 60 => 70 ) , ist ebenfalls nicht abgucken. Ich hab mir den Quellcode nicht genauer angeguckt, ob ich da noch mehr finden würde,weiss ich nicht.Ich brauch hier aber nix versuchen zu beweisen,im Endeffekt musst du ja selber wissen, ob und welche Teile nicht von dir sind bzw "abgeguckt".
ZitatAußerdem zu sagen das ich es nicht gescriptet habe ist jetzt auch ein bisschen .... "beschissen" da jeder Scripter mal etwas abguckt und nicht alles zu 100% weiß, das tust du mit sicherheit auch.
Ich hab nicht geschrieben,dass du es nicht gescriptet hast. Ich bezweifel nur,dass alles von dir ist.
Einen Satz zum letzten Teil spar ich mir, würde sonst überheblich klingen :p -
Ich bezweifel,dass es komplett von dir ist.Der Quellcode und auch die Textdraws sehen diesem Script [ [FilterScript] [FS] Real Clock Speedometer ] verdammt ähnlich.
Um jetzt mal eine Funktion zu nehmen,bei der es direkt 1 zu 1 sichtbar ist:
sa-mp.com
stock GetDotXY(Float:StartPosX, Float:StartPosY, &Float:NewX, &Float:NewY, Float:alpha, Float:dist)
{
NewX = StartPosX + (dist * floatsin(alpha, degrees));
NewY = StartPosY + (dist * floatcos(alpha, degrees));
}
deins
stock Speed(Float:StartPosX, Float:StartPosY, &Float:NewX, &Float:NewY, Float:alpha, Float:dist)
{
NewX = StartPosX + (dist * floatsin(alpha, degrees));
NewY = StartPosY + (dist * floatcos(alpha, degrees));
}
Das dein Tacho auch zufällig bis 130 geht,dass im Englischen Forum aber bis 260 ist sehr komisch.Einfach mal die Hälfte genommen .Oder das hier,mehr als merkwürdig.
GetVehicleVelocity(GetPlayerVehicleID(playerid), fPos[0], fPos[1], fPos[2]);
sSpeed = floatsqroot(floatpower(fPos[0], 2) + floatpower(fPos[1], 2) +
floatpower(fPos[2], 2)) * 200;
new Float:alpha = 320 - sSpeed;
if(alpha < 70)
alpha = 70;
Aus dem Script von sa-mp.com
GetVehicleVelocity(GetPlayerVehicleID(playerid), fPos[0], fPos[1], fPos[2]);
fSpeed = floatsqroot(floatpower(fPos[0], 2) + floatpower(fPos[1], 2) +
floatpower(fPos[2], 2)) * 200;
new Float:alpha = 320 - fSpeed;
if(alpha < 60)
alpha = 60;
Ich weiss nicht, dass Script entzieht sich meiner Wertung. Sieht nicht wirklich selbstgemacht aus ... . -
Versuch es lieber mal mit y_va.
http://forum.sa-mp.com/showpost.php?p=1421736&postcount=2462
y_va.inc
Damit kannste schnell und einfach Funktionen erstellen,die direkt mit format Arbeiten sollen.Falls du es mit deiner Methode dennoch machen möchtest,du kannst den Code ja ein Level anheben ( mir fällt beim Besten willen nicht ein,wie man es richtig nennt :-O ). Damit meine ich, { } benutzen und dort drin deinen Code ;).Dann klappt es aber nicht mehr mit dem Semikolon am Ende, daher nutzen die meisten dafür einen Umweg.Der ist aber schon relativ Alt und mit der y_va Methode ist es definitiv eleganter:
static stock bool:FALSE = false;
#define SendFormat(%0,%1,%2,%3) do{new _str[128];format(_str,128,%2,%3);SendClientMessage(%0,%1,_str);}while(FALSE) -
format(str, 256, "Deine Ip: %i",plrIP)
%i ist falsch.Das würde nämlich bedeuten,deine IP wäre eine Zahl.Ist sie aber nicht , sondern ein String.
Kannst ja mal schauen welcher Platzhalter für Strings gut ist ;).
http://wiki.sa-mp.com/wiki/FormatÜbrigens ist 256 viel zu groß. 27 wäre groß genug für diesen Text den du dort hast.
-
Musst auch das Tag Float angeben,also Float: vor zinsen schreiben.
-
Dann ist strfind immernoch eine total schlechte Lösung.Da müsstest ja für jeden Buchstaben 1x strfind benutzen,ist doch Quatsch.
Da würde ich eher durch das Array gehen und prüfen ob :
...
Schleife {
if( 'a' <= array[index]<= 'z' || 'A' <=array[index] <= 'Z' )
}
... -
Und wie suche ich eine willkürliche Zahl über strfind :-O ? Ich kenne die Zahl doch nicht,kann also auch nicht im Text nach ihr suchen.
-
Weil sscanf mehr oder weniger zum Standard gehört.
Es gibt keine native Funktion die dir zu 100% sicherstellt,dass es sich bei der Eingabe um eine Zahl handelt.
Du könntest "strval( inputtext ) " benutzen , allerdings funktioniert es für den Sonderfalls das inputtext = "0" ist nicht. Denn funktioniert strval nicht Fehlerfrei,gibt es als Rückgabewert 0.Eine extra Funktion wirst du sowieso brauchen,ob es nun sscanf ist oder zum Beispiel isNumeric:
stock IsNumeric(const string[])
{
new lenght = strlen(string);
for (new i=0; i<length; i++)
{
if (!((string[i] <= '9' && string[i] >= '0') || (i==0 && (string[i]=='-' || string[i]=='+'))))
{
return false;
}
}
return 0;
}
Da würde ich definitiv eher sscanf benutzen.//Edit:
Kannst es ja mal selber probieren:
printf("strval(blaaa) %d",strval("blaa"));
printf("strval(0) %d",strval("0"));
Beides wird für %d die Zahl 0 einsetzen,obwohl "blaa" keine gültige Zahl ist. -
Was funktioniert da denn nicht.Aus deinem Text lässt sich 0 in Erfahrung bringen.
http://wiki.sa-mp.com/wiki/SetPlayerRaceCheckpoint
Wie benutzt du die Funktion? Quellcode wäre gut. Bekommst du Fehlermeldungen ? Welche Zeilen ? -
Habe das Tutorial zwar freigeschaltet,aber meinst du nicht es passt besser hier hin :http://forum.sa-mp.de/san-andr…s/11823-code-optimierung/
Außerdem ist keines davon wirklich eine Optimierung. Außer vllt die Schleife zum Schluss,darüber lässt sich aber streiten. -
Zitat
In SQL einfügen (Also Befehl ?)
In phpmyadmin zum Beispiel,ja. ( Würde auch über SA:MP funktionieren ).ZitatUnd wie setzte ich die neu registrierten PW's auf Mysql.
Ehm,ich denke du hast die md5 Include für PAWN. Sonst hättest du doch gar nicht wegen MD5 angefragt,oder ? Man kann auch wie gesagt einen Tabellenwert immer von MySQL eintragen lassen und daraus angewendet MD5. Weiss leider nicht mehr wie es geht.ZitatUnd wie "Get" ich sie ? (Damit das Script MD5 entschlüsselt.)
Den Eintrag aus der Tabelle ? Ganz normal als String auslesen. -
http://pastebin.com/ZgjbgXkX
Ausprobieren und die Log posten. Das nennt man übrigens "Debuggen".
Hoffentlich gibts da keine Fehler beim kompilieren :-X -
Näh,
sizeof(c_weapons) gibt die größe der 1. Dimension. ( Nicht die komplette von c_weapons in allen Dimensionen )
sizeof(c_weapons[]) gibt die Größe der 2. Dimension an. -
Kommt darauf an,was du meinst.
Zitatda ich bei der mysql abfrage die koordinaten zur sicherheit mit angebe.
Die Koordinaten nicht mit übergeben wäre eine Option, meinst du nicht ? Du solltest die Fahrzeuge anhand einer Einzigartigen ID festlegen und lediglich mit dieser vergleichen.ZitatIch möchte aber nich jedem Auto fest eine zweite ID in der Tabelle zuweisen, da ich dann im script immer leicht durcheinander komme. Danke wenn ihr mir helfen könnt.
Wäre aber die einfachste Lösung :/. -
Das ist normal. Kommazahlen sind nie 100% genau, liegt einfach daran wie die Binäir dargestellt werden. Mit diesen kleinen Abweichungen musst du dich mehr oder weniger abfinden.
Falls es dich interessiert, http://de.wikipedia.org/wiki/Gleitkommazahl -
Kannst auch direkt über MySQL machen lassen.
Würde alle Passwörter neu abspeichern ( Feld passwort ) in deiner Tabelle ( deinetabelle ) ,allerdings MD5 verschlüsselt.Das solltest du nur 1x ausführen. Denn sonst wendest du MD5 an dem bereits verschlüsseltem Passwort an,bringt ja nix ;).Man kann auch einstellen,dass automatisch jeder neu eingetragene Wert an sich die Funktion MD5 angewendet bekommt,bevor letztendlich in die Datenbank geschrieben wird.
Einfach ein neues Feld (INT) zur Spieler Tabelle hinzufügen.
Nein, MD5 Hash ist keine Zahl. -
Du hast wohl gar nicht mehr vor, wenigstens etwas aus dem MySQL Referenzbuch zu lesen.
format(sql,sizeof(sql),"DELETE FROM `%s` WHERE `%s`",table,where);
WHERE was ?http://forum.sa-mp.de/san-andr…6schen-fehler/#post981870
Maddin hat es geschrieben.
Angenommen du willst die Eintrag Löschen,wo der Spielername "Testname" ist:
stock mysql_delete(table,where[],is[])
{
new sql[256];
format(sql,sizeof(sql),"DELETE FROM `%s` WHERE `%s` = '%s'",table,where,is);
mysql_query(sql);
}
mysql_delete("players","name","Testname"); -
Über Google hättest du da die Lösung schnell gefunden.
http://forum.sa-mp.de/san-andr…nvalid-line-continuation/
http://forum.sa-mp.com/showpost.php?p=874363&postcount=17
oder auch pawn-lang.pdf:Zitat049 invalid line continuation
A line continuation character (a backslash at the end of a line) is at an invalid position, for example at the end of a file or in a single
line comment.
Solltest also mal die Zeilen über "if(strcmp(cmdtext,"/setblitzer",true) == 0)" posten bzw prüfen. -
http://forum.sa-mp.de/san-andr…zeiteinheiten/#post768251
ConvertSec wäre was für dich.Zitat
Timestamp, wenn er entmuted wird:1335090000 (12:20 Uhr mittags)
-
Timestamp, aktuell
= <ticks>.
Dann wäre die Funktion so anzuwenden:
new aiTime[3];
ConvertSec( <ticks> , aiTime[0] , aiTime[1] , aiTime[2] );