Beiträge von Jeffry

    OnGameModeInit:
    SetTimer("TextdrawTimer", 1000, true);


    Unten im Gamemode:
    forward TextdrawTimer();
    public TextdrawTimer()
    {
    new
    Float:health,
    string[25];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerInAnyVehicle(i))
    {
    GetVehicleHealth(GetPlayerVehicleID(i), health);
    format(string,sizeof(string), "Fahrzeug: %.0f%s", health/10.0, "%");
    PlayerTextDrawSetString(i, healthText[i], string);
    PlayerTextDrawShow(i, healthText[i]);
    }
    }
    return 1;
    }

    Das musst du in einem Timer machen, nicht bei OnPlayerEnterVehicle. Erstens wird das nur einmal aufgerufen, wenn man ENTER drückt beim einsteigen, und zweitens ist man zu dem Zeitpunkt als das aufgerufen wird noch gar nicht im Fahrzeug.

    for (new id = 0, j = 1000; id < j; id++)
    {
    printf("id: %d | j: %d | Valid: %d | World: %d", id, j, IsValidDynamicObject(id), Streamer_GetIntData(STREAMER_TYPE_OBJECT, id, E_STREAMER_WORLD_ID));
    if(IsValidDynamicObject(id) && Streamer_GetIntData(STREAMER_TYPE_OBJECT, id, E_STREAMER_WORLD_ID) <= 89)
    {
    printf("Destroy");
    DestroyDynamicObject(id);
    }
    }
    print("Fertig.");
    Versuche es mal so. Das CountItems hat 0 ausgegeben. :wacko:


    => Soweit ich weiß nicht, nein.

    for (new id = 0, j = Streamer_CountItems(STREAMER_TYPE_OBJECT); id < j; id++)
    {
    printf("id: %d | j: %d | Valid: %d | World: %d", id, j, IsValidDynamicObject(id), Streamer_GetIntData(STREAMER_TYPE_OBJECT, id, E_STREAMER_WORLD_ID));
    if(IsValidDynamicObject(id) && Streamer_GetIntData(STREAMER_TYPE_OBJECT, id, E_STREAMER_WORLD_ID) <= 89)
    {
    printf("Destroy");
    DestroyDynamicObject(id);
    }
    }
    print("Fertig.");
    Was wird dir so geprintet?


    Nein, bei CreateObject's geht das nicht. Am sinnvollsten wäre es aber, wenn du die PWN dazu hättest.

    Ich hatte es jetzt mal Probiert, klappt leider nicht so ganz.


    for (new id = 0, j = Streamer_CountItems(STREAMER_TYPE_OBJECT); id < j; id++)
    {
    if(IsValidDynamicObject(id) && Streamer_GetIntData(STREAMER_TYPE_OBJECT, id, E_STREAMER_WORLD_ID) <= 89)
    {
    DestroyDynamicObject(id);
    }
    }
    Versuche es so.


    Heav3n: Das ist schon an der Code Größe keine kleine Frage mehr. Mache bitte einen Thread auf.

    ocmd:testrandom(playerid)
    {
    new haus_random, string[80];
    haus_random=1+random(30);
    for(new i=0; i<sizeof(hInfo); i++)
    {
    if(hInfo[i][h_id]==haus_random)
    {
    SetPlayerCheckpoint(playerid,hInfo[i][h_x], hInfo[i][h_y], hInfo[i][h_z],1.0);
    format(string,sizeof(string),"* Random Hausnummer: %d",haus_random);
    SendClientMessage(playerid,COLOR_GREEN,string);
    return 1;
    }
    }
    return ocmd_testrandom(playerid);
    }


    Beachte aber, dass so eine theoretische Chance besteht, dass der Code endlos lange läuft.

    Wenn du jemanden hast, der die pwn Datei hat, dann wäre die Methode die BlackAce vorgeschlagen hat am sinnvollsten.


    Wenn nicht, dann kannst du die Objekte auch nicht in Welten setzen, dann musst du es mit entsprechenden Flächen machen, in denen Umkreisen du die Objekte eben entfernst, wie erklärt.
    Je nach dem was auf dich zutrifft.


    EDIT:
    Dann geht es nur über den Umkreis, oder eben Flächen, vom Prinzip das gleiche, ein Umkreis ist ja auch eine Fläche.

    Ja.
    So:
    new sql[512];
    format(sql, sizeof(sql), "UPDATE hauser SET");
    for(new i=1; i<30; i++) format(sql, sizeof(sql), "%s Mieter%d = '-', ", sql, i);
    format(sql, sizeof(sql), "%s Mieter30 = '-' WHERE ID = '%d'", sql, HausIDErstellen);
    mysql_query(sql);

    new Float:KD = pInfo[fromplayerid][pKills] / pInfo[fromplayerid][pTode];
    zu:
    new tode = pInfo[fromplayerid][pTode];
    if(tode == 0) tode = 1;
    new Float:KD = pInfo[fromplayerid][pKills] / tode;


    Versuch es mal so, vielleicht war das schon das Problem, dass du durch 0 geteilt hast.