/createhouse [Godfather] buggt rum

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
  • Guten Tag,


    besitzt jemand zufällig für das Standart Godfather (SoL,LoH usw.) ein funktionierenden createhouse Befehl?
    Mein derzeitiger ist:


    if(strcmp(cmd, "/createhouse", true) == 0)
    {
    if (PlayerInfo[playerid][pAdmin] >= 5)
    {
    for(new i = 0; i < sizeof(HouseInfo); i++)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    HouseInfo[i][hEntrancex] = x;
    HouseInfo[i][hEntrancey] = y;
    HouseInfo[i][hEntrancez] = z;
    HouseInfo[i][hExitx] = 446.1000;
    HouseInfo[i][hExity] = 507.9000;
    HouseInfo[i][hExitz] = 1001.4195;
    HouseInfo[i][hHealthx] = 0;
    HouseInfo[i][hHealthy] = 0;
    HouseInfo[i][hHealthz] = 0;
    HouseInfo[i][hArmourx] = 0;
    HouseInfo[i][hArmoury] = 0;
    HouseInfo[i][hArmourz] = 0;
    HouseInfo[i][hOwner] = 0;
    HouseInfo[i][hDiscription] = 0;
    HouseInfo[i][hValue] = 7000;
    HouseInfo[i][hHel] = 0;
    HouseInfo[i][hArm] = 0;
    HouseInfo[i][hInt] = 12;
    HouseInfo[i][hLock] = 1;
    HouseInfo[i][hOwned] = 0;
    HouseInfo[i][hRooms] = 1;
    HouseInfo[i][hRent] = 1;
    HouseInfo[i][hRentabil] = 1;
    HouseInfo[i][hTakings] = 0;
    HouseInfo[i][hVec] = 0;
    HouseInfo[i][hVcol1] = -1;
    HouseInfo[i][hVcol2] = -1;
    HouseInfo[i][hDate] = 0;
    HouseInfo[i][hLevel] = 5;
    strmid(HouseInfo[i][hOwner], "The State", 0, strlen("The State"), 255);
    SendClientMessage(playerid, COLOR_OOC,"Du hast ein Neues Haus erstellt");
    SendClientMessage(playerid, COLOR_WHITE, "Mit /edit kannst du das Haus Editieren!");
    new string2[128];
    new File: file2;
    file2 = fopen("property.cfg", io_append);
    new string3[450];
    format(string3,sizeof(string3),"%f,%f,%f,%f,%f,%f,%d,%d,%d,%d,%d,%d,%s,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
    HouseInfo[i][hEntrancex],HouseInfo[i][hEntrancey],HouseInfo[i][hEntrancez],HouseInfo[i][hExitx],HouseInfo[i][hExity],
    HouseInfo[i][hExitz],HouseInfo[i][hHealthx],HouseInfo[i][hHealthy],HouseInfo[i][hHealthz],HouseInfo[i][hArmourx],
    HouseInfo[i][hArmoury],HouseInfo[i][hArmourz],HouseInfo[i][hOwner],HouseInfo[i][hDiscription],HouseInfo[i][hValue],
    HouseInfo[i][hHel],HouseInfo[i][hArm],HouseInfo[i][hInt],HouseInfo[i][hLock],HouseInfo[i][hOwned],HouseInfo[i][hRooms],
    HouseInfo[i][hRent],HouseInfo[i][hRentabil],HouseInfo[i][hTakings],HouseInfo[i][hVec],HouseInfo[i][hVcol1],HouseInfo[i][hVcol2],
    HouseInfo[i][hDate],HouseInfo[i][hLevel]);
    fwrite(file2, string3);
    fclose(file2);
    format(string2, sizeof(string2), "[Haus zu verkaufen - %s]\nPreis: $%d\nLevel: %d\n/buyhouse zum kaufen",HouseInfo[i][hDiscription],HouseInfo[i][hValue],HouseInfo[i][hLevel]);
    HouseInfo[i][Text] = Create3DTextLabel(string2,COLOR_FORSELL,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]+1,15.0,0);
    AddStaticPickup(1273, 1, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez], 0);
    pickups++;
    OnPropUpdate();
    return 1;
    }
    }
    return 1;
    }


    Jedoch ist das Problem, das die Houseid immer 0 ist.

    Mit freundlichen Grüßen


    Prain

  • Kurzer Spam: Wie viele Threads willst du noch machen?
    Kannst du nix alleine machen?

  • Wofür gibt es das Wiki zum lernen?
    Hab zwar nichts gegen Anfänger, aber wenn
    man es nicht mal alleine versucht, irgendwas
    hinzubekommen, dann wird es nie was.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Welche Variable steht für die Haus ID ?


    Ich bin mir leider nicht sicher aber ich hab mal das aus dem Script rausgefischt, wo die House ID angezeigt wird das ist der /edit Befehl:


    if(strcmp(cmd, "/edit", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] < 4)
    {
    SendClientMessage(playerid, COLOR_ROTPRAIN, " Du bist nicht befugt !");
    return 1;
    }
    new x_job[256];
    x_job = strtok(cmdtext, idx);
    if(!strlen(x_job)) {
    SendClientMessage(playerid, COLOR_WHITE, "|__________________ Edit __________________|");
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /edit [Name] [Menge] (Für Häuser und Businesses)");
    SendClientMessage(playerid, COLOR_GREY, "Verfügbare Namen: Level, Price, Funds, Products");
    SendClientMessage(playerid, COLOR_WHITE, "|____________________________________________|");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "NUTZE: /edit [Name] [Menge]");
    return 1;
    }
    new proplev = strval(tmp);
    //if(strcmp(x_job,"car",true) == 0)
    for(new i = 0; i < sizeof(HouseInfo); i++)
    {
    if (IsPlayerInRangeOfPoint(playerid,3.0,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
    {
    format(string, sizeof(string), "Haus ID: %d", i);
    SendClientMessage(playerid, COLOR_GRAD2, string);
    if(proplev > 0)
    {
    if(strcmp(x_job,"level",true) == 0)
    {
    HouseInfo[i][hLevel] = proplev;
    }
    else if(strcmp(x_job,"price",true) == 0)
    {
    HouseInfo[i][hValue] = proplev;
    }
    }
    new string2[128];
    if(HouseInfo[i][hOwned] == 0)
    {
    format(string2, sizeof(string2), "[Haus zu verkaufen - %s]\nPreis: $%d\nLevel: %d\n/buyhouse zum kaufen",HouseInfo[i][hDiscription],HouseInfo[i][hValue],HouseInfo[i][hLevel]);
    Update3DTextLabelText(HouseInfo[i][Text],COLOR_FORSELL,string2);
    }
    else if(HouseInfo[i][hOwned] == 1 || HouseInfo[i][hRentabil] == 0)
    {
    format(string2, sizeof(string2), "[Haus]\nBesitzer: %s\nLevel: %d",HouseInfo[i][hOwner],HouseInfo[i][hLevel]);
    Update3DTextLabelText(HouseInfo[i][Text],COLOR_BUYED,string2);
    }
    else if(HouseInfo[i][hOwned] == 1 || HouseInfo[i][hRentabil] >= 1)
    {
    format(string2, sizeof(string2), "[Haus]\nBesitzer: %s\nLevel: %d\nMiete: $%d\nEinmieten mit /rentroom",HouseInfo[i][hOwner],HouseInfo[i][hLevel],HouseInfo[i][hRent]);
    Update3DTextLabelText(HouseInfo[i][Text],COLOR_BUYED,string2);
    }
    }
    }

    Mit freundlichen Grüßen


    Prain

  • if(strcmp(cmd, "/createhouse", true) == 0)
    {
    if (PlayerInfo[playerid][pAdmin] >= 5)
    {
    for(new i = 0; i < sizeof(HouseInfo); i++)
    {
    if(HouseInfo[i][hExists] != 1) {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    HouseInfo[i][hEntrancex] = x;
    HouseInfo[i][hEntrancey] = y;
    HouseInfo[i][hEntrancez] = z;
    HouseInfo[i][hExitx] = 446.1000;
    HouseInfo[i][hExity] = 507.9000;
    HouseInfo[i][hExitz] = 1001.4195;
    HouseInfo[i][hHealthx] = 0;
    HouseInfo[i][hHealthy] = 0;
    HouseInfo[i][hHealthz] = 0;
    HouseInfo[i][hArmourx] = 0;
    HouseInfo[i][hArmoury] = 0;
    HouseInfo[i][hArmourz] = 0;
    HouseInfo[i][hOwner] = 0;
    HouseInfo[i][hDiscription] = 0;
    HouseInfo[i][hValue] = 7000;
    HouseInfo[i][hHel] = 0;
    HouseInfo[i][hArm] = 0;
    HouseInfo[i][hInt] = 12;
    HouseInfo[i][hLock] = 1;
    HouseInfo[i][hOwned] = 0;
    HouseInfo[i][hRooms] = 1;
    HouseInfo[i][hRent] = 1;
    HouseInfo[i][hRentabil] = 1;
    HouseInfo[i][hTakings] = 0;
    HouseInfo[i][hVec] = 0;
    HouseInfo[i][hVcol1] = -1;
    HouseInfo[i][hVcol2] = -1;
    HouseInfo[i][hDate] = 0;
    HouseInfo[i][hLevel] = 5;
    strmid(HouseInfo[i][hOwner], "The State", 0, strlen("The State"), 255);
    SendClientMessage(playerid, COLOR_OOC,"Du hast ein Neues Haus erstellt");
    SendClientMessage(playerid, COLOR_WHITE, "Mit /edit kannst du das Haus Editieren!");
    new string2[128];
    new File: file2;
    file2 = fopen("property.cfg", io_append);
    new string3[450];
    format(string3,sizeof(string3),"%f,%f,%f,%f,%f,%f,%d,%d,%d,%d,%d,%d,%s,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
    HouseInfo[i][hEntrancex],HouseInfo[i][hEntrancey],HouseInfo[i][hEntrancez],HouseInfo[i][hExitx],HouseInfo[i][hExity],
    HouseInfo[i][hExitz],HouseInfo[i][hHealthx],HouseInfo[i][hHealthy],HouseInfo[i][hHealthz],HouseInfo[i][hArmourx],
    HouseInfo[i][hArmoury],HouseInfo[i][hArmourz],HouseInfo[i][hOwner],HouseInfo[i][hDiscription],HouseInfo[i][hValue],
    HouseInfo[i][hHel],HouseInfo[i][hArm],HouseInfo[i][hInt],HouseInfo[i][hLock],HouseInfo[i][hOwned],HouseInfo[i][hRooms],
    HouseInfo[i][hRent],HouseInfo[i][hRentabil],HouseInfo[i][hTakings],HouseInfo[i][hVec],HouseInfo[i][hVcol1],HouseInfo[i][hVcol2],
    HouseInfo[i][hDate],HouseInfo[i][hLevel]);
    fwrite(file2, string3);
    fclose(file2);
    format(string2, sizeof(string2), "[Haus zu verkaufen - %s]\nPreis: $%d\nLevel: %d\n/buyhouse zum kaufen",HouseInfo[i][hDiscription],HouseInfo[i][hValue],HouseInfo[i][hLevel]);
    HouseInfo[i][Text] = Create3DTextLabel(string2,COLOR_FORSELL,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]+1,15.0,0);
    AddStaticPickup(1273, 1, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez], 0);
    pickups++;
    OnPropUpdate();
    return 1;
    }
    }
    }
    return 1;
    }
    Das sollte so funktionieren, dein Fehler war das "return 1;" beim wiederholen. Heißt er läuft einmal durch und dann wars das - deshalb nur Haus ID 0.


    Was du bei meinem Codeschnipsel da brauchst ist noch die Variable "hExists" weil du ja auch wissen solltest ob das Haus nicht schon existiert! :D


  • Wie genau?

    Mit freundlichen Grüßen


    Prain