Beiträge von Gabsch

    Du nutzt einen Timer, der eben in dem korrekten zeitabstand aufgerufen wird und diesen Befehl:



    new panelsx,doorsx,lightsx,tiresx;
    GetVehicleDamageStatus(p,panelsx,doorsx,lightsx,tiresx);
    UpdateVehicleDamageStatus(p, panelsx, doorsx, 1, tiresx);


    (Weiß nicht, ob das beide Lampen sind, evtl ist das nur eine)
    Oder du nutzt diesen:

    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);


    On eben nur in OFF ändern

    Probier mal statt:


    public OnPlayerRequestClass(playerid, classid)
    {
    return 1;
    }
    Das:
    public OnPlayerRequestClass(playerid, classid)
    {
    SpawnPlayer(playerid);
    return 1;
    }


    Oder du baust es anch dem Login ein, dass wenn er sich korrekt eingeloggt hat, er so gespawnt wird

    probier mal den /fpark so:


    if(strcmp(cmdtext,"/fpark",true)==0)
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    new fc;while(fc<sizeof(FactionCars))
    {
    if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611)
    {
    if(GetPlayerVehicleID(playerid) == FactionCars[fc][fCarid])
    {
    if(GetPlayerAdminLevel(playerid) >= NEEDED_ADMINLEVEL || GetPlayerLeader(playerid) == FactionCars[fc][fFaction][0])
    {
    GetVehiclePos(FactionCars[fc][fCarid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2]);
    GetVehicleZAngle(FactionCars[fc][fCarid],FactionCars[fc][fPos][3]);
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Du hast das Fraktionsfahrzeug erfolgreich umgeparkt.");
    }
    else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist dazu nicht berechtigt.");
    return true;
    } else return SendClientMessage(playerid,FACTION_COL_GREY,"Du sitzt in keinem Fraktionsfahrzeug.");
    }fc++;
    }
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Du sitzt in keinem Fahrzeug oder bist nicht der Fahrer.");
    return true;
    }

    public Spielzeit()
    {
    for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
    SetPVarInt(i,"Spielzeit",GetPVarInt(i,"Spielzeit") + 1);
    {
    if(GetPVarInt(i, "Spielzeit") == 60)
    {
    SetPVarInt(i, "Spielzeit", 0);
    }
    SetPVarInt(i, "Aktivitätspunkte", GetPVarInt(i, "Aktivitätspunkte") + 1);
    }
    }
    return 1;
    }


    Du musst das:
    SetPVarInt(i, "Aktivitätspunkte", GetPVarInt(i, "Aktivitätspunkte") + 1); auch in dem Block ausfhrern, indem die Bedingung Spielzeit ==60 auch erfüllt wird. Jedoch lässt du es danach ausführern.
    Nimm es einfach nach Spielzeit, 0 und es sollte Funktionieren.

    Klar, du brauchst einen Timer, der in der von dir bestimmten Zeit ausgeführt wird und du brauchst eine Schleife, die all die Fahrzeuge durchgeht, die du umlackieren willst und dann änderst du wie gewünscht die Farbe. Die Schleife kommt natürlich in den Timer^^
    Neu Spawnen ist jedoch für das blose Ändern der Farbe nicht neutig.

    if(strcmp(cmdtext,"/fpark",true)==0)
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    new fc;while(fc<sizeof(FactionCars))
    {
    if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611)
    {
    if(GetPlayerVehicleID(playerid) == FactionCars[fc][fCarid])
    {
    if(GetPlayerAdminLevel(playerid) >= NEEDED_ADMINLEVEL || GetPlayerLeader(playerid) == FactionCars[fc][fFaction][0])
    {
    GetVehiclePos(FactionCars[fc][fCarid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2]);
    GetVehicleZAngle(FactionCars[fc][fCarid],FactionCars[fc][fPos][3]);
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Du hast das Fraktionsfahrzeug erfolgreich umgeparkt.");
    }
    else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist dazu nicht berechtigt.");
    return true;
    }
    }fc++;
    }
    SendClientMessage(playerid,FACTION_COL_GREY,"Du sitzt in keinem Fraktionsfahrzeug.");
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Du sitzt in keinem Fahrzeug oder bist nicht der Fahrer.");
    return true;


    Das : SendClientMessage(playerid,FACTION_COL_GREY,"Du sitzt in keinem Fraktionsfahrzeug.");


    bezieht sich auf: new fc;while(fc<sizeof(FactionCars))


    Und
    ist daher kein if und else befehl, wenn cih das richtig sehe. So sieht es auch bei den anderen
    Befehlen aus, glaube ich. Du sciptest außerdem recht unübersichtlich, da
    du die Klammern eben so einrückst, ist auf sa-mp.de eine verbeitete
    Krankheit, denn es verschlechtert die Übersichtlichkeit und sorgt für
    eben solche Probleme. Hatte ich auch mal so gemacht und dann voll den
    Anschiss von meinem Programmierlehrer bekommen :D
    back to topic: Ich glaub daran sollte es liegen.

    Moin,


    ich habe ein kleines Problem, mein Lokaler Chat geht nciht mehr. Ich habe aber das Public eingefügt.


    forward AH_Local();
    public AH_Local()
    {
    return 1; // 0 = Global!
    }


    Und meine Localer Chat:
    public OnPlayerText(playerid, text[])
    {
    new sender[MAX_PLAYER_NAME], Float:x, Float:y, Float:z, string [255];
    GetPlayerName(playerid, sender, sizeof(sender));
    GetPlayerPos(playerid, x, y, z);
    format(string,sizeof(string),"%s sagt: %s", sender, text);
    foreach (Player,i)
    {
    if(IsPlayerInRangeOfPoint(i,20.0,x,y,z))
    {
    SendClientMessage(i,WEIS,string);
    }
    }
    format(text, 128, "%s", text);
    SetPlayerChatBubble(playerid, text,WEIS, 20.0, 10000);
    return 0;
    }



    Hatte aber auch null ausprobiert, ging auch nicht, weiß jemand woran es liegt, ich sehe den fehler grade nicht.


    Da ist aber nen fehler dirnne, es heißt:

    if(IsPlayerInRangeOfPoint(playerid,10,x,y,z))

    Hallo,


    ich hab seit einiger Zeit das Problem, dass ich den Marker nicht unsichtbar machen kann, wie auf der wiki beschrieben.


    Wiki:
    // Make the players marker an invisible white (chat will be white but marker will be gone).
    SetPlayerMarkerForPlayer( 42, 1, 0xFFFFFF00 );


    Mein Colde:


    for(new i;i<MAX_PLAYERS;i++)
    {
    SetPlayerMarkerForPlayer(i,playerid,0xFFFFFF00);
    SetPlayerMarkerForPlayer(playerid,i,0xFFFFFF00);
    }



    Habt ihr eine Idee, wie ich das lösen kann?