Beiträge von Scripter4.0
-
-
leider gar nichts..
gibt es denn noch eine andere Methode die Userdaten zu laden?mfg
-
da steht nichts, da es ja eig funktioniert.. außer in sehr seltenen fällen..
Danke
-
in der Mysql Log steht nichts..
Wie mache ich es sicher?
-
Guten Tag liebe Brotfischeee,
ich habe ein Problem un zwar bei meinem Login System.
Eig funktioniert es perfekt, allerdings ist es selten der Falle, dass die Daten irgendwie nicht geladen werden.
Ich dachte erst, dass das Script iwie die Daten nicht so schnell wie das Script weitergeht bekommen kann, doch das ist doch eig Quatsch, da er das den Stock ja von oben nach unten verarbeitet.
Könnt ihr mir helfen oder habt ihr eine Idee, wie man das anders machen könnte?Hier mein Code:
Der Dialog:
else if(dialogid==DIALOG_LOGIN)
{
if(response)
{
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Das Passwort war falsch.\nGebe nun dein richtiges ein:","Login","Abbrechen");
padminlvl[playerid] = 0;
pfraktion[playerid] = 0;
campos(playerid);
return 1;
}
else
{
new query[128];
format(query,sizeof(query),"SELECT * FROM user WHERE Name='%s' AND passwort='%s'",SpielerName(playerid),inputtext);
mysql_function_query(DB,query,true,"OnPasswordResponse","i",playerid);
}
}
else
{
Kick(playerid);
}
return 1;
}Und der Public:
public OnPasswordResponse(playerid)
{
new num_fields,num_rows;
cache_get_data(num_rows,num_fields,DB);
if(num_rows==1)
{
//Passwort richtig
PlayerPlaySound(playerid, 1063, 0.0, 0.0, 10.0);
//Spieler laden
idx[playerid] = cache_get_field_content_int(0, "id", DB);
pscore[playerid] = cache_get_field_content_int(0, "score", DB);
pgeld[playerid] = cache_get_field_content_int(0, "geld", DB);
padminlvl[playerid] = cache_get_field_content_int(0, "adminlevel", DB);
pfraktion[playerid] = cache_get_field_content_int(0, "fraktion", DB);
pwanteds[playerid] = cache_get_field_content_int(0, "wanteds", DB);
pbank[playerid] = cache_get_field_content_int(0, "bank", DB);
fuhrerschein[playerid] = cache_get_field_content_int(0, "autoschein", DB);
pkampfstyle[playerid] = cache_get_field_content_int(0, "kampfstyle", DB);
jobid[playerid] = cache_get_field_content_int(0, "jobid", DB);
arbeitslosengeld[playerid] = cache_get_field_content_int(0, "arbeitslosengeld", DB);
prank[playerid] = cache_get_field_content_int(0, "rank", DB);
neu[playerid] = cache_get_field_content_int(0, "neu", DB);
pskin[playerid] = cache_get_field_content_int(0, "skin", DB);
npayday[playerid] = cache_get_field_content_int(0, "payday", DB);
pbiz[playerid] = cache_get_field_content_int(0, "biz", DB);
timeban[playerid] = cache_get_field_content_int(0, "tban", DB);
casinochips[playerid] = cache_get_field_content_int(0, "casinochips", DB);
knastid[playerid] = cache_get_field_content_int(0, "prison", DB);
knastzeit[playerid] = cache_get_field_content_int(0, "prisontime", DB);
ausweis[playerid] = cache_get_field_content_int(0, "ausweis", DB);
herkunft[playerid] = cache_get_field_content_int(0, "herkunft", DB);
staatsan[playerid] = cache_get_field_content_int(0, "staatsange", DB);
wohnort[playerid] = cache_get_field_content_int(0, "wohnort", DB);
alter[playerid] = cache_get_field_content_int(0, "older", DB);
cache_get_field_content(0, "ausweisgultig", gultigbis[playerid] ,DB);
kaufenthalt[playerid] = cache_get_field_content_int(0, "knastaufenthalt", DB);
tickets[playerid] = cache_get_field_content_int(0, "pdtickets", DB);
autopunkte[playerid] = cache_get_field_content_int(0, "autopunkte", DB);
boombox[playerid] = cache_get_field_content_int(0, "boombox", DB);
sprayticket[playerid] = cache_get_field_content_int(0, "sprayticket", DB);
SetPlayerFightingStyle(playerid, pkampfstyle[playerid]);
SetPlayerScore(playerid, pscore[playerid]);
loadPlayerCars(playerid);
new string[64];
format(string,sizeof string,"%s hat den Server betreten.",SpielerName(playerid));
SendClientMessageToAll(GRUEN,string);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
SpawnPlayer(playerid);
SetCameraBehindPlayer(playerid);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(padminlvl[i]>0)
{
new ip[16], ipstring[128], ipstring2[128];
GetPlayerIp(playerid,ip,sizeof(ip));
format(ipstring,sizeof ipstring,"IP von %s: %s",SpielerName(playerid),ip);
format(ipstring2,sizeof ipstring2,"%s hat den Server betreten. IP: %s",SpielerName(playerid),ip);
SendClientMessage(i, GRAU, ipstring);
Loginlog(playerid, ipstring2);
}
}if(isPlayerAnAdmin(playerid, 1))
{
//Anti Hack Anzeige
TextDrawShowForPlayer(playerid,antihackback);
TextDrawShowForPlayer(playerid,antihackheader);//OOC Chat
if(ochannel==false)
{
TextDrawShowForPlayer(playerid, oocaus);
}
else
{
TextDrawShowForPlayer(playerid, oocan);
}
TextDrawShowForPlayer(playerid, oocanzeige);
}
TogglePlayerControllable(playerid,1);
}
else
{
//Passwort falsch
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Das Passwort war falsch.\nGebe nun dein richtiges ein:","Login","Abbrechen");
campos(playerid);
}Ich hoffe ihr könnt mir helfen.
Danke.Mit freundlichen Grüßen,
Scripter4.0 -
es ist zu 99 % ein Selfmade und den Rest des Scriptes?
Hier unter OnGameModeInit werden dann die Autohaus Autos erstellt:
for(new i=0; i<sizeof(ahCars); i++)
{
ahCars[i][id_x]=CreateStaticVehicleEx(ahCars[i][model],ahCars[i][c_x],ahCars[i][c_y],ahCars[i][c_z],ahCars[i][c_r],-1,-1, 5);
}Mit freundlichen Grüßen,
Scripter4.0 -
Guten Tag liebe Community,
ich habe ein Autohaus erstellt und wenn man in ein Auto vom Autohaus einsteigt kommt natürlich, wie erstellt ein Dialog.
Aber nun ist es auch manchmal so, dass dieser Dialog auch bei ganz normalen Usercars oder bei neu gespawnten Autos angezeigt wird.
Woran liegt das denn?Hoffe ihr könnt mir helfen oder vielleicht sagen, wie ich das anders schreiben kann.
Hier mein Code:
//Autohaus
for(new av=0; av<sizeof(ahCars); av++)
{
if(ahCars[av][id_x] != vID)continue;
if(GetPlayerVehicleID(playerid)==ahCars[av][id_x])
{
//Verkaufsprozess
buyCarID[playerid] = av;
new carstring[200];
if(ahCars[av][ah_id] == 0)
{
format(carstring, sizeof(carstring),"Probefahrt %i €\nAuto kaufen %i €",pProbfahrt, ahCars[av][c_preis]);
TogglePlayerControllable(playerid,0);
ShowPlayerDialog(playerid, DIALOG_AUTOHAUS, DIALOG_STYLE_LIST, "Autohaus", carstring, "Ok", "Aussteigen");
}
else if(ahCars[av][ah_id] == 2)
{
format(carstring, sizeof(carstring),"Probefahrt %i €\nAuto kaufen %i €",pProbfahrt, ahCars[av][c_preis]);
TogglePlayerControllable(playerid,0);
ShowPlayerDialog(playerid, DIALOG_AUTOHAUS, DIALOG_STYLE_LIST, "Autohaus", carstring, "Ok", "Aussteigen");
}
else if(ahCars[av][ah_id] == 1)
{
format(carstring, sizeof(carstring),"Probefahrt %i €\nAuto kaufen %i €",pProbfahrt, ahCars[av][c_preis]);
TogglePlayerControllable(playerid,0);
ShowPlayerDialog(playerid, DIALOG_AUTOHAUS2, DIALOG_STYLE_LIST, "Autohaus", carstring, "Ok", "Aussteigen");
}
break;
}
}Mit freundlichen Grüßen,
Scripter4.0 -
ja habe ich..
aber ich probiere nochmal was.. -
hier der code:
else if(IsPlayerInAnyVehicle(playerid) && GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
{
if(!IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
{
new Float:pX,Float:pY,Float:pZ, Float:vX,Float:vY,Float:vZ;
GetPlayerPos(playerid,pX,pY,pZ);
new Found=0;
new vid=0;
while((vid<MAX_VEHICLES)&&(!Found))
{
vid++;
GetVehiclePos(vid,vX,vY,vZ);
if((floatabs(pX-vX)<6.0)&&(floatabs(pY-vY)<6.0)&&(floatabs(pZ-vZ)<6.0)&&(vid!=GetPlayerVehicleID(playerid)))
{
Found=1;
AttachTrailerToVehicle(vid,GetPlayerVehicleID(playerid));
SendClientMessage(playerid, GRAU, "========= [Towtruck] =========");
SendClientMessage(playerid, WEISS, "Fahrzeug angehaengt.");
}
}
if(!Found)
{
SendClientMessage(playerid,GRAU,"Es ist kein richtiges Fahrzeug in deiner Naehe.");
}
} -
Guten Abend liebe Community,
Ich habe nun ein Towtruck Script und das habe ich nun getestet, aber solche Wagen wie Huntley möchte der nicht ziehen, wieso weiß ich nicht und mit einem SFPD Car geht es allerdings..
Wisst ihr warum?
Mit freundlichen Grüßen,
Scripter4.0 -
auch schon ausprobiert.. funktioniert nicht..
//edit:
habs geschafft.
habe alter umbenannt in der Datenbank und im script. funktioniert.#happy
-
immer noch die Selbe:
Code#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alter='28',knastaufenthalt='0', pdtickets='0',autopunkte='0',boombox='1',sprayti' at line 1
Ich habe nun den Code den der mir in dem Server Log ausgibt mal direkt in der Console der MySQL DB eingegeben und da kommt ebenfalls der oben stehende Error.
-
Zitat
Sollte so nun richtig sein.
Leider nein..
wäre es schlimm, wenn man 3 verschiedene Querys zugleich absendet? -
Das Komma, welches die verschiedenen Spalten trennt, habe ich hinzugefügt.
Ich seh da keine Verändernung..
Im Script habe ich das so und es geht nicht:
new query[3000];
format(query, sizeof(query),"UPDATE user SET score='%i',geld='%i',adminlevel='%i',fraktion='%i',wanteds='%i',bank='%i',autoschein='%i',kampfstyle='%i',jobid='%i',arbeitslosengeld='%i',rank='%i', \
neu='%i',skin='%i',payday='%i',biz='%i',tban='%i',casinochips='%i',prison='%i',prisontime='%i',ausweis='%i',herkunft='%i',staatsange='%i',wohnort='%i',alter='%i',knastaufenthalt='%i', \
pdtickets='%i',autopunkte='%i',boombox='%i',sprayticket='%i',ausweisgultig='%s' WHERE id='%i'",
pscore[playerid],pgeld[playerid],padminlvl[playerid],pfraktion[playerid],pwanteds[playerid],pbank[playerid],fuhrerschein[playerid],pkampfstyle[playerid],jobid[playerid],arbeitslosengeld[playerid],
prank[playerid],neu[playerid],pskin[playerid],npayday[playerid],pbiz[playerid],timeban[playerid],casinochips[playerid],knastid[playerid],knastzeit[playerid],ausweis[playerid],herkunft[playerid],
staatsan[playerid],wohnort[playerid],alter[playerid],kaufenthalt[playerid],tickets[playerid],autopunkte[playerid],boombox[playerid],sprayticket[playerid],gultigbis[playerid],idx[playerid]);mysql_tquery(DB,query,"","");
Aber das ist doch nicht anders als bei ihnen (dir) oder? -
So wäre der Query richtig.
http://pastebin.com/vhzkDLNH
ahm.. was ist jetzt anders daran, als das was ich habe? -
Also muss das dann so?
"......,`ausweisgultig`='%s' WHERE id='%i'",//edit:
Funktioniert immer noch nicht..
-> Kommt der selbe Fehler -
Zitat
Sinnvoll wäre es auch Anführungszeichen nur bei Strings zu benutzen, so ist es von MySQL auch vorgesehen. Ein Integer benötigt soetwas nicht.
Ist das denn ein "muss"? -
Ok habs jetzt erst gesehen.
Hier einmal die MySQL Log:
Code[13:33:03] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'neu='1',skin='119',payday='29',biz='0',tban='1',casinochips='0',prison='0',priso' at line 1
Und hier die Server Log:
Code[13:33:03] Query: UPDATE user SET score='297',geld='10267',adminlevel='8',fraktion='1',wanteds='0',bank='1145411',autoschein='1',kampfstyle='5',jobid='2',arbeitslosengeld='0',rank='10' neu='1',skin='119',payday='29',biz='0',tban='1',casinochips='0',prison='0',prisontime='0',ausweis='1',herkunft='3',staatsange='1',wohnort='2',alter='28',knastaufenthalt='0', pdtickets='0',autopunkte='0',boombox='1',sprayticket='3',ausweisgultig='03.02.2014' WHERE id='6'
Hoffe du kannst mir helfen
-
Pass auf mach das ganze doch in einen format:
new query[2048];format(query, sizeof(query),"UPDATE user SET score='%i',geld='%i',adminlevel='%i',fraktion='%i',wanteds='%i',bank='%i',autoschein='%i',kampfstyle='%i',jobid='%i',arbeitslosengeld='%i',rank='%i' \
neu='%i',skin='%i',payday='%i',biz='%i',tban='%i',casinochips='%i',prison='%i',prisontime='%i',ausweis='%i',herkunft='%i',staatsange='%i',wohnort='%i',alter='%i',knastaufenthalt='%i',\
pdtickets='%i',autopunkte='%i',boombox='%i',sprayticket='%i',ausweisgultig='%s' WHERE id='%i'",
pscore[playerid],
pgeld[playerid],
padminlvl[playerid],
pfraktion[playerid],
pwanteds[playerid],
pbank[playerid],
fuhrerschein[playerid],
pkampfstyle[playerid],
jobid[playerid],
arbeitslosengeld[playerid],
prank[playerid],neu[playerid],
pskin[playerid],npayday[playerid],
pbiz[playerid],timeban[playerid],
casinochips[playerid],
knastid[playerid],
knastzeit[playerid],
ausweis[playerid],
herkunft[playerid],
staatsan[playerid],
wohnort[playerid],
alter[playerid],
kaufenthalt[playerid],
tickets[playerid],
autopunkte[playerid],
boombox[playerid],
sprayticket[playerid],
gultigbis[playerid],
idx[playerid]);
mysql_tquery(DB,query,"","");Das funktioniert aber irgendwie nicht
Ich komm echt net mehr weiter -
nun habe ich das so:
new query[2000];
format(query, sizeof(query),"UPDATE user SET score='%i',geld='%i',adminlevel='%i',fraktion='%i',wanteds='%i',bank='%i',autoschein='%i',kampfstyle='%i',jobid='%i',arbeitslosengeld='%i',rank='%i',",pscore[playerid],pgeld[playerid],padminlvl[playerid],pfraktion[playerid],pwanteds[playerid],pbank[playerid],fuhrerschein[playerid],pkampfstyle[playerid],jobid[playerid],arbeitslosengeld[playerid],prank[playerid]);
strcat(query, "neu='%i',skin='%i',payday='%i',biz='%i',tban='%i',casinochips='%i',prison='%i',prisontime='%i',ausweis='%i',herkunft='%i',staatsange='%i',wohnort='%i',alter='%i',knastaufenthalt='%i',", neu[playerid],pskin[playerid],npayday[playerid],pbiz[playerid],timeban[playerid],casinochips[playerid],knastid[playerid],knastzeit[playerid],ausweis[playerid],herkunft[playerid],staatsan[playerid],wohnort[playerid],alter[playerid],kaufenthalt[playerid]);
strcat(query, "pdtickets='%i',autopunkte='%i',boombox='%i',sprayticket='%i',ausweisgultig='%s' WHERE id='%i'", tickets[playerid],autopunkte[playerid],boombox[playerid],sprayticket[playerid],gultigbis[playerid],idx[playerid]);
mysql_tquery(DB,query,"","");und bekomme folgende Warnings:
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase18 Warnings.