Dynamik | Geschäfte

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
  • Hey!
    Und zwar habe ich mich an einen Befehl gesetzt, der nennt sich /createshop.
    Damit soll es möglich sein, Ingame Geschäfte zu erstellen, verwalten und zu entfernen...
    Aktuell besteht der Fehler das wenn ich mehrere Geschäfte erstelle, das die Koordinaten vom ersten Geschäft entnommen wird.


    PWN CODE
    Function CreateShop(playerid, world, shopname[], Float:c_x, Float:c_y, Float:c_z)
    {
    //"24/7 Shop\nAmmunation\nBinco\nVictim\nZip\nBurger Shot\nClucking Bell\nWell Stack Pizza"
    new interior_id, Float:pos[3];
    if(!strcmp(shopname,"24/7",true))
    {
    interior_id = 10;
    pos[0]=6.091179;
    pos[1]=-29.271898;
    pos[2]=1003.549438;
    }
    else if(!strcmp(shopname,"Ammunation",true))
    {
    interior_id = 1;
    pos[0]=286.800994;
    pos[1]=-82.547599;
    pos[2]=1001.515625;
    }
    else if(!strcmp(shopname,"Binco",true))
    {
    interior_id = 15;
    pos[0]=207.737991;
    pos[1]=-109.019996;
    pos[2]=1005.132812;
    }
    else if(!strcmp(shopname,"Victim",true))
    {
    interior_id = 10;
    pos[0]=6.091179;
    pos[1]=-29.271898;
    pos[2]=1003.549438;
    }
    else if(!strcmp(shopname,"Zip",true))
    {
    interior_id = 5;
    pos[0]=226.293991;
    pos[1]=-7.431529;
    pos[2]=1002.210937;
    }
    else if(!strcmp(shopname,"Burger Shot",true))
    {
    interior_id = 10;
    pos[0]=375.962463;
    pos[1]=-65.816848;
    pos[2]=1001.507812;
    }
    else if(!strcmp(shopname,"Clucking Bell",true))
    {
    interior_id = 9;
    pos[0]=369.579528;
    pos[1]=-4.487294;
    pos[2]=1001.858886;
    }
    else if(!strcmp(shopname,"Well Stack Pizza",true))
    {
    interior_id = 5;
    pos[0]=373.825653;
    pos[1]=-117.270904;
    pos[2]=1001.499511;
    }
    printf("CreateShop -> world:%i,shopname:%s,pos:%f,%f,%f playerid: %i | interiorid: %i", world, shopname, c_x, c_y, c_z, playerid, interior_id);
    new query[450];
    mysql_format(Handle, query, sizeof query, "INSERT INTO Business (b_x, b_y, b_z, b_ix, b_iy, b_iz, b_vw, b_int, b_shopname) VALUES (%f, %f, %f, %f, %f, %f, %i, %i, '%s')",
    c_x, c_y, c_z, pos[0], pos[1], pos[2], world, interior_id, shopname);
    mysql_pquery(Handle, query, "", "");
    new business_id = getFreeBInfo();
    bInfo[business_id][b_x] = c_x;
    bInfo[business_id][b_y] = c_y;
    bInfo[business_id][b_z] = c_z;
    bInfo[business_id][b_ix] = pos[0];
    bInfo[business_id][b_iy] = pos[1];
    bInfo[business_id][b_iz] = pos[2];
    bInfo[business_id][b_int] = interior_id;
    bInfo[business_id][b_vw] = world;
    new string[128];
    format(string, sizeof string, "[{00E1FF}%s{FFFFFF}]\nDrücke 'ENTER' um den Laden zu betreten", shopname);
    Create3DTextLabel(string, COLOR_WHITE, c_x, c_y, c_z, 20.0, 0, 1);
    CreateDynamicPickup(19197, 1, c_x, c_y, c_z, 0, 0);
    CreateDynamicPickup(19197, 1, pos[0], pos[1], pos[2], world, interior_id);
    return SendClientMessage(playerid, COLOR_GREEN, "** Du hast erfolgreich einen Laden erstellt **");
    }


    mfg :thumbup:

  • stock getFreeBInfo()
    {
    for(new i;i<sizeof bInfo;i++)
    {
    if(!bInfo[i][b_x] && !bInfo[i][b_y] && !bInfo[i][b_z])return i;
    }
    return 0;
    }
    Schreibe die Funktion mal so.
    Wenn das nicht klappen sollte, dann lasse dir mal business_id printen. (Hinweis: Debugge mehrmals, nicht nur einmal!)
    #edit:
    @CIBERKILLER: Besteht das Problem weiterhin?
    #edit²:
    Hast du das Problem lösen können?

    2 Mal editiert, zuletzt von AirM4X ()


  • Nein, habe das Problem nicht lösen können und es bestehen weiterhin Probleme.


    mfg :thumbup:

  • Du hast mein zweiten Vorschlag nicht befolgt. Lasse dir beim erstellen eines Shops immer die business_id debuggen ;) Das heißt: Erstelle mehrmals Shops damit wir die business_id sehen, ob die sich verändert :)