[Problem] mit fcarcreate

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
  • Hallo Bortfische,


    Ich habe folgendes Problem, bei mir wird kein Fraktionscar beim kauf erstellt erstellt.


    enum fracVehEnum {
    e_modelID,
    Float:e_x,
    Float:e_y,
    Float:e_z,
    Float:e_a,
    e_color1,
    e_color2,
    e_fracID,
    e_vID
    };


    fcarcreate(fraktionid,modelid,Float:x,Float:y,Float:z,Float:a,color1,color2)
    {
    for(new i=0; i<MAX_FRAC_VEHICLES; i++)
    {
    if(fracVehicle[i][e_vID] == 0)
    {
    fracVehicle[i][e_modelID] = modelid;
    fracVehicle[i][e_x] = x;
    fracVehicle[i][e_y] = y;
    fracVehicle[i][e_z] = z;
    fracVehicle[i][e_a] = a;
    fracVehicle[i][e_color1] = color1;
    fracVehicle[i][e_color2] = color2;
    fracVehicle[i][e_fracID] = fraktionid;
    new query[256];
    format(query, sizeof(query), "INSERT INTO FracVehicles (ID, ModelID, PosX, PosY, PosZ, PosA, Color1, Color2, FracID) VALUES ('%d', '%d', '%f', '%f', '%f', '%f', '%d', '%d', '%d')",
    i, fracVehicle[i][e_modelID], fracVehicle[i][e_x], fracVehicle[i][e_y], fracVehicle[i][e_z], fracVehicle[i][e_a], fracVehicle[i][e_color1], fracVehicle[i][e_color2], fracVehicle[i][e_fracID]);
    mysql_query(dbhandle, query);
    fracVehicle[i][e_vID] = CreateVehicle(fracVehicle[i][e_modelID], fracVehicle[i][e_x], fracVehicle[i][e_y], fracVehicle[i][e_z], fracVehicle[i][e_a], fracVehicle[i][e_color1], fracVehicle[i][e_color2], -1);
    return 1;
    }
    }
    return 1;
    }


    if(dialogid==DIALOG_BUYFRAKCAR)
    {
    if(response)
    {
    //Autoverkauf
    new id=GetPVarInt(playerid,"buyCarID");
    if(GetPlayerMoney(playerid)<ahCars[id][c_preis])
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast nicht genügend Geld.");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    giveplayermoney(playerid,-ahCars[id][c_preis]);
    createPlayerCar(playerid,ahCars[id][model],ahInfo[ahCars[id][ah_id]][s_x],ahInfo[ahCars[id][ah_id]][s_y],ahInfo[ahCars[id][ah_id]][s_z],ahInfo[ahCars[id][ah_id]][s_r]);
    SendClientMessage(playerid,COLOR_RED,"Herzlichen Glückwunsch zum neuen Auto");
    RemovePlayerFromVehicle(playerid);
    }
    else
    {
    //Autoverkauf
    new id=GetPVarInt(playerid,"buyCarID");
    if(GetPlayerMoney(playerid)<ahCars[id][c_preis])
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast nicht genügend Geld.");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    giveplayermoney(playerid,-ahCars[id][c_preis]);
    //createPlayerCar(playerid,ahCars[id][model],ahInfo[ahCars[id][ah_id]][s_x],ahInfo[ahCars[id][ah_id]][s_y],ahInfo[ahCars[id][ah_id]][s_z],ahInfo[ahCars[id][ah_id]][s_r]);
    fcarcreate(sInfo[playerid][fraktion],ahCars[id][model],ahInfo[ahCars[id][ah_id]][s_x],ahInfo[ahCars[id][ah_id]][s_y],ahInfo[ahCars[id][ah_id]][s_z],ahInfo[ahCars[id][ah_id]][s_r],-1,-1);
    SendClientMessage(playerid,COLOR_RED,"Herzlichen Glückwunsch zum neuen Auto");
    RemovePlayerFromVehicle(playerid);
    }
    }


    Ich hoffe es kan mir jemand helfen :D


    MFG German_ScripterHD


    Mit freundlichen Grüßen
    German_ScripterHD

  • Leider geht es immer noch nicht :(
    Wenn ich auf den Button "Fraktion" klicke, wird mir das Geld abgezogen, aber es passiert danach nichts ;(


    momentan Codes:


    //So sieht der Dialog im Autohaus aus:
    ShowPlayerDialog(playerid,DIALOG_BUYFRAKCAR,0,"Autokauf Privat/Fraktion","Möchtest du dieses Auto für die Fraktion oder Privat kaufen?","Privat","Fraktion");


    //Unter OnDialogResponse:
    if(dialogid==DIALOG_BUYFRAKCAR)
    {
    if(response)
    {
    //Autoverkauf
    new id=GetPVarInt(playerid,"buyCarID");
    if(GetPlayerMoney(playerid)<ahCars[id][c_preis])
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast nicht genügend Geld.");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    giveplayermoney(playerid,-ahCars[id][c_preis]);
    createPlayerCar(playerid,ahCars[id][model],ahInfo[ahCars[id][ah_id]][s_x],ahInfo[ahCars[id][ah_id]][s_y],ahInfo[ahCars[id][ah_id]][s_z],ahInfo[ahCars[id][ah_id]][s_r]);
    SendClientMessage(playerid,COLOR_RED,"Herzlichen Glückwunsch zum neuen Auto");
    RemovePlayerFromVehicle(playerid);
    }
    else
    {
    //Autoverkauf
    new id=GetPVarInt(playerid,"buyCarID");
    if(GetPlayerMoney(playerid)<ahCars[id][c_preis])
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast nicht genügend Geld.");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    giveplayermoney(playerid,-ahCars[id][c_preis]);// DAS GELD WIRD MIR ABGEZOGEN!!! DANACH PASSIERT ZUMINDEST NICHTS MEHR.
    fcarcreate(sInfo[playerid][fraktion],ahCars[id][model],ahInfo[id][s_x],ahInfo[id][s_y],ahInfo[id][s_z],ahInfo[id][s_r],-1,-1);
    SendClientMessage(playerid,COLOR_RED,"Herzlichen Glückwunsch zum neuen Auto");
    RemovePlayerFromVehicle(playerid);
    }
    }
    //Funktion fcarcreate:
    fcarcreate(fraktionid,modelid,Float:x,Float:y,Float:z,Float:a,color1,color2)
    {
    for(new i=0; i<MAX_FRAC_VEHICLES; i++)
    {
    if(fracVehicle[i][e_vID] == 0)
    {
    fracVehicle[i][e_modelID] = modelid;
    fracVehicle[i][e_x] = x;
    fracVehicle[i][e_y] = y;
    fracVehicle[i][e_z] = z;
    fracVehicle[i][e_a] = a;
    fracVehicle[i][e_color1] = color1;
    fracVehicle[i][e_color2] = color2;
    fracVehicle[i][e_fracID] = fraktionid;
    new query[256];
    format(query, sizeof(query), "INSERT INTO FracVehicles (ID, ModelID, PosX, PosY, PosZ, PosA, Color1, Color2, FracID) VALUES ('%d', '%d', '%f', '%f', '%f', '%f', '%d', '%d', '%d')",
    i, fracVehicle[i][e_modelID], fracVehicle[i][e_x], fracVehicle[i][e_y], fracVehicle[i][e_z], fracVehicle[i][e_a], fracVehicle[i][e_color1], fracVehicle[i][e_color2], fracVehicle[i][e_fracID]);
    mysql_query(dbhandle, query);
    fracVehicle[i][e_vID] = CreateVehicle(fracVehicle[i][e_modelID], fracVehicle[i][e_x], fracVehicle[i][e_y], fracVehicle[i][e_z], fracVehicle[i][e_a], fracVehicle[i][e_color1], fracVehicle[i][e_color2], -1);
    return 1;
    }
    }
    return 1;
    }


    Ich hoffe es kann mir jemand helfen :D


    MFG German_ScripterHD


    Mit freundlichen Grüßen
    German_ScripterHD

  • Dann ändere es zu:
    printf("playerid: %d | id: %d", playerid, id);
    printf("ah_id: %d | max: %d", ahCars[id][ah_id], sizeof(ahInfo));
    printf("fcarcreate");
    fcarcreate(sInfo[playerid][fraktion],ahCars[id][model],ahInfo[ahCars[id][ah_id]][s_x],ahInfo[ahCars[id][ah_id]][s_y],ahInfo[ahCars[id][ah_id]][s_z],ahInfo[ahCars[id][ah_id]][s_r],-1,-1);


    Und:
    fcarcreate(fraktionid,modelid,Float:x,Float:y,Float:z,Float:a,color1,color2)
    {
    printf("aufgerufen");
    for(new i=0; i<MAX_FRAC_VEHICLES; i++)
    {
    printf("i: %d | vid: %d", i, fracVehicle[i][e_vID]);
    if(fracVehicle[i][e_vID] == 0)
    {
    fracVehicle[i][e_modelID] = modelid;
    fracVehicle[i][e_x] = x;
    fracVehicle[i][e_y] = y;
    fracVehicle[i][e_z] = z;
    fracVehicle[i][e_a] = a;
    fracVehicle[i][e_color1] = color1;
    fracVehicle[i][e_color2] = color2;
    fracVehicle[i][e_fracID] = fraktionid;
    new query[256];
    format(query, sizeof(query), "INSERT INTO FracVehicles (ID, ModelID, PosX, PosY, PosZ, PosA, Color1, Color2, FracID) VALUES ('%d', '%d', '%f', '%f', '%f', '%f', '%d', '%d', '%d')",
    i, fracVehicle[i][e_modelID], fracVehicle[i][e_x], fracVehicle[i][e_y], fracVehicle[i][e_z], fracVehicle[i][e_a], fracVehicle[i][e_color1], fracVehicle[i][e_color2], fracVehicle[i][e_fracID]);
    mysql_query(dbhandle, query);
    fracVehicle[i][e_vID] = CreateVehicle(fracVehicle[i][e_modelID], fracVehicle[i][e_x], fracVehicle[i][e_y], fracVehicle[i][e_z], fracVehicle[i][e_a], fracVehicle[i][e_color1], fracVehicle[i][e_color2], -1);
    return 1;
    }
    }
    return 1;
    }


    Und poste dann was im Log steht, wenn du ein Fahrzeug kaufst.