Beiträge von coVer


    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new i = 0; i<sizeof(armycar); i++)
    {
    if(GetPlayerVehicleID(playerid) == armycar[i])
    {
    if(IsPlayerInFrak(playerid, 1))
    {
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,FARBE_ROT,"Du bist kein Beamter!");
    }
    }
    }
    }




    Fraktionscars definieren und das wars.


    So schwer? ;)


    ocmd:clear(playerid,params[])
    {
    new pID;
    if(!IsPlayerInFrak(playerid,1))return SendClientMessage(playerid,FARBE_ROT,"Du bist kein Beamter!");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,FARBE_GRAU,"Dieser Spieler ist nicht Online!");
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,FARBE_GRAU,"Benutzung: /clear [Username/ID]");
    SetPlayerWantedLevel(pID,0);
    new string[256];
    format(string,sizeof(string),"Du hast %s seine Wanteds gecleart.",SpielerName(pID));
    SendClientMessage(playerid,FARBE_HELLBLAU,string);
    new text[128];
    format(text,sizeof(text),"Beamter %s hat deine Wanteds gecleart.",SpielerName(playerid));
    SendClientMessage(pID,FARBE_MITTLERESBLAU,text);
    if(SetPlayerWantedLevel(pID,0))
    {
    if(IsPlayerInFrak(playerid,0))
    {
    SetPlayerColor(playerid,FARBE_WEISS);
    return 1;
    }
    if(IsPlayerInFrak(playerid,1))
    {
    SetPlayerColor(playerid,FARBE_GRÜN);
    return 1;
    }
    if(IsPlayerInFrak(playerid,2))
    {
    SetPlayerColor(playerid,FARBE_BRAUN);
    return 1;
    }
    if(IsPlayerInFrak(playerid,4))
    {
    SetPlayerColor(playerid,FARBE_DUNKELROT);
    return 1;
    }
    if(IsPlayerInFrak(playerid,5))
    {
    SetPlayerColor(playerid,FARBE_DUNKELGRAU);
    return 1;
    }
    return 1;
    }
    return 1;
    }



    SetPlayerColor ist für jede Fraktion, da die ja wieder ihre eigene Fraktionsfarbe erhalten müssen. Einfach die Befehle umändern.


    Mit freundlichem Gruß

    Per DINI ist es ganz einfach.


    Beim stock des SpielerSpeicherns einfach diese Zeile hinzufügen:



    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));



    und beim SpielerLaden folgende Zeile:



    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));



    "Spielerdatei" ist die Definition für die Daten jedes Users welche beim Registrieren erstellt werden, müsstest du ggf. anpassen.
    "Level", darunter wird in der Accountdatei der Score abgespeichert.


    Mit freundlichem Gruß,


    coVer

    Danke für die schnelle Antwort.


    Jedoch wenn ich das Parameter ändere, wie in meinem Fall auf "0.000000000001", bewegt es sich immer noch ruckartig, als hätte dieser Parameter gar keine Funktion.


    Mit freundlichem Gruß

    Abend Leute,


    ich hab auch ein kleines Problemchen, ich habe zwar die Funktion richtig ausgeführt, jedoch öffnet sich die Schranke wie bei SetObjectRot sehr ruckartig, nicht realistisch.


    Ich habe die neue Funktion verwendet, keine Errors, keine Warnings.



    MoveObject(mschranke1,1637.00000000,1829.65917969,10.80000019,5,0.00000000,0.00000000,90.00000000);




    In welchem Wert wird dort der Rotationspeed angegeben?


    Mit freundlichem Gruß

    Versuch es mal bei



    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)




    Dort eine if-Abfrage ob das Car das Model eines Mähdreschers hat.



    if(GetVehicleModel(vehicleid) == MähdrescherID)


    http://wiki.sa-mp.com/wiki/GetVehicleModel


    Mit freundlichem Gruß


    //edit um genau zu sein hier das ganze:



    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger){ if(GetVehicleModel(vehicleid) == 532)) { if(newstate==PLAYER_STATE_DRIVER) { new Float:x, Float:y, Float:z, i; i = random(sizeof(FarmerCPs)); x = FarmerCPs[i][0]; y = FarmerCPs[i][1]; z = FarmerCPs[i][2] SendClientMessage(playerid,COLOR_ORANGE,"Fahre nun die Checkpoints ab, um das Korn zu ernten."); SetPlayerCheckpoint(playerid,x,y,z,3.0); FarmerCP[playerid] = 1; return 1; } return 1; } return 1;}


    -.- Da die Einrückung spackt, hab ich es dir in einem Blank Script angehängt, einfach kopieren und in deins einfügen

    Dann fügst du einfach eine Fraktionsabfrage rein, jenachdem wie sie in deinem Script vorhanden ist, schau mal hier:



    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid=DEINPICKUPNAME)
    {
    if(IsPlayerInFrakt(playerid,FRAKTIONSNUMMER))
    {
    SetPlayerPos(playerid,x,y,z); // Die Koordinaten des Ausgangpunktes
    SetPlayerFacingAngle(playerid,354.7670); // Blickrichtung des Spielers nach dem rausgehen
    SetPlayerInterior(playerid,0); // Interiorwelt auf 0 setzen, damit alles sichtbar ist
    SetCameraBehindPlayer(playerid); // Die Kamera hinter den Spieler setzen
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Mitglied der >Gangname< !");
    return 1;
    }
    return 1;
    }




    Somit können nur Spieler der Fraktion in das Haus gelangen, wenn nicht wird dort die Meldung "Du bist kein Mitglied der >Gangname<!" erscheinen.


    Mit freundlichem Gruß

    Welchen Punkt meinst du denn, etwa den auf der Minimap?


    Der Code um den Spielernamen eine Farbe zuzuweisen lautet:



    SetPlayerColor(playerid,FARBE_GRÜN);



    Du hast es schon richtig gemacht, daher verstehe ich deinen Fehler nicht.


    Mit freundlichem Gruß

    Machs am besten mit Pickups.


    Und dass die Gangs im Interrior spawnen, solltest du bei OnPlayerSpawn machen, hier ein Bsp:



    public OnPlayerSpawn(playerid)
    {
    if(IsPlayerInFrakt(playerid, DEINEFRAKTIONSNUMMER))
    {
    ResetPlayerWeapons(playerid);
    SetPlayerSkin(playerid,SKINID);
    GivePlayerWeapon(playerid,WAFFENID,SCHUSSZAHL);
    SetPlayerPos(playerid,x,y,z); // Die Koordinaten wo der Spieler spawnen soll
    SetPlayerFacingAngle(playerid,81.2012); // Blickrichtung des Spielers beim Spawnen
    SetCameraBehindPlayer(playerid); // Setzt die Kamera hinter den Spieler
    SetPlayerInterior(playerid,INTERRIORID); // Setzt den Spieler in das gewünschte Interior
    return 1;
    }
    return 1;
    }



    So wird der Spieler in einem Interior spawnen, um aus dem Interior rauszugelagen, machst du einfach ein Pickup, am besten mit der ID "1559" das ist ein Kegel, und unter "OnPlayerPickupPickup" definierst du dann die Funktion des Pickups.


    Sprich:



    public OnGameModeInit()
    {
    DEINPICKUPNAME = CreatePickup(1559,1,x,y,z); // Erstellt ein Pickup an deinen gewünschten Koordinaten, mit einem Kegel welches dauerhaft da ist und nicht aufnehmbar ist.
    return 1;
    }




    Die Funktion des Pickups definieren:




    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid=DEINPICKUPNAME)
    {
    SetPlayerPos(playerid,x,y,z); // Die Koordinaten des Ausgangpunktes
    SetPlayerFacingAngle(playerid,354.7670); // Blickrichtung des Spielers nach dem rausgehen
    SetPlayerInterior(playerid,0); // Interiorwelt auf 0 setzen, damit alles sichtbar ist
    SetCameraBehindPlayer(playerid); // Die Kamera hinter den Spieler setzen
    }
    return 1;
    }



    Ich hoffe ich war dir eine kleine Hilfe.


    Mit freundlichem Gruß

    Einfache Abfrage bei OnPlayerEnterVehicle.


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(GetPlayerSkin(playerid) != 105)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,DEINE_FARBE,"Du bist nicht berechtigt dieses Fahrzeug zu führen!");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,DEINE_FARBE,"Du befindest dich nun im XYZ Fahrzeug!");
    return 1;
    }
    return 1;
    }


    Sprich wenn der Skin nicht 105 ist, wird der Player das Fahrzeug nicht betreten können!


    MfG