Beiträge von Jeffry

    Such mal nach "WantedLabel". Das muss irgendwo deklariert sein (new).
    Dann poste die Zeile in der es deklariert wurde.

    Irgendwo in deinem Code steht
    new Text3D:WantedLabel (...)


    ändere das zu:
    new PlayerText3D:WantedLabel




    Und das andere:
    stock EnterToLog(const log[], const logtext[]){
    #pragma unused log
    #pragma unused logtext
    return true;
    }

    Leute! Testet doch euren Code wenn ihr schon zig mal darüber streiten müsst!
    Es kann kein Integer mit einem Float verrechnet werden!!


    sSpieler[playerid][Bank] += floatround(float(sSpieler[playerid][Gehalt]) - float(sSpieler[playerid][Gehalt])*0.1);




    Getestet.

    Das Problem ist ich muss es ja auf meine Speicherungsart(dini) abspeichern. Und dabei werde ich wohl Probleme kriegen


    Ich denke nicht, dass dir das Probleme bereiten wird. Die beiden Systeme (Y_INI und DINI) sind in der Handhabung ziemlich ähnlich, nur ihre Funktionsweise (die interessiert dich aber gar nicht) ist anders. ;)

    Aus über 4 Jahren Erfahrung kann ich dir sagen, dass du das so nie brauchen wirst.


    Die einzige Methode die mir einfällt wäre die, alle Zeilen auszulesen und dann durch das result durchloopen, und dann vergleichen, ob der IP-Wert aus der Datenbank in dem der Spieler-IP vorkommt (strfind von 1 bis strlen(IP-Wert)). Wenn du mal 50.000 Bans hast dann wird dir dein Server dafür sehr dankbar sein wenn er aus einem Query 50.000 Werte zurückgeben muss. Mir ist das aus Versehen mal bei was anderem passiert, da hat es den MySQL-Server schon bei 10.000 zerschossen.
    Ein anderer Weg wäre mir nicht bekannt.

    public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
    {
    if(hittype == BULLET_HIT_TYPE_OBJECT && IsValidObject(hitid))
    {
    DestroyObject(hitid);
    //neues erstellen...
    }
    return 1;
    }


    Vor dem Destroy kannst du ja die Position des Objekts speichern (GetObjectPos).

    Code posten und errors posten. Nur dann können wir dir was erklären. Wir können dir nicht helfen, wenn wir nicht wissen wo du Hilfe benötigst.

    Ach, grade erst aufgefallen bei dem Durcheinander im Code.
    return 1 gehört nicht in die Schleife, das tut ja dann nur für ID 0.


    if(strcmp(cmd, "/schnee", true) == 0)
    {
    if(!isAdmin(playerid,5))return SendClientMessage(playerid,Rot,"Du hast nicht das nötige Adminlevel dafür!");
    new Float:x, Float:y, Float:z;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(Snow[i]==0)
    {
    new Float:Pos[3];
    GetPlayerPos(i,x,y,z);
    SnowObject[i]=CreatePlayerObject(i,18864,x,y,z,0.0,0.0,0.0);
    GetPlayerObjectRot(i,SnowObject[i],Pos[0],Pos[1],Pos[2]);
    MovePlayerObject(i,SnowObject[i],x,y,z,100.0,Pos[0]+(random(5)),Pos[1]+(random(5)),Pos[2]+(random(5)));
    SetPlayerWeather(i,9);
    Snow[i]=1;
    }
    else if(Snow[i]==1)
    {
    Snow[i]=0;
    StopPlayerObject(i,SnowObject[i]);
    DestroyPlayerObject(i,SnowObject[i]);
    }
    }
    return 1;
    }