Beiträge von Jeffry

    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(killerid == INVALID_PLAYER_ID) {
    SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
    SetPlayerScore(playerid,GetPlayerScore(killerid)-1);
    SendClientMessage(playerid,0x98A400FF,"You were Killed by yourself !");
    } else {
    SendDeathMessage(killerid,playerid,reason);
    SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
    new str[144], spname[MAX_PLAYER_NAME];
    GetPlayerName(killerid, spname, MAX_PLAYER_NAME);
    format(str, sizeof(str),"You have Killed %s !", spname);
    SendClientMessage(playerid,0x98A400FF,str);
    }
    return 1;
    }


    Strings mit Platzhaltern müssen formatiert werden.

    if(dialogid==DEIN_DIALOG)
    {
    new count = -1;
    if(response)
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(var[i] == bedingung) count++;
    if(count != listitem) continue;
    //Mache was hier... i = die Spieler ID auf dessen Name du gedrückt hast.
    break;
    }
    }
    }


    Wobei das natürlich nicht den Fall regeln kann, wenn sich die Bedingung ändert, während der Spieler den Dialog offen hat, das würde mit meinem Tutorial gehen, deshalb ist es auch mehr Code.


    if(vehicleid != bus && vehicleid != bus2 && vehicleid != bus3 && vehicleid != bus4)
    {
    saveCars(vehicleid);
    }


    Wenn das Auto nicht bus1 ist und nicht bus2 ist und nicht bus3 ist und nicht bus4 ist, dann speichere.

    dini_Float(Spielerdatei,pPosXE);
    Der zweite Parameter muss ein String sein.


    Je nach dem wie es in deiner Datei steht.
    dini_Float(Spielerdatei,"pPosXE");


    Ansonsten poste mal den Inhalt einer solchen Datei.

    Bei mir kommt bei dem SetPlayerPos Befehl ein Tagmissmatch. Ansonsten klappt alles scheinbar. Kann mir wer sagen wodran das liegt?


    Du bist ja ein Genie, einen 3 Jahre alten Thread zu pushen. :D


    Poste bitte den Code, ohne Code ist hier nämlich nichts los.
    Und nächstes mal mach einen neuen Thread auf.

    OnGameModeInit:
    SetTimer("CheckHealth", 60000, 1);


    Unten im Code:
    forward CheckHealth();
    public CheckHealth()
    {
    new Float:health;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    GetPlayerHealth(i, health);
    if(health <= 30.0 && health > 0.0)
    {
    SendClientMessage(i, COLOR_RED, "Du verlierst Blut, da du weniger als 30% deiner Lebenspunkte hast!");
    SetPlayerHealth(i, health - 3.0);
    }
    }
    }
    return 1;
    }

    Hast du schon versucht die Spawn Position etwas zu ändern? Fahr mal ein paar Meter zurück, oder setze die Z Pos. höher, oder beides. Das scheint mir nicht nach einem Problem im Code, da ich annehme die Position wo es spawnt bevor du dagegenläufst, ist nirgends im Code angegeben.

    tmp_int muss ein Integer sein, wenn du Zahlen eingibst. Du kannst es zwar auch als String machen, aber das macht keinen Sinn.


    ocmd:setint(playerid, params[])
    {
    if(!IsPlayerAnAdmin(playerid, 3))return SendClientMessage(playerid, ERROR, "Dein Adminrang ist zu niedrig.");
    new tmp_int;
    if(sscanf(params, "i", tmp_int))return SendClientMessage(playerid, ERROR, "INFO: /setint [1-14]");
    for(new i=0; i<sizeof(hInfo); i++)
    {
    if(!hInfo[i][h_id])continue;
    if(!IsPlayerInRangeOfPoint(playerid, 2, hInfo[i][h_x], hInfo[i][h_y], hInfo[i][h_z]))continue;
    switch(tmp_int)
    {
    case 1:
    {
    hInfo[i][ih_x] = 244.411987;
    hInfo[i][ih_y] = 305.032989;
    hInfo[i][ih_z] = 999.148437;
    hInfo[i][h_interior] = 1;
    saveHaus(i);
    updateHaus(i);
    return 1;
    }
    case 2://einzimmer
    {
    hInfo[i][ih_x] = 266.4988;
    hInfo[i][ih_y] = 304.9798;
    hInfo[i][ih_z] = 999.1484;
    hInfo[i][h_interior] = 2;
    saveHaus(i);
    updateHaus(i);
    return 1;
    }
    case 3://motelroom
    {
    hInfo[i][ih_x] = 444.646911;
    hInfo[i][ih_y] = 508.239044;
    hInfo[i][ih_z] = 1001.419494;
    hInfo[i][h_interior] = 12;
    saveHaus(i);
    updateHaus(i);
    return 1;
    }
    case 4://B Dup's house
    {
    hInfo[i][ih_x] = 1527.229980;
    hInfo[i][ih_y] = -11.574499;
    hInfo[i][ih_z] = 1002.097106;
    hInfo[i][h_interior] = 3;
    saveHaus(i);
    updateHaus(i);
    return 1;
    }
    case 5://Cj's house
    {
    hInfo[i][ih_x] = 2496.049804;
    hInfo[i][ih_y] = -1695.238159;
    hInfo[i][ih_z] = 1014.742187;
    hInfo[i][h_interior] = 3;
    saveHaus(i);
    updateHaus(i);
    return 1;
    }
    case 6://Og Loc's house
    {
    hInfo[i][ih_x] = 513.882507;
    hInfo[i][ih_y] = -11.269994;
    hInfo[i][ih_z] = 1001.565307;
    hInfo[i][h_interior] = 3;
    saveHaus(i);
    updateHaus(i);
    return 1;
    }
    case 7://Ryders house
    {
    hInfo[i][ih_x] = 2454.717041;
    hInfo[i][ih_y] = -1700.871582;
    hInfo[i][ih_z] = 1013.515197;
    hInfo[i][h_interior] = 2;
    saveHaus(i);
    updateHaus(i);
    return 1;
    }
    }
    return 1;
    }
    return 1;
    }

    ocmd:drogeernten(playerid,params[])
    {
    for(new weed = 0; weed < sizeof(WeedInfo); weed++)
    {
    new string2[120];
    if(IsPlayerInRangeOfPoint(playerid,6.0,WeedInfo[weed][wX],WeedInfo[weed][wY],WeedInfo[weed][wZ]))
    {
    if(WeedInfo[weed][wPlanted] == 1)
    {
    if(WeedInfo[weed][wTime] <= 0)
    {
    ApplyAnimation(playerid, "BOMBER","BOM_Plant_In",4.0,0,0,0,0,0);
    DestroyDynamicObject(WeedInfo[weed][wObject]);
    format(query,sizeof(query),"DELETE FROM drogen WHERE id='%i'",weed);
    mysql_query(query);
    WeedInfo[weed][wX] = 0.0;
    WeedInfo[weed][wY] = 0.0;
    WeedInfo[weed][wZ] = 0.0;
    WeedInfo[weed][wPlanted] = 0;
    SendClientMessage(playerid,COLOR_GREEN,"Du hast die Drogenpflanze erfolgreich abgepflanzt!");
    SpielerInfo[playerid][pDrugsplanted]--;
    Delete3DTextLabel(WeedInfo[weed][Weedlbl]);
    return 1;
    }
    else
    {
    format(string2,sizeof(string2),"Deine Pflanze ist noch nicht fertig du musst noch %d Minuten warten.",WeedInfo[weed][wTime]);
    SendClientMessage(playerid, COLOR_RED, string2);
    return 1;
    }
    }
    }
    }
    SendClientMessage(playerid,COLOR_RED,"Hier ist keine Drogepflanze!");
    return 1;
    }


    Du hast nur die erste Pflanze geprüft, wenn er dort nicht war, kam sofort die Nachricht und der Return.

    Schade.
    Das einzige was du noch testen könntest wäre, einen leeren GameMode zu nehmen, ein Objekt zu erstellen, mit dem Streamer versteht sich, und dann die Edit Funktion aufzurufen. Wenn es dann auch nicht geht, dann liegt es am Streamer. Dann wirst du die Objekte die du für diesen Teil brauchst wohl oder übel statisch machen müssen.


    Mehr weiß ich dazu leider nicht.