Beiträge von Snail

    Mit deinen 300 Posts solltest du eigentlich schon wissen wie man sowas postet :pinch:


    1. Was für ein Script verwendest du ?
    (wenn Godfather bist du auch noch in der falschen Sektion)
    2. Ohne Code kann man dir nicht helfen
    (Zeig uns am besten mal die Stellen aus dem Script wo "Du bist kein Beamter" angezeigt werden soll

    Das dumme ist, ich weis die Object IDs für die spawnpkt nit, da ich einen mapper habe der nit da is...
    also nehm ich dir cars raus und ende :D


    Und das mit diesem waitformap geht? :P

    Probiers doch einfach aus :)


    Wenns nicht geht kannst du ja einfach meine Variante benutzen, die für alle Streamer ist, die keine Waitformap funktion haben


    forward Unfreezen(playerid);


    // OnPlayerSpawn :
    TogglePlayerControllable(playerid,false);
    SetTimerEx("Unfreezen", 3000, false, "i", playerid);


    //Dann außerhalb eines Publics


    public Unfreezen(playerid)
    {
    TogglePlayerControllable(playerid,true);
    return 1;
    }




    // EDIT :

    Zitat

    Achso und Snail er will nicht das der Spieler nicht durch den Boden fehlt sondern die Cars

    In seinem ersten Post steht, dass Cars und Spieler nicht durch die Map fallen sollen

    Du könntest die Objekte auf denen die Fahrzeuge/Spieler spawnen "fest" machen
    CreateObjectEx heißt die Funktion bei Opas streamer glaub ich
    Ansonsten Player beim Spawnen/Teleporten für 2-3 Sekunden freezen


    Falls dass dann immer noch nicht besser ist kannst du ja auch einen anderen Streamer versuchen ;)

    Jetzt mal ne Sau dumme Frage :
    Warum heißt dein public GiveWeapons, der Spieler wird doch auf 100 HP gesetzt und bekommt keine Waffen :whistling:

    Also wenn ich dein Problem richtig verstanden habe, möchtest du, dass man nur an einer bestimmten Stelle /duty machen kann oder ?


    Wenn ja sieht das ganze so aus :



    if(!strcmp(strget(cmdtext,0),"/duty"))
    {
    // Bei den ganzen Floatx, y und z musst du die Koordinaten eintragen, wo der Befehl ausgeführt werden soll
    // Als Radius empfehle ich 10, da 50 ein bisschen übertrieben ist :)
    if(PlayerToPoint(10, playerid, Float:x, Float:y, Float:z))
    {
    //Hier deine ganzen Sachen was bei /duty passieren soll
    // wenn er an der Stelle ist
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "Du bist nicht in der Waffenkammer.");
    return 1;
    }


    return 1;
    }

    eine if abfrage



    if(PlayerToPoint(Radius zum Punkt, playerid, Float:x, Float:y, Float:z))
    {
    ....


    Dafür musst du allerdings diese Funktion in dein Script einfügen
    Ist egal wo, allerdings muss es außerhalb eines Publics sein


    PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    tempposx = (oldposx -x);
    tempposy = (oldposy -y);
    tempposz = (oldposz -z);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    return 0;
    }

    Das ist ja auch nur eine Funktion die ihm eine bestimmte waffe wegnimmt (RemovePlayerWeapon(playerid, WaffeID);)
    Du musst allerdings noch einen Timer hinzufügen, der sich wiederholt und überprüft, ob der User eine bestimmte waffe hat