Nimm das ganze Skript und pack es in Notepad++.
Dann klicke oben bei Kodierung Konvertiere zu ANSI.
Und dann klick oben auf UTF-8 und fertig, dann sollte das wieder normal sein ![]()
Nimm das ganze Skript und pack es in Notepad++.
Dann klicke oben bei Kodierung Konvertiere zu ANSI.
Und dann klick oben auf UTF-8 und fertig, dann sollte das wieder normal sein ![]()
so gibt es ein Fehler
Weil das Strings sind, dafür musst du [wiki]strcmp[/wiki] benutzen ![]()
if(strcmp(inputtext, Spieler[playerid][pPersoCode]) != 0)
Wichtig ist noch, dass weder inputtext noch Spieler[playerid][pPersoCode] leer sind ![]()
Hab ich doch geschrieben, einfach in der Funktion menuIsActive ganz nach oben.
Und wie auch schon erwähnt, kannst du echo benutzen, wenn dir das zu doof ist mit der Konsole.
bei deiner funktion kommt das in den logs
Du hast das aber unter das mysql_format gepackt oder? ![]()
Zu dem anderen, wie gesagt, mysql_log: https://wiki.sa-mp.com/wiki/MySQL/R33#mysql_log
Das sagt eigentlich, dass die Download.php Seite gar nicht geladen werden soll.
Und schreib mal in die Funktion menuIsActive :
echo '<script>console.log("'.$filename.'", "'. basename($_SERVER['SCRIPT_FILENAME']).'");</script>';
Kannst aber eben auch wie gesagt echo benutzen und kannst im Quellcode dann schauen, was dir ausgegeben wird.
Dann kannst du F12 drücken und in der Console, sollte dann was stehen wie downloads.php
Ich weiß nicht was du da tun willst. Weil das die() sorgt dafür, dass die Seite aufhört zu laden.
Also die ist immer Leer.
damals hat es auch funktioniert mit der länge des strings
Dann printe dir doch einfach den String, dann findest du es doch raus:
printf("%s | %d",DB_Query, strlen(DB_Query));
Der Error Log ist der mysql_log.
Wenn du diesen aktiviert hast mit mysql_log dann werden dir dort alle mysql Aufrufe angezeigt und eben auch Errors oder Warnings.
Kann es sein, dass du anstatt dem echo in Zeile 3 ein if schreiben wolltest?
Dann sollte es eigentlich gehen.
Ansonsten einfach mal debuggen mit echo ![]()
new DB_Query[225];
Ich mutmaße einfach mal, dass der Query String zu klein ist.
Ich empfehle dir hier mal auf 400 zu gehen.
Durch ein einfaches print, oder den Error log findest du sowas einfach raus ![]()
Kriege das Irgendwie nicht hin kann das auch nicht
Naaa soo schwer ist das ganze ja nicht ![]()
Du movst einfach das TextDraw per Menü nach ganz oben Links und dann kannst du ja die size ändern und hälst Leertaste gedrückt und schiebst es nach rechts unten.
Am Ende passt du die Farbe an.
0x FF FF FF 88
FF = R
FF = G
FF = B
88 = A
R = Red = Rot
G = Green = Grün
B = Blue = Blau
A = Alpha = Transparenz (je niedriger, desto durchsichtiger)
Ich könnte dir natürlich den Code geben, du könntest auch theoretisch die Koordinaten raten...denn oben Links ist ja bekanntlich 0,0 und dann musst du nur die rechts Unten liegende Koordinate abschätzen (bzw da gibt es einen genauen Wert).
Allerdings übs doch einfach mal für andere Textdraws, das könnte doch durchaus sehr praktisch sein, wenn du damit umgehen kannst ![]()
So schwer ist das Menü nicht zu bedienen, viel Glück! ![]()
Leute...vehicleid != vehiclemodel.
Ich glaube ihr wollt:
GetVehicleModel(GetPlayerVehicleID (playerid))
Edit: Kann man sich irgendwie wärend dem Spiel aus dem RCON ausloggen?
https://wiki.sa-mp.com/wiki/RCON#RCON_Commands
Also nein ![]()
Um mich nochmal kurz zu erklären, ich wollte auf dieses Zitat hinaus:
Entwickelt werden muss ein kleiner und überschaulicher Mode der eigenständiges Roleplay unterstützen soll
Ich finde dem eben nicht so. Denn wie ich es bereits erklärt hatte, damit jegliche Funktionalitäten für jede Fraktion etc erfüllt werden, muss man diese Skripten, selbst wenn man dann andere Abfragen hat, ob man zu der jeweiligen Fraktion gehört oder nicht.
Das bedeutet dennoch, dass man erstmal ein komplettes Skript braucht.
Und das ist nicht mal eben auf die Schnelle geschrieben.
Wie dem auch sei, trotzdem viel Erfolg weiterhin, bin mal gespannt, wie es am Ende umgesetzt wird.
PS: Ein Forum sollte immer ein Impressum besitzen. Gerade jetzt in Zeiten der neuen DSGVO sind da viele komische Leute unterwegs, die einen Orgasmus bekommen, sobald die jemanden abgemahnt haben. Also sei da vorsichtig.
Wie stellst du dir das vor?
Greasemonkey ist ein Browser Addon, mit dem man auf bestimmten Seiten Javascript ausführen kann.
Aber das ist natürlich Client-Seitig...wenn du sowas für ein Forum willst, musst du da das Addon schreiben und nicht in deinem eigenen Browser ![]()
Du kannst das eigentlich garnicht umwandeln.
Natürlich kann man das umwandeln, das sind doch schließlich nur Sekunden.
Gibt da eine Funktion die heißt mktime kannste ja mal googeln die wirste bestimmt irgendwo finden.
Oder wenn du schwere Geschütze auffahren magst: https://forum.sa-mp.com/showthread.php?t=294054
Lass die Schleife bei createshop weg ![]()
Dadurch wird das 200x erstellt, die brauchst du nicht.
Dann mit einer for new schleife? Aber woher soll das script dann wissen was für einen shop ich meine...
Da ich nicht genau weiß, wie deine Variable zu den Enum heißt, nenne ich diese jetzt einfach mal Shops.
Um zu wissen, welchen index du jetzt für das Array benutzen musst, musst du wissen, an welchem Shop er sich befindet.
Soweit, so klar.
Das prüfst du, indem du schaust, an welchen Koordinaten er sich befindet.
Also du brauchst alle Koordinaten, von den Kassen.
Diese gibst du ja manuell an mit der if-Abfrage, aber pack diese doch auch mit in dein Array, damit du diesen Punkt dann auch dynamisch, so wie alles andere verändern kannst.
Das heißt wir erweitern dein enum um Float:kasse_x, Float:kasse_y, Float:kasse_z.
Dann kannst du einfach den index so bekommen:
new i = GetPlayerShopIndex(playerid);
if(i == -1) return SCM(playerid,-1,"Du befindest dich an keiner Shop-Kasse!");
if(Shops[i][RobTime] > gettime()) return SCM(playerid,-1,"Die eine Minute ist noch nicht rum, Bank kann noch nicht ausgeraubt werden");
TogglePlayerControllable(playerid,false);
ApplyAnimation(playerid,"SHOP","SHP_Gun_Aim",4.1,0,1,1,1,1);
Rob(playerid, Shops[i][ShopName]);
Shops[i][RobTime] = gettime() + 60;
return 1;
//Und weiter unten die Funktion:
stock GetPlayerShopIndex(playerid)
{
for(new i; i<sizeof(Shops); i++)
{
if(IsPlayerInRangeOfPoint(playerid,4.0,Shops[i][kasse_x],Shops[i][kasse_y],Shops[i][kasse_z])) return i;
}
return -1;
}
Alles anzeigen
Kannst auch gerne hier einen Blick reinwerfen: Schneller & strukturierter skripten
Da gebe ich zusätzlich noch ein paar Tipps, worauf du achten solltest ![]()
Pack das doch einfach mit in dein Enum ![]()
Das Zauberwort hier heißt Array.
ich kann immer noch einfach jede Sekunde die "bank" ausrauben
Wie sollte das auch klappen.
x ist in deinem Fall ja auch nur eine lokale Variable.
Sprich sie speichert nicht ihren Wert.
Du brauchst eine Globale Variable, wo der Wert gespeichert wird..für jeden Shop.
Solltest dir nochmal die neusten SA:MP Includes + das neuste MySQL Include downloaden ![]()
Und wie gesagt ich brauche dabei einfach Struktur und ein Grundgerüst
Ganz blöde Frage meinerseits, aber du hast doch bereits dieses Grundgerüst.
In dem Tutorial von Jeffry wird doch präzise gezeigt und erklärt, wie du Dinge lädst und speicherst.
Das kannst du 1:1 auf dein enum anwenden.
Deine anderen Fragen, beziehen sich ja eher auf SQL selbst.
Hier ein Tutorial: https://www.w3schools.com/sql/default.asp
und hier der sub-tab wo es ums löschen geht: https://www.w3schools.com/sql/sql_delete.asp
Und falls jemand diesen Shop ausraubt, dass dann die RobTime gesetzt wird bis es wieder ausraubar ist.
Das ist ja was anderes.
Dafür nutzt du einfach [wiki]Gettime[/wiki].
new x = gettime() + 60; //+60 Sekunden
if(x > gettime())
{
//Die eine Minute ist noch nicht rum, Bank kann noch nicht ausgeraubt werden
}
else
{
//Kann ausgeraubt werden, eine Minute ist vorbei
}
Alles anzeigen
Das war mal ein kleines Beispiel, wie man sowas nutzen kann.