Beiträge von apoolecu

    scheiß Script einfach nur sinnlos das login System für den müll 10-/10



    Sorry aber wer nicht gut Scripten kann für denn ist das auch nichts. Wenn man hier sogar noch eine SEHR SEHR gute Basis für einen RolePlayer Script bekommt
    und diese nicht nutz oder gar nicht nutzen will der ist selber schuld!


    So ist meine Meinung zumindestens..


    MfG: Apoolecu

    ok jetzt erstellt er nur eine Datei aber auch nur mit einem Eintrag, egal wie oft ich den Createhouse befehl ausführe und die Daten werden trotzdem
    nicht gespeichert



    MFG: Apoolecu

    @ Ilex in deinem Code kommen folgende Fehler dann raus:


    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(9415) : error 032: array index out of bounds (variable "house")
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(9416) : error 032: array index out of bounds (variable "house")
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(9417) : error 032: array index out of bounds (variable "house")
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(9418) : error 032: array index out of bounds (variable "house")
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(9419) : error 032: array index out of bounds (variable "house")
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(9420) : error 032: array index out of bounds (variable "house")


    Neo einfach im CMD xyz++ reinhauen? oder wie sehe ich das?


    OK jetzt ist irgendwo ein Bug entweder im CMD oder SaveHouse()


    CMD:
    if(!strcmp(strget(cmdtext,0),"/createhouse"))
    {
    if(IsPlayerConnected(playerid))
    {
    new preish = strval(strget(cmdtext,1));
    new interiorh = strval(strget(cmdtext,2));
    if(!strlen(strget(cmdtext,1))) { SendClientMessage(playerid,COLOR_RED,"Benutzung: /Createhouse [Preis] [Interior]"); return 1; }
    if(!strlen(strget(cmdtext,2))) { SendClientMessage(playerid,COLOR_RED,"Benutzung: /Createhouse [Preis] [Interior]"); return 1; }
    if(preish > 10000000 || preish < 0) { SendClientMessage(playerid,COLOR_RED,"Der Preis darf nicht höher als 10.000.000 SAS oder weniger als 0 SAS sein!"); return 1; }
    new Float:xh, Float:yh, Float:zh, string[256];
    GetPlayerPos(playerid, xh, yh, zh);
    CreatePickup(1272,23,xh,yh,zh);
    SendClientMessage(playerid, COLOR_GREEN,"Du hast ein Haus erstellt.");
    format(string, 255,"Kordinaten: X(%d), Y(%d), Z(%d).",xh,yh,zh);
    SendClientMessage(playerid, COLOR_GREEN,string);
    hausid ++;
    house[hausid][Preis] = preish;
    house[hausid][Interior] = interiorh;
    house[hausid][Besitzer] = 1;
    house[hausid][Float:housex] = xh;
    house[hausid][Float:housey] = yh;
    house[hausid][Float:housez] = zh;
    SaveHouse();
    }return 1; }


    SaveHouse()
    public SaveHouse()
    {
    for(new i = 0; i < MAX_HOUSE; i++)
    {
    new string3[32];
    format(string3, sizeof(string3), "/haeuser/%d.haus", i);
    new File: hFile = fopen(string3, io_write);
    if (hFile)
    {
    new var[32];
    format(var, 32, "Float:x=%d\n",house[i][Float:housex]);fwrite(hFile, var);
    format(var, 32, "Float:y=%d\n",house[i][Float:housey]);fwrite(hFile, var);
    format(var, 32, "Float:z=%d\n",house[i][Float:housez]);fwrite(hFile, var);
    format(var, 32, "Preis=%d\n",house[i][Preis]);fwrite(hFile, var);
    format(var, 32, "Interior=%d\n",house[i][Interior]);fwrite(hFile, var);
    format(var, 32, "Besitzer=%s\n",house[i][Besitzer]);fwrite(hFile, var);
    fclose(hFile);
    }
    }
    return 1;
    }


    denn es werden auf einmal 499 .haus datein erstellt ohne die Cords sprich bei bei Preis usw. steht einfach 0 -.-

    ich möchte aber nicht das man die ID an geben muss weil wenn jemand die id 2 mal eingibt, dann sind ja 2 Datein da, wo dann ein Fehler enstehen lassen ich möchte nur das man den Preis und das Interior angeben muss xDD und das die ID selber bestimmt wird

    if(!strcmp(strget(cmdtext,0),"/createhouse"))
    {
    if(IsPlayerConnected(playerid))
    {
    new preish = strval(strget(cmdtext,1));
    new interiorh = strval(strget(cmdtext,2));
    if(!strlen(strget(cmdtext,1))) { SendClientMessage(playerid,COLOR_RED,"Benutzung: /Createhouse [Preis] [Interior]"); return 1; }
    if(!strlen(strget(cmdtext,2))) { SendClientMessage(playerid,COLOR_RED,"Benutzung: /Createhouse [Preis] [Interior]"); return 1; }
    if(preish > 10000000 || preish < 0) { SendClientMessage(playerid,COLOR_RED,"Der Preis darf nicht höher als 10.000.000 SAS oder weniger als 0 SAS sein!"); return 1; }
    new Float:xh, Float:yh, Float:zh, string[256];
    GetPlayerPos(playerid, xh, yh, zh);
    CreatePickup(1272,23,xh,yh,zh);
    SendClientMessage(playerid, COLOR_GREEN,"Du hast ein Haus erstellt.");
    format(string, 255,"Kordinaten: X(%d), Y(%d), Z(%d).",xh,yh,zh);
    SendClientMessage(playerid, COLOR_GREEN,string);
    house[][Preis] = preish;
    house[MAX_HOUSE][Interior] = interiorh;
    house[MAX_HOUSE][Besitzer] = NOOWNER;
    house[MAX_HOUSE][Float:housex] = xh;
    house[MAX_HOUSE][Float:housey] = yh;
    house[MAX_HOUSE][Float:housez] = zh; <---- was muss da statt MAX_HOUSES rein??
    SaveHouse();
    }

    So das Problem ist nun gelöst danke an alle wo geholfen haben ;)


    so nun möchte ich in einem CMD ja den Owner etc. bestimmen ;) nun habe ich aber ein Problem
    was soll ich bei house[WASSOLLDAREIN?!][Preis] oder so in die mit zwischen [] rein?

    Moin,


    @ Alex:


    Dein Code gibt nun n paar Fehler mehr aus ;) :


    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12620) : warning 213: tag mismatch
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12626) : error 017: undefined symbol "x"
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12626) : warning 213: tag mismatch
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12627) : error 017: undefined symbol "y"
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12627) : warning 213: tag mismatch
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12628) : error 017: undefined symbol "z"
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12628) : warning 213: tag mismatch
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12632) : error 017: undefined symbol "x"
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12638) : error 029: invalid expression, assumed zero
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12638) : error 004: function "SaveHouse" is not implemented
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12648) : error 017: undefined symbol "x"
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12648) : error 001: expected token: ",", but found ";"
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12649) : error 017: undefined symbol "y"
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12650) : error 017: undefined symbol "z"
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12651) : error 017: undefined symbol "z"



    Code:
    public LoadHouse()
    {
    for(new i = 0; i < MAX_HOUSE; i++)
    {
    new key[ 256 ] , val[ 256 ];
    new Data[ 256 ];
    new File: hFile = fopen("haeuser/%s.haus", i); // <--- Den Namen der Datei in " " eintragen
    if ( hFile )
    {
    while ( fread( hFile , Data , sizeof( Data ) ) )
    {
    key = ini_GetKey( Data );
    if( strcmp( key , "Float:x" , true ) == 0 ) { val = ini_GetValue( Data ); house[i][Float:x] = floatstr( val ); } //Um koordinaten, also Floats, auszulesen, muss man floatstr(val) verwenden
    if( strcmp( key , "Float:y" , true ) == 0 ) { val = ini_GetValue( Data ); house[i][Float:y] = floatstr( val ); }
    if( strcmp( key , "Float:z" , true ) == 0 ) { val = ini_GetValue( Data ); house[i][Float:z] = floatstr( val ); }
    if( strcmp( key , "Preis" , true ) == 0 ) { val = ini_GetValue( Data ); house[i][Preis] = strval( val ); }
    if( strcmp( key , "Interior", true ) == 0 ) { val = ini_GetValue( Data ); house[i][Interior] = strval ( val ); }
    if( strcmp( key , "Besitzer", true ) == 0 ) { val = ini_GetValue( Data ); strmid(house[i][Besitzer], val, 0, strlen(val)-1, 255); } //Arrays mit z.b Buchstabenwerten werden so ausgelesen
    CreatePickup(1242,23,house[i][Float:x],house[i][Float:y],house[i][Float:z]);
    }
    fclose(hFile);
    }
    }

    Moin,



    dann bekomme ich aber die Fehler herraus:


    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12620) : error 003: declaration of a local variable must appear in a compound block
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12620) : error 017: undefined symbol "key"
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12620) : warning 215: expression has no effect
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12620) : error 001: expected token: ";", but found "]"
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12620) : fatal error 107: too many error messages on one line

    Moin,


    #define MAX_BLENDRAUCH 15 // maximale anzal des objekts


    enum eBlendrauch {
    ID, Float:BlendrauchX, Float:BlendrauchY, Float:BlendrauchZ, sErstellt
    };


    new Blendrauch[MAX_BLENDRAUCH][eBlendrauch];


    //funktion


    stock AddBlendrauch(playerid) {
    new Float:x, Float:y, Float:z, Float:a;
    GetPlayerPos(playerid,x,y,z);
    GetPlayerFacingAngle(playerid, a);
    for(new i = 0; i < sizeof(Blendrauch); i++) {
    if(Blendrauch[i][sErstellt] == 0) {
    Strassensperre[i][StrassensperreX] = x;
    Blendrauch[i][BlendrauchY] = y;
    Blendrauch[i][BlendrauchZ] = z;
    Blendrauch[i][sErstellt] = 1;
    Blendrauch[i][ID] = CreateObject(2780, x, y, z - 0.6, 0.0, 0.0, a - 180.0);
    return 1; // ich hoffe das hier oben (2780)die id des objektes hin mus
    }
    }
    return 0;
    }
    stock RemoveAllBlendrauch() {
    for(new i = 0; i < sizeof(Blendrauch); i++) {
    if(Blendrauch[i][sErstellt] == 1) {
    Blendrauch[i][sErstellt] = 0;
    Blendrauch[i][BlendrauchX] = 0.0;
    Blendrauch[i][BlendrauchY] = 0.0; //Hier war n S vor dem Blendrauch ;)
    Blendrauch[i][BlendrauchZ] = 0.0;
    DestroyObject(Blendrauch[i][ID]);
    }
    }
    return 0;
    }

    Moin,


    habe mich mal an ein Haus System gehockt und hänge derzeit beim LoadHouse()


    hier der Code


    public LoadHouse()
    {
    for(new i = 0; i < MAX_HOUSE; i++)
    {
    /*new string2[64];
    new File: UserFile = fopen(string2, io_read);
    if ( UserFile )
    new key[ 256 ] , val[ 256 ];
    new Data[ 256 ];
    while ( fread( UserFile , Data , sizeof( Data ) ) )
    {*/
    key = ini_GetKey( Data );
    if( strcmp( key , "Float:x" , true ) == 0 ) { val = ini_GetValue( Data ); house[i][Float:x] = strval( val ); }
    if( strcmp( key , "Float:y" , true ) == 0 ) { val = ini_GetValue( Data ); house[i][Float:y] = strval( val ); }
    if( strcmp( key , "Float:z" , true ) == 0 ) { val = ini_GetValue( Data ); house[i][Float:z] = strval( val ); }
    if( strcmp( key , "Preis" , true ) == 0 ) { val = ini_GetValue( Data ); house[i][Preis] = strval( val ); }
    if( strcmp( key , "Interior", true ) == 0 ) { val = ini_GetValue( Data ); house[i][Interior] = strval ( val ); }
    if( strcmp( key , "Besitzer", true ) == 0 ) { val = ini_GetValue( Data ); house[i][Besitzer] = strval ( val ); }
    CreatePickup(1242,23,house[i][Float:x,house[i][Float:y],house[i][Float:z]);
    }//end while
    fclose(UserFile);//close the file after everything has been read in the while
    }
    }


    Die Fehler :


    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12624) : error 017: undefined symbol "key"
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12624) : error 017: undefined symbol "Data"
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12625) : error 017: undefined symbol "key"
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12625) : error 017: undefined symbol "val"
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12625) : error 017: undefined symbol "Data"
    C:\Users\Christian\Desktop\SA-MPRc7\gamemodes\rl.pwn(12625) : fatal error 107: too many error messages on one line


    Mit der LoadHouse() funktion möchte ich, das die .haus datein Geladen werden und dann Pickups erstellt werden ;)


    komm aber gerade nicht weiter :O


    MfG: Apoolecu

    er möchte aber nix von einem Admin er möchte nur das es bei GENAU diesem User namen was passiert und nicht bei jedem wo z.B. Admin lvl 1 hat oder so!!!!
    LESEN Bildet -.-


    Lösung:


    new playernamecheck[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playernamecheck, sizeof(playernamecheck)); //Hier wird nach dem Spieler Namen gefragt.
    if(strcmp("Blub",playernamecheck, true) == 0) //wenn der Spieler Name Blub ist, passiert nun dies
    {
    SendClientMessage(playerid, IrgendeineFarbe,"Du bekommst nun eine Waffe");
    GivePlayerWeapon(playerid, Waffe, ammu);
    return 1;
    }