Beiträge von fd849fa292a5

    Du könntest aber auch selber eine Funktion machen.

    #define TANKSTELLE_RADIUS 10.0


    stock SaveMyTankstelle(playerid)
    {
    new File:tanky = fopen("tankstellen.txt", io_append);
    new write[256], Float:posi[3];
    GetPlayerPos(playerid, posi[0], posi[1], posi[2]);
    format(write, sizeof(write), "IsPlayerInRangeOfPoint(playerid, %f, %f, %f, %f)", TANKSTELLE_RADIUS, posi[0], posi[1], posi[2]);
    fwrite(tanky, write);
    fclose(tanky);
    return 1;
    }


    if(strcmp("/savetankstelle", cmdtext, true) == 0)
    {
    return SaveMyTankstelle(playerid);
    }

    Variante 1:

    enum player
    {
    ADMIN,
    };


    new PlayerInfo[MAX_PLAYERS][player];
    //
    PlayerInfo[playerid][ADMIN] = 1;

    Variante 2:



    if(IsPlayerAdmin(playerid))


    // Must dich dafür mit /rcon login (pass) anmelden

    Ich habe mein Check so gemacht:



    stock SpielerName(playerid)
    {
    new name_name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name_name, MAX_PLAYER_NAME);
    return name_name;
    }


    stock IsInvalidName(playerid)
    {
    new inv_name = strfind(SpielerName(playerid), "_", true);
    if(inv_name < 3) return 1;
    new string[24];
    format(string, sizeof(string), "%s", SpielerName(playerid));
    if(string[inv_name+3] == 0) return 1;
    return 0;
    }


    forward ToggleAllPlayerControllable(toggle);


    public ToggleAllPlayerControllable(toggle)
    {
    if(toggle < 0 || toggle > 1) return 0;
    for(new i=0; i < MAX_PLAYERS; i++)
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    TogglePlayerControllable(i, toggle);
    return 1;
    }

    Ich habe ein MySQL Plugin und wollte damit, paar Informationen laden.
    Jedoch scheitert das ganze beim 2ten Haus.


    Code:

    public LoadDatabaseHouses()
    {
    new line[256], string[24], id;
    samp_mysql_select_db("server");
    samp_mysql_query("SELECT * FROM `haus`");
    samp_mysql_store_result();
    while(samp_mysql_fetch_row(line))
    {
    samp_mysql_get_field("hausid", string);
    id = strval(string);
    samp_mysql_get_field("accid", string);
    HouseStream[id][ownerID] = strval(string);
    samp_mysql_get_field("preis", string);
    HouseStream[id][hprice] = strval(string);
    samp_mysql_get_field("verkauf", string);
    HouseStream[id][hsell] = strval(string);
    samp_mysql_get_field("name", string);
    format(HouseStream[id][hname], 24, "%s", string);
    samp_mysql_get_field("interior", string);
    HouseStream[id][hint] = strval(string);
    samp_mysql_get_field("welt", string);
    HouseStream[id][hworld] = strval(string);
    samp_mysql_get_field("enterX", string);
    HouseStream[id][entrX] = floatstr(string);
    samp_mysql_get_field("enterY", string);
    HouseStream[id][entrY] = floatstr(string);
    samp_mysql_get_field("enterZ", string);
    HouseStream[id][entrZ] = floatstr(string);
    if(HouseStream[id][ownerID] == 0)
    {
    CreatePickup(1273, 1, HouseStream[id][entrX], HouseStream[id][entrY], HouseStream[id][entrZ], -1);
    }
    else
    {
    CreatePickup(1272, 1, HouseStream[id][entrX], HouseStream[id][entrY], HouseStream[id][entrZ], -1);
    }
    printf("Haus %d is now avaible.", id);
    if(id == MAX_HOUSES) return 1;
    }
    return 1;
    }


    Resultat:
    Am Ende steht nur: "Haus 1 is now aviable.".
    Das Serverfenster schließt sich gleich nachm Öffnen.

    Wichtig:

    Ich will, dass auch das Haus 2 geladen wird.

    Nur bei den

    AddStaticVehicle(427,1558.9238,-1710.6760,6.0225,0.1176,0,1,15000); // Polizei Entforcer
    AddStaticVehicle (520, 2109.1763, 1503.0453, 32.2887, 82.2873, 0, 1, 15 ); // Auto für immer
    AddStaticVehicle(427,1558.9238,-1710.6760,6.0225,0.1176,0,1,15000); // Polizei Entforcer
    AddStaticVehicle(523,1558.4127,-1692.4966,5.4617,269.3543,0,79,15000); // Cop Bike


    must du ein Ex, dranhängen.

    #define ShowDialogForPlayer(%0,%1,%2,%3,%4,%5,%6,%7) new stringc[256]; format(stringc, sizeof(stringc), %4, %5); ShowPlayerDialog(%0, %1, %2, %3, stringc, %6, %7)
    Damit kann man ein Dialog direkt formatieren. Info: Funktioniert nicht, wenn ein return davor ist!


    Beispiel:
    ShowDialogForPlayer(playerid, 1, 0, "Info", "%s : %d %d", "Meine Wunderzahlen", 1, 2, "Ok", "Abbrechen");