Beiträge von Jeffry

    Schau mal dort nach, wo du als letztes Änderungen durchgeführt hast, bevor dieser Fehler kam. Das liegt meistens an einem Wort irgendwo im Code wo es keinen Sinn macht.
    Such gegebenenfalls mal nach "include", ob du dort irgendwo was fehlerhaftes entdeckst.

    Funktioniert es, wenn du "PlayerHearMusicInRange" auskommentierst? Die Funktion sieht mir ihrem Namen entsprechend nicht ganz richtig aus, so wie du sie aufrufst.
    Wenn es dann auch nicht geht, kommentiere das SetSchranke jeweils aus, geht es dann? Wenn nicht, poste dein "tor"-Array.
    Wenn es nach einem der beiden Kommentierungen geht, poste entweder die PlayerHearMusicInRange-Funktion, oder, wenn es am SetSchranke liegt, mache es wieder mit MoveObject und poste den Code wie er dann aussieht, dann zeige ich dir wie du es machen musst, damit es nicht so extrem schnell geht.

    Marcel789: Dein Code geht nur beim ersten Index, danach wird der return im else Teil ausgegeben.


    So ist es richtig:
    if(strcmp("/befehl", cmd, true) == 0)
    {
    new Float:vPos[3];
    for(new i = 0; i<sizeof(pCar); i++)
    {
    GetVehiclePos(pCar[i], vPos[0], vPos[1], vPos[2]);
    if(IsPlayerInRangeOfPoint(playerid, 15.0, vPos[0], vPos[1], vPos[2]))
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Geht");
    return 1;
    }
    }
    return SendClientMessage(playerid, COLOR_ERRORTEXT, "Geht nicht");;
    }

    Nein, musst du nicht. Du kannst es so lassen wenn du den dritten Parameter nicht mit einem Wert belegen willst, wenn du Position als zweiten Parameter hast, ich habe dir es nur als Option offen gelassen.


    (Beachte das große S, falls nicht gesehen!)

    Payday:

    Spoiler anzeigen
    public Payday()
    {
    new string[128];
    static lasthour;
    new hour,minute, second;
    gettime(hour, minute,second);
    if(minute == 0 && hour != lasthour)
    {
    lasthour = hour;
    format(string,sizeof(string),"SERVER: Es ist %d:%02d:%02d Uhr",hour, minute, second);
    SendClientMessageToAll(Weis,string);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    PlayerTextDrawShow(i, Textdraw0[i]);
    PlayerTextDrawShow(i, Textdraw1[i]);
    PlayerTextDrawShow(i, Textdraw2[i]);
    PlayerTextDrawShow(i, Textdraw3[i]);
    PlayerTextDrawShow(i, Textdraw4[i]);
    PlayerTextDrawShow(i, Textdraw5[i]);
    PlayerTextDrawShow(i, Textdraw6[i]);
    PlayerTextDrawShow(i, Textdraw7[i]);
    }
    }
    SetTimer("paydaytimer",4000,false);
    }
    return 1;
    }


    Paydaytimer:

    Spoiler anzeigen
    public paydaytimer()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    PlayerTextDrawHide(i, Textdraw0[i]);
    PlayerTextDrawHide(i, Textdraw1[i]);
    PlayerTextDrawHide(i, Textdraw2[i]);
    PlayerTextDrawHide(i, Textdraw3[i]);
    PlayerTextDrawHide(i, Textdraw4[i]);
    PlayerTextDrawHide(i, Textdraw5[i]);
    PlayerTextDrawHide(i, Textdraw6[i]);
    PlayerTextDrawHide(i, Textdraw7[i]);
    }
    }
    return 1;
    }


    Timer starten:
    SetTimer("Payday",3600000,true);
    zu:
    SetTimer("Payday",10000,true); //Prüft alle 10 Sekunden ob wir eine volle Stunde haben (Bsp: 12:00)

    Das sieht mir schwer nach einem Tippfehler von dir aus. Steht in den ersten 10 Zeilen deines Codes irgendwas von "Zeile"? Da hast du bestimmt aus Versehen reingeschrieben.

    Zeile (3627) : Unbekannte Variable : "RemoveBuilingForPlayer"
    Hier hast du dich verschrieben. Es heißt RemoveBuildingForPlayer, bei dir fehlt ein d.


    Wegen den anderen Fehlern, poste mal die jeweiligen Zeilen.

    iMontreal: Return in dieser Schleife macht sich nicht so gut ;)


    stock SCMTOADMIN(text[])
    {
    for(new i = 0; i <MAX_PLAYERS; i++)
    {
    if(sInfo[i][alevel] > 0 && ADuty[i] == 1)
    {
    SendClientMessage(i,CL_GREEEN,"[4RL] Adminmeldung [4RL]");
    SendClientMessage(i,0xEB0000FF,text);
    SendClientMessage(i,CL_GREEEN,"[4RL] Adminmeldung [4RL]");
    }
    }
    return 1;
    }


    Es war einfach eine Klammer zu viel vorhanden.

    Füge nur mal zum Testen das SavePlayer in dem accept Befehl nach SetPlayerVirtualWorld ein. Geht es dann?
    Wenn ja, dann wird SavePlayer beim Restart nicht mehr durchgeführt, sprich die MySQL Verbindung ist schon weg.


    Dann solltest du mit einem ein Sekunden Timer den gmx erst dann ausführen.

    public paydaytimer(playerid)
    {
    PlayerTextDrawHide(playerid, Textdraw0[playerid]);
    PlayerTextDrawHide(playerid, Textdraw1[playerid]);
    PlayerTextDrawHide(playerid, Textdraw2[playerid]);
    PlayerTextDrawHide(playerid, Textdraw3[playerid]);
    PlayerTextDrawHide(playerid, Textdraw4[playerid]);
    PlayerTextDrawHide(playerid, Textdraw5[playerid]);
    PlayerTextDrawHide(playerid, Textdraw6[playerid]);
    PlayerTextDrawHide(playerid, Textdraw7[playerid]);
    return 1;
    }