[MYSQL] Autohaus /buycar problem

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Wenn ich ein auto kaufen wll gebe /buycar ein und mir wird geld abgezocken aber das auto wird net erstellt ;(


    hir der befehl:


    Spoiler anzeigen
    ocmd:buycar(playerid, params[])
    {
    if(!IsPlayerInAnyVehicle(playerid))return SCM(playerid,Rot,"Du bist in keinem Fahrzeug..");
    for(new i=0;i<MAX_VEHICLES;i++)
    {
    if(strcmp(pAutoInfo[i][aBesitzer],PlayerName(playerid),true))continue;
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    for(new c=0; c<sizeof(autokauf); c++)
    {
    new cpreis =autokauf[i][CarPreis];
    new str[128];
    format(str,sizeof(str),"Du besitzt zuwenig geld du benötigst %i", cpreis);
    new autohaus=autokauf[i][Autohaus];
    if(pAutoInfo[i][pKey] < 1)
    {
    if(autokauf[code=c][VEHID]==GetPlayerVehicleID(playerid))
    {
    if(cpreis <= GetPlayerMoney(playerid))
    {
    GivePlayerMoney(playerid,-cpreis);
    pAutoInfo[i][pAUTOPoS_X]=Autospawns[autohaus][pos_x];
    pAutoInfo[i][pAUTOPoS_Y]=Autospawns[autohaus][pos_y];
    pAutoInfo[i][pAUTOPoS_Z]=Autospawns[autohaus][pos_z];
    pAutoInfo[i][pAUTOPoS_A]=Autospawns[autohaus][z_angle];
    pAutoInfo[i][Preis]=cpreis/2;
    pAutoInfo[i][ModelID]=autokauf[code=c][ModelID];
    pAutoInfo[i][reppreis]=autokauf[code=c][RepPreis];
    fahrzeugtun(playerid);
    pAutoInfo[i][pKey]=1;
    pAutoInfo[i][Carid] = AddStaticVehicle(pAutoInfo[i][ModelID],pAutoInfo[i][pAUTOPoS_X],pAutoInfo[i][pAUTOPoS_Y],pAutoInfo[i][pAUTOPoS_Z],pAutoInfo[i][pAUTOPoS_A],-1,-1);
    GetVehicleParamsEx(pAutoInfo[i][Carid],engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(pAutoInfo[i][Carid],VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[pAutoInfo[i][Carid]] = false;
    SendClientMessage(playerid, Gruen, "Mit /carlock kannst du dein Fahrzeug für andere Leute abschließen oder freigeben.");
    SendClientMessage(playerid, Gelb, "Dein Auto steht am Ausgabepunkt bereit! Viel Spaß beim Fahren! Und Beachte die StVo!");
    TogglePlayerControllable(playerid,1);
    RemovePlayerFromVehicle(playerid);
    CreateCar(i);
    SaveCar();
    break;
    }else{SendClientMessage(playerid,Rot,str);}
    }
    }else{SendClientMessage(playerid,Rot,"** Du besitzt doch schon ein Fahrzeug."); return 1;}
    }
    }else{SendClientMessage(playerid,Rot,"Du bist in keinem Autohaus Auto!"); return 1;}
    }
    return 1;
    }

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


  • Das habe ich geänder zu CreareCar(playerid);


    und hir der Stock:


    stock CreateCar(playerid)
    {
    new query[256],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_real_escape_string(Name,Name);
    format(query, sizeof(query), "INSERT INTO `cars` (`Name`) VALUES ('%s')", Name);
    mysql_query(query);
    return true;
    }

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


  • Dazu muss ich aber anmerken:

    Zitat

    You can use this function to add vehicles to your gamemode. This function can only create vehicles in the OnGameModeInit and the OnFilterScriptInit callback. Check CreateVehicle if you are interested in creating vehicles during game-runtime.


    AddStaticVehicle(Ex) kann nur in OnGameModeInit und OnFilterScriptInit verwendet werden, daher benutze während des Spielablaufes CreateVehicle :)


    /EDIT: BBCode..

  • Jo hab aber wird immer noch net erstellet hir der aktuelle /buy Befehl:


    ocmd:buycar(playerid, params[])
    {
    if(!IsPlayerInAnyVehicle(playerid))return SCM(playerid,Rot,"Du bist in keinem Fahrzeug..");
    for(new i=0;i<MAX_VEHICLES;i++)
    {
    if(strcmp(pAutoInfo[i][aBesitzer],PlayerName(playerid),true))continue;
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    for(new c=0; c<sizeof(autokauf); c++)
    {
    new cpreis =autokauf[code=c][CarPreis],str[128];
    GetPlayerName(playerid, pAutoInfo[i][aBesitzer], MAX_PLAYER_NAME);
    format(str,sizeof(str),"Du besitzt zuwenig geld du benötigst %i", cpreis);
    new autohaus=autokauf[code=c][Autohaus];
    if(pAutoInfo[i][pKey] < 1)
    {
    if(autokauf[code=c][VEHID]==GetPlayerVehicleID(playerid))
    {
    if(cpreis <= GetPlayerMoney(playerid))
    {
    GivePlayerMoney(playerid,-cpreis);
    pAutoInfo[i][pAUTOPoS_X]=Autospawns[autohaus][pos_x];
    pAutoInfo[i][pAUTOPoS_Y]=Autospawns[autohaus][pos_y];
    pAutoInfo[i][pAUTOPoS_Z]=Autospawns[autohaus][pos_z];
    pAutoInfo[i][pAUTOPoS_A]=Autospawns[autohaus][z_angle];
    pAutoInfo[i][Preis]=cpreis/2;
    pAutoInfo[i][aBesitzer]=pAutoInfo[i][aBesitzer];
    pAutoInfo[i][ModelID]=autokauf[code=c][ModelID];
    pAutoInfo[i][reppreis]=autokauf[code=c][RepPreis];
    fahrzeugtun(playerid);
    pAutoInfo[i][pKey]=1;
    pAutoInfo[i][Carid]= CreateVehicle(pAutoInfo[i][ModelID],pAutoInfo[i][pAUTOPoS_X],pAutoInfo[i][pAUTOPoS_Y],pAutoInfo[i][pAUTOPoS_Z],pAutoInfo[i][pAUTOPoS_A],-1,-1,-1);
    printf("Fahrzeug: %d wurde von %s erfolgreich gekauft und gespawnt",pAutoInfo[i][ModelID],pAutoInfo[i][aBesitzer]);
    GetVehicleParamsEx(pAutoInfo[i][Carid],engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(pAutoInfo[i][Carid],VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[pAutoInfo[i][Carid]] = false;
    SendClientMessage(playerid, Gruen, "Mit /carlock kannst du dein Fahrzeug für andere Leute abschließen oder freigeben.");
    SendClientMessage(playerid, Gelb, "Dein Auto steht am Ausgabepunkt bereit! Viel Spaß beim Fahren! Und Beachte die StVo!");
    TogglePlayerControllable(playerid,1);
    RemovePlayerFromVehicle(playerid);
    CreateCar(playerid);
    SaveCar();
    loadCar();
    break;
    }else{SendClientMessage(playerid,Rot,str);}
    }
    }else{SendClientMessage(playerid,Rot,"** Du besitzt doch schon ein Fahrzeug."); return 1;}
    }
    }else{SendClientMessage(playerid,Rot,"Du bist in keinem Autohaus Auto!"); return 1;}
    }
    return 1;
    }


    //EDIT: und der Besitzer name wird z.B. ich heiss Fabi.StaR und es wird nur F gespeichert :S

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


  • SaveCar Funktion bitte.



    Hir SaveCar bitte:


    stock SaveCar()
    {
    for(new x=0; x<MAX_VEHICLES; x++)
    {
    new dingsid[10];
    format(dingsid,sizeof(dingsid),"%i",x);
    mysql_SetInt("cars", "Key",pAutoInfo[x][pKey], "vID",dingsid);
    mysql_SetString("cars", "Name",pAutoInfo[x][aBesitzer], "vID",dingsid);
    mysql_SetInt("cars", "VKPreis",pAutoInfo[x][Preis], "vID",dingsid);
    mysql_SetInt("cars", "ReparaturPreis",pAutoInfo[x][reppreis], "vID",dingsid);
    mysql_SetInt("cars", "ModelID",pAutoInfo[x][ModelID], "vID",dingsid);
    mysql_SetInt("cars", "Abgeschleppt",pAutoInfo[x][Abgeschlept], "vID",dingsid);
    mysql_SetInt("cars", "Farbe1",pAutoInfo[x][Farbe1], "vID",dingsid);
    mysql_SetInt("cars", "Farbe2",pAutoInfo[x][Farbe2], "vID",dingsid);
    mysql_SetInt("cars", "Spoiler",pAutoInfo[x][modspoiler], "vID",dingsid);
    mysql_SetInt("cars", "Nitro",pAutoInfo[x][modnitro], "vID",dingsid);
    mysql_SetInt("cars", "Wheels",pAutoInfo[x][modwheels], "vID",dingsid);
    mysql_SetInt("cars", "Lights",pAutoInfo[x][modlights], "vID",dingsid);
    mysql_SetInt("cars", "MotorHaube",pAutoInfo[x][modhood], "vID",dingsid);
    mysql_SetInt("cars", "Auspuff",pAutoInfo[x][modexhaust], "vID",dingsid);
    mysql_SetInt("cars", "Hydraulic",pAutoInfo[x][modhydrau], "vID",dingsid);
    mysql_SetInt("cars", "AutoDach",pAutoInfo[x][modroof], "vID",dingsid);
    mysql_SetInt("cars", "Stereo",pAutoInfo[x][modstereo], "vID",dingsid);
    mysql_SetInt("cars", "Frontstossstange",pAutoInfo[x][modfrontbumper], "vID",dingsid);
    mysql_SetInt("cars", "Heckstossstange",pAutoInfo[x][modrearfumper], "vID",dingsid);
    mysql_SetInt("cars", "VentsLinks",pAutoInfo[x][modventsl], "vID",dingsid);
    mysql_SetInt("cars", "VentsRechts",pAutoInfo[x][modventsr], "vID",dingsid);
    mysql_SetInt("cars", "SchwellerleistenRechts",pAutoInfo[x][modsideskirtr], "vID",dingsid);
    mysql_SetInt("cars", "SchwellerleistenLinks",pAutoInfo[x][modsideskirtl], "vID",dingsid);
    mysql_SetInt("cars", "BullBar",pAutoInfo[x][modbullbar], "vID",dingsid);
    mysql_SetInt("cars", "rearbullbars",pAutoInfo[x][modrearbullbars], "vID",dingsid);
    mysql_SetInt("cars", "frontbullbars",pAutoInfo[x][modfrontbullbars], "vID",dingsid);
    mysql_SetInt("cars", "Stossstangen",pAutoInfo[x][modbullbars], "vID",dingsid);
    mysql_SetInt("cars", "PaintJob",pAutoInfo[x][spaintjobid], "vID",dingsid);
    mysql_SetFloat("cars", "AutoX",pAutoInfo[x][pAUTOPoS_X], "vID",dingsid);
    mysql_SetFloat("cars", "AutoY",pAutoInfo[x][pAUTOPoS_Y], "vID",dingsid);
    mysql_SetFloat("cars", "AutoZ",pAutoInfo[x][pAUTOPoS_Z], "vID",dingsid);
    mysql_SetFloat("cars", "AutoA",pAutoInfo[x][pAUTOPoS_A], "vID",dingsid);
    }
    return 1;
    }

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


  • pack das mal unter CreateVehicle, dann teste es mal, dann siehst du ob es eventuell an den falschen cordinaten steht oder etwas falsch übergeben wird.
    printf("CreateVehicle(%i, %f, %f, %f, %f, -1, -1, -1);", pAutoInfo[i][ModelID], pAutoInfo[i][pAUTOPoS_X],pAutoInfo[i][pAUTOPoS_Y],pAutoInfo[i][pAUTOPoS_Z],pAutoInfo[i][pAUTOPoS_A]);


    Desweiteren, was macht "fahrzeugtun(playerid);"?


    Ich vermute das der Fehler bei loadCar liegt wenn du das Fahrzeug dort nochmal neu ladest.
    Ambesten mal loadCar zeigen ^^