Was solls dann gibts halt keine Syntax Highlights
Beiträge von REVISION
-
-
Schonmal danke für die ganzen antworten.
Was ich wollte ist eine IDE oder Theme welchen ein schwarzen/dunklen Hintergrund hat und weiße Schrift.
Habs mit oPAWN und Pawnfox probiert aber da hab ich keine einstellung dafür gefundenDanke für die Hilfe
-
Hey Leute,
als erstes hoff ich mal das ich hier im richtigen Bereich bin (wusste nicht ganz wohin).
Nun, ich hab mir gedacht ich hätte lust nach langer Zeit wieder mal was zu Scripten.
Was mir ein Dorn im Auge ist, ist dieses Schwarz auf Weis Theme. So nun ist meine Frage kennt/hat
jemand ein gutes dark Notepad++ Theme angepasst für PAWN. Hab schon ein bisschen rumgesucht aber nichts wirklich gefunden.
Kann von mir auch eine andere Umgebung als Notepad++ sein.Danke
-
Wenn du einigermaßen Scripten kannst wirst du damit klar kommen.
http://wiki.sa-mp.com/wiki/OnPlayerWeaponShot-REVISION
-
Enum Ich Idiot Neues Script hab ich vergessen es in OnGameModeInit reinzuschreiben.
Aber vielen danke hat geklappt -
Wird den eine Nachricht ausgegeben, wenn du das Fahrzeug verlässt?Nein ich bekomme die Naricht direkt wenn ich den Befehl eingebe.
//EDIT:
Wenn ich wieder ins Fahrzeug einsteige geht das Licht wieder aus.
-
Hey Leute,
irgendwie hab ich grad Probleme mit den einfachsten sachen .
Nun zu meinem Problem, ich habe ein "/licht" Befehl mit ocmd erstellt was jetzt erstmal nichts besonderes ist.
Das Problem ist das wenn ich das Licht mit diesem Befehl anmache geht es nicht an aber wenn man aussteigt geht es anHier der Befehl:
ocmd:licht(playerid,params[])
{
if(GetPlayerVehicleSeat(playerid) == 128)return SendClientMessage(playerid,WEISS,"[ERROR] Fehler: 0.2 | Bitte aus- und einsteigen.");
if(GetPlayerVehicleSeat(playerid) != 0)return SendClientMessage(playerid,WEISS,"Du bist nicht der Fahrer dieses Fahrzeuges oder in einem Fahrzeug.");
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine, lights, alarm, doors, bonnet, boot, objective);
if(engine == 0)return SendClientMessage(playerid,GRAU,"Der Motor muss erst angeschalten werden.");
if(lights == 0)
{
SendClientMessage(playerid,GRAU,"Licht an Test");
return SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine, true, alarm, doors, bonnet, boot, objective);
}
if(lights == 1)
{
SendClientMessage(playerid,GRAU,"Licht aus Test");
return SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine, false, alarm, doors, bonnet, boot, objective);
}
return 1;
}Meine OnPlayerExitVehicle und OnPlayerStateChange funktionen sind total leer.
Die jeweiligen Narichten erhalte ich.Mit freundlichen Grüßen
//EDIT: "oder" mit "und" ausgetausch
-
Hast du meinen Code vom Post über dir eingefügt? Was ist mit den "print("Test1.2");", werden die gezeigt, oder haste das gar nicht eingefügt?
Das wäre wichtig zu wissen wie weit er vor dem query kommt.
Ich hab alles eingefügt.
Das ist halt die Sache was mich stark wundert -
Jeffry Nur bis "Test1" was fragwürdig ist, weil wenn ich "mysql_query(query);" rausnehme funktioniert es ohne probleme.
-
Nur mal zum Testen ob es am DELETE liegt, mach mal das rein:
format(query, 128, "UPDATE `vehicles` SET `owner` = '-Niemand-' WHERE `owner` = '%s' AND `modleid` = '%i'", query, vdata[i][modleid]);
Kommt er dann durch, oder bleibt es auch hängen?
Was wird von den prints angezeigt?
Mach auch mal nen print hinter das format:
print(query);
Für beide Varianten (DELETE & UPDATE). Was wird geprintet?Komisch, irgendwie kommt jetzt auch nicht mehr die Update Funktion mehr durch
Als erstes war die query nur 128 Zeiche lang und somit nicht lang genug für die Query.
Da wurde alles noch geprintet und Owner nicht bearbeitet ist ja klar.
Nun wird nur noch "Test1" geprintet.
Andere UPDATE Querys funktionieren im Script komisch.CODE:
print("Test1");
ssinfo[GetPlayerID(vdata[i][owner])][outVehicle] --;
new query[170],name[32];
mysql_real_escape_string(vdata[i][owner],name);
format(query, 170, "DELETE FROM `vehicles` WHERE `owner` = '%s' AND `modleid` = '%i'", name, vdata[i][modleid]);
print(query);
format(query, 170, "UPDATE `vehicles` SET `owner` = '-Niemand-' WHERE `owner` = '%s' AND `modleid` = '%i'", name, vdata[i][modleid]);
print(query);
mysql_query(query);
print("Test2"); -
Kannst du mal den gesamten Code zu dem Teil posten, vielleicht liegt es an was anderem.
Hier:
public OnVehicleDeath(vehicleid, killerid)
{
for(new i; i < MAX_DATA_VEHICLES; i++)
{
if(vdata[i][exist] == false) continue;
if(vdata[i][data_vehicleid] == vehicleid)
{
for(new SLOTi; SLOTi < 500; SLOTi++)
{
vSlots[vdata[i][data_vehicleid]][SLOTi] = -1;
}
switch(vdata[i][type])
{
case 0: { ssinfo[GetPlayerID(vdata[i][owner])][outrentVehicle] --; }
case 1: {
print("Test1");
ssinfo[GetPlayerID(vdata[i][owner])][outVehicle] --;
new query[128];
mysql_real_escape_string(vdata[i][owner],query);
format(query, 128, "DELETE FROM `vehicles` WHERE `owner` = '%s' AND `modleid` = '%i'", query, vdata[i][modleid]);
mysql_query(query);
print("Test2");
}
}
DestroyVehicle(vehicleid);
vdata[i][exist] = false;
break;
}
}
return 1;
}
Vielleicht klappt auch der ganze Query auf Grund der Rechtschreibung nicht, weil eine Spalte anders benannt ist.
`modleid` = '%i' <- modleid? Sollte es nicht "modelid" heißen oder heißt es in der Spalte auch "modleid"?Versuch es mal so:
format(query, 128, "DELETE FROM vehicles WHERE (owner='%s') AND (modleid='%d')", name, vdata[modleid]);Du hast bei "Owner" den leeren "query" eingefügt und nicht den Spielernamen, hab das mal geändert in meinem Beispiel, denn so wie vorher kann das ja auch nicht klappen. Du musst nur noch den "Name" definieren.
Sollte es immer noch nicht gehen, baust du nach der Zeile am besten folgendes ein:
die(mysql_error()); <- Um zu sehen ob es Fehler gibt."modleid" wurde überall falsch geschrieben (Also auch in der Tabelle)
"query" war nicht leer da davor "mysql_real_escape_string(vdata[i][owner],query);" kam.
Ich hab "vdata[i][owner]" auch schon in anderen String gespeichert zb. in sich selbst und es hat nie geklappt
Dein Versuch funktioniert leider bei mir auch nicht und bei mysql_error(); bekomm ich den Error das die Funktion nirgends definiert worden ist.
Ich verwende die include und plugin von G-sTyLeZzZ ist da diese Funktion überhaupt drinnen?Mit freundlichen Grüßen
//EDIT: Ausversehen alter pawn code drinnen gewesen
-
Falsch. Die müssen bei Zahlen zwar nicht hin, sie stören aber auch nicht.Zahlen: Optional
String: PflichtWie sieht es denn mit anderen queries aus? Funktionieren die? Ansonsten kann es sein, dass du gar nicht mit der Datenbank verbungen bist?
Was passiert wenn du die vier zZeilen entfernst?
Alle andere Queries funktionieren einwandfrei auch mit dieser Datenbank weil ich davor eine Verbindung aufgebaue. Wenn ich die Zeilen entferne hängt der Server sich nicht auf. Das Problem ist halt ich will den Eintrag gelöscht bekommen. Achja nebenbei der ganze Code steht unter OnVehicleDeath.
-Handy
-
Eine Zahl als String also ich weiß ja nicht (gemeint ist '%i')
vdata[i][modleid] ist aufjedenfall ein Intenger aber wie das genau ist bei MySQL mit den Häkchen hab ich nie so ganz verstanden also meinst du das bei %i die hacken weg müssen?Sorry wegen RS bin am Handy :p
-
Versuch es mal so:
new query[128];
mysql_real_escape_string(vdata[i][owner],query);
format(query, 128, "DELETE FROM `vehicles` WHERE `owner` = '%s' AND `modleid` = '%i'", query, vdata[i][modleid]);
mysql_query(query);Es kann sein, dass du nicht in den selben string escape kannst.
Klappt leider auch nicht konnte das noch kurz testen weil es nicht so aufwendig war, aber versuch morgen noch den Lösungsweg von [IRP]AyKut da ich leider jetzt offline muss.
Trozdem euch allen vielen dank für die Hilfe :p -
Da musst du wahrscheinlich auch deinen Datenbanknamen angeben,
werde gleich ein Beispiel reineditieren.
Edit = Beispiel
DELETE FROM `Datenbankname`.`Tabellename` WHERE `Tabellenname`.`Wert(Name)` = '%s'",Name);
Kann es heute leider nicht mehr ausprobieren, aber bei anderen Querys zb Updates muss ich den Datanbankname auch nicht hinzufügen und es klappt.
Aber trozdem vielen dank erstmal für die Hilfe ich werd es morgen ausprobieren :pRaPSoR Genau in dem moment wird nichts mehr im MySQL Log aufgeschrieben
-
Hey Leute,
also jedes mal wenn folgender Code aufgerufen wird, wird der eintrag in der Datenbank nicht gelöscht und der ganze Server hängt sich fest.
Damit meine ich, wenn ich irgendwelche Befehle eingebe reagiert der Server nicht mehr darauf. Das gleiche ist auch bei der Console bei Befehelen wie zb. exit.
new query[128];
mysql_real_escape_string(vdata[i][owner],vdata[i][owner]);
format(query, 128, "DELETE FROM `vehicles` WHERE `owner` = '%s' AND `modleid` = '%i'", vdata[i][owner], vdata[i][modleid]);
mysql_query(query);Danke im vorraus
//EDIT: pawn code bearbeitet
-
Gleiches Problem habe nie eine Antwort erhalten.
Total die Abzocke deren Anti-Cheat!! -
Bei sscanf musst du "s[128]" statt "s" machen.
-
Ich möchte einen der Skype Premium Keys gewinnen!
-
Hey Leute,
ich bin momentan am Scripten und komm einfach nicht mehr weiter und brauche einfachmal einen Denkanstoß.
Nun ich versuche ein Vehicle System zu erstellen wo man Fahrzeuge in der Garage Ein- & Ausparken kann.
Das mit dem Einparken ist kein Problem und dies mache ich indem ich in einer MYSQL - Tabelle ein Eintrag erstelle wo der
Fahrzeugbesitzer und die ModleID des Fahrzeuges gespeichert wird. Jetzt will ich nun in einem Dialog alle Fahrzeuge die
in der MYSQL - Tabelle sind & dem Fahrzeugbesitzer gehören anzeigen. Wie das funktionieren soll weiß ich leider nicht.
Ich hoffe ihr habt mein Problem verstandenFalls ich mich zu undeutlich ausgedrückt habe oder ihr bestimmten Code sehen wollt fragt bitte nach
Danke im Vorraus
Mit freundlichen Grüßen
//EDIT
Hab es selber gelöst. Für alle die die Lösung wissen wollen:
format(Query, sizeof(Query), "SELECT * FROM `vehicles` WHERE `owner` = '%s'", Name);
mysql_query(Query);
mysql_store_result();
while(mysql_retrieve_row())
{
mysql_fetch_field_row(load,"modleid");
format(einzel,15,"%s\n",load);
strcat(string,einzel);
}
mysql_free_result();