Beiträge von Scripter4.0

    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

    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

    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.

    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? :huh:

    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 :thumbup:



    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 CompuPhase



    18 Warnings.