haus System macht nicht das was ich will *-*

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
    Also ich habe das Haus System von "Black Game"
    Und ich will da nun eine Variable rein bauen, eher gesaht 2


    einmal wenn man ein Haus Gekauft hat, das man dann in der Ini Stehen hat, "Haus=1" und wenn man kein Haus hat "Haus=0"


    Also
    aber nun zum Problem
    Ich wil nun rein bauen, das wenn man ein Haus hat, das man dann keins Mehr Kaufen kann.
    Ich habe es so Versucht
    ocmd:hauskaufen(playerid,params[])
    {
    GetPVarInt(playerid,"Haus",1) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du Besitzt schon ein Haus"); // Zeile 475
    #pragma unused params
    new hName[100];
    new Float: hx, Float: hy, Float: hz;
    new inbesitz, preis;
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pName, sizeof(pName));
    for(new h = 0; h < MAX_HOUSES; h++)
    {
    format(hName, sizeof(hName), "House/Haus%d.ini", h);
    if(fexist(hName))
    {
    hx = dini_Float(hName, "hx");
    hy = dini_Float(hName, "hy");
    hz = dini_Float(hName, "hz");
    if(IsPlayerInRangeOfPoint(playerid, 3, hx, hy, hz))
    {
    inbesitz = dini_Int(hName, "InBesitz");
    preis = dini_Int(hName, "Preis");
    if(inbesitz == 0)
    {
    if(GetPlayerMoney(playerid) >= preis)
    {
    GivePlayerMoney(playerid, GetPlayerMoney(playerid) - preis);
    dini_IntSet(hName, "InBesitz", 2);
    dini_IntSet(hName, "Preis", 0);
    dini_Set(hName, "Besitzer", pName);
    //Dem Spieler wird das Haus zugeteilt usw..
    UpdateHouse(h);
    SendClientMessage(playerid, Rot, "Du hast dieses Haus nun erfolgreich gekauft.");
    }
    else
    {
    SendClientMessage(playerid, Rot, "Du hast nicht genug Geld um dieses Haus zu kaufen.");
    SetPVarInt(playerid,"Haus",1);
    }
    }
    else
    {
    SendClientMessage(playerid, Rot, "Dieses Haus steht nicht zum Verkauf bereit.");
    }
    }
    }
    } // Zeile 519
    }


    Aber da bekomme ich diese Errors
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(475) : warning 202: number of arguments does not match definition
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(475) : error 001: expected token: ";", but found "return"
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(477) : warning 225: unreachable code
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(519) : warning 209: function "ocmd_hauskaufen" should return a value
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Kann mir da jemand Helfen ?


    PS: ich bin auch auf der Suche nach einem /verkaufen befehl, denn dieser war meines wissens nicht dabei beim Filter Script,
    Ich wäre sehr Dankbar, wenn mir jemand so nen Befehl machen kann, denn ich bin i-wie zu Doof dafür xD


    Danke im Vorraus
    Gruß
    Dr.Turk

  • Bei zeile 475 musst du eine "if" abfrage reinpacken.


    bei zeile 519 ein "return 1;"

  • habe es nun so
    ocmd:hauskaufen(playerid,params[])
    {
    if(GetPVarInt(playerid,"Haus",1) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du Besitzt schon ein Haus"); // Zeile 475
    #pragma unused params
    new hName[100];
    new Float: hx, Float: hy, Float: hz;
    new inbesitz, preis;
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pName, sizeof(pName));
    for(new h = 0; h < MAX_HOUSES; h++)
    {
    format(hName, sizeof(hName), "House/Haus%d.ini", h);
    if(fexist(hName))
    {
    hx = dini_Float(hName, "hx");
    hy = dini_Float(hName, "hy");
    hz = dini_Float(hName, "hz");
    if(IsPlayerInRangeOfPoint(playerid, 3, hx, hy, hz))
    {
    inbesitz = dini_Int(hName, "InBesitz");
    preis = dini_Int(hName, "Preis");
    if(inbesitz == 0)
    {
    if(GetPlayerMoney(playerid) >= preis)
    {
    GivePlayerMoney(playerid, GetPlayerMoney(playerid) - preis);
    dini_IntSet(hName, "InBesitz", 2);
    dini_IntSet(hName, "Preis", 0);
    dini_Set(hName, "Besitzer", pName);
    //Dem Spieler wird das Haus zugeteilt usw..
    UpdateHouse(h);
    SendClientMessage(playerid, Rot, "Du hast dieses Haus nun erfolgreich gekauft.");
    }
    else
    {
    SendClientMessage(playerid, Rot, "Du hast nicht genug Geld um dieses Haus zu kaufen.");
    SetPVarInt(playerid,"Haus",1);
    }
    }
    else
    {
    SendClientMessage(playerid, Rot, "Dieses Haus steht nicht zum Verkauf bereit.");
    }
    }
    return 1; // Zeile 519
    }


    Aber dann kommt das
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(186) : error 004: function "LoadHouse" is not implemented
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(242) : error 017: undefined symbol "SpielerName"
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(259) : error 017: undefined symbol "isPlayerAnAdmin"
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(263) : error 017: undefined symbol "isPlayerAnAdmin"
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(268) : error 017: undefined symbol "isPlayerAnAdmin"
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(272) : error 017: undefined symbol "isPlayerAnAdmin"
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(277) : error 017: undefined symbol "isPlayerAnAdmin"
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(336) : error 017: undefined symbol "isPlayerInFrakt"
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(341) : error 017: undefined symbol "isPlayerInFrakt"
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(346) : error 017: undefined symbol "isPlayerInFrakt"
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(351) : error 017: undefined symbol "isPlayerInFrakt"
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(360) : error 017: undefined symbol "isPlayerInFrakt"
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(362) : error 017: undefined symbol "sscanf"
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(365) : error 017: undefined symbol "SpielerName"
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(506) : warning 202: number of arguments does not match definition
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(506) : error 001: expected token: ")", but found "return"
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(506) : error 079: inconsistent return types (array & non-array)
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(534) : error 004: function "UpdateHouse" is not implemented
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(548) : warning 217: loose indentation
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(548) : error 079: inconsistent return types (array & non-array)
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(550) : warning 217: loose indentation
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(550) : error 029: invalid expression, assumed zero
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(550) : error 017: undefined symbol "ocmd_hauserstellen"
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(550) : error 029: invalid expression, assumed zero
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(550) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    22 Errors.

  • Code
    ocmd:hauskaufen(playerid,params[]) { GetPVarInt(playerid,"Haus",1) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du Besitzt schon ein Haus"); // Zeile 475  #pragma unused params new hName[100]; new Float: hx, Float: hy, Float: hz; new inbesitz, preis; new pName[MAX_PLAYER_NAME]; GetPlayerName(playerid, pName, sizeof(pName)); for(new h = 0; h < MAX_HOUSES; h++) {     format(hName, sizeof(hName), "House/Haus%d.ini", h);     if(fexist(hName))     {     hx = dini_Float(hName, "hx");     hy = dini_Float(hName, "hy");     hz = dini_Float(hName, "hz");     if(IsPlayerInRangeOfPoint(playerid, 3, hx, hy, hz)) {     inbesitz = dini_Int(hName, "InBesitz");     preis = dini_Int(hName, "Preis");     if(inbesitz == 0)     { if(GetPlayerMoney(playerid) >= preis) { GivePlayerMoney(playerid, GetPlayerMoney(playerid) - preis); dini_IntSet(hName, "InBesitz", 2); dini_IntSet(hName, "Preis", 0); dini_Set(hName, "Besitzer", pName); //Dem Spieler wird das Haus zugeteilt usw.. UpdateHouse(h); SendClientMessage(playerid, Rot, "Du hast dieses Haus nun erfolgreich gekauft."); } else { SendClientMessage(playerid, Rot, "Du hast nicht genug Geld um dieses Haus zu kaufen."); SetPVarInt(playerid,"Haus",1); }     }     else     {     SendClientMessage(playerid, Rot, "Dieses Haus steht nicht zum Verkauf bereit.");     } }     } } // Zeile 519  }
  • kannst du das einrücken ioder so, ich checke da gerade nichts xD