Beiträge von JustMe.77

    Yo, wie definiere ich eine Message die ich dann einfach in meine Befehle einfügen kann ? Also sodass ich nicht immer SendClientMessage etc benutzen muss und alles nochmal schreiben muss, sondern einfach nur irgendwie eintrage das die Errormessage die ich definiert habe auftreten soll.


    (Beispiel Befehl wie es aktuell aussieht)


    C
    CMD:kill(playerid,params[])
    {
    	if (IsPlayerInRangeOfPoint(playerid, 200.0,1858.1184,-2485.4265,5048.4761))
        	{
    	SendClientMessage(playerid,WHITE,"{FF1717}ERROR:{FFFFFF} You can't use this command during an event. Use {FF1717}/eleave{FFFFFF} to leave the event!");
    	return 1;
        	}
    	return 0;
    }

    Wie behebe ich diesen Error?


    event.pwn(403) : error 017: undefined symbol "i"
    1 Error.


    Das scheint nicht gut zu fuktionieren @malE


    Ich sehe zwar die Nametags nicht, aber ein 2. Spieler (Tester) kann sie sehen und nein er ist kein Admin ^^.


    Ich möchte einfach das die Nametags ausgeschaltet sind für die Spieler die dem Event beitreten /ejoin. Und sie wieder angezeigt werden nachdem sie verloren bzw. das Event verlassen haben. (/eleave)


    Und dann ein seperaten Befehl welchen ich nur für Admins machen werde der alle Nametags anzeigt.

    Danke dir, dann belasse ich es einfach mit der aktuellen Methode.


    Andere Frage: Benötige eine gute Animation o.Ä um den Spielern das Punchen nicht zu ermöglichen. Habe an die Cuff Animation gedacht aber damit kann man trotzdem anderen Schaden hinzufügen. Kennt jemand eine andere?


    Hab's hiermit ausprobiert, man kann aber leider immer noch punchen.



    C
    CMD:cuff(playerid,params[])
    {
        SetPlayerSpecialAction(playerid,SPECIAL_ACTION_CUFFED);
        return 1;
    }

    Edit2:


    @Jeffry


    Kann ich auch mit einem Code ALLE Befehle blockieren und irgendwie eine Ausnahmeliste hinzufügen?

    Klappt gut Jeffry. Ist aber die Möglichkeit die ich oben beschrieben habe nicht besser bzw. besser? Also mit meiner Variable inEvent[playerid] = true; abfragen ob er im Event ist, und dann die Befehle hintereinander eintragen die er nicht im Event benutzen kann.

    Ich hab's erstmal so gemacht:


    C
    CMD:heal(playerid,params[])
    {
        if (IsPlayerInRangeOfPoint(playerid, 200.0,1858.1184,-2485.4265,5048.4761))
        {
        	SendClientMessage(playerid,WHITE,"You can't use this command while beeing in an event!");
        }
    
    
        return 1;
    }


    Das verhindert auch das ich den Befehl im Event benutzen kann, aber ich kann den Befehl nicht benutzen auch wenn ich nicht im Event bin. Hat jemand ne Idee wie ich das lösen kann?
    Oder kann ich vielleicht eine Funktion mit   inEvent[playerid] = true; erstellen die dann keine Befehle erlaubt die ich definiert habe?

    Achso jetzt hab ich's verstanden. Ich möchte aber nicht den Befehl komplett blockieren sondern nur für einen bestimmten Bereich, das ist auch möglich oder?


    Sprich du bist in Position A und kannst /heal nicht benutzen, aber überall anders kannst du es benutzen. Würde da irgendwie IsPlayerInRangeOf helfen?

    Ich habe mich auf nichts bezogen wollte nur wissen ob und wie es möglich ist ^^


    Also ich möchte einfach Befehle blockieren die man nicht benutzen darf wenn mein FilterScript geladen ist. Aber ich möchte die Befehle blockieren ohne Zugriff auf den Gamemode zu haben.
    Der Sinn dahinter ist dass ich für mein Event System Befehle wie z.B /heal blockieren möchte ohne irgendwas am Gamemode zu ändern.


    Hatte da gedacht man kann eine Liste erstellen und dort trägt man Befehlnamen ein und diese gehen dann nicht.

    Wie kriege ich denn diese Warnings weg?


    C
    new zaehler;
    
    
    new Float:RandomSpawns[][4] =
    {
        // Positions, (X, Y, Z and Facing Angle)
        {-2796.9854, 1224.8180, 20.5429, 192.0335},
        {-2454.2170, 503.8759, 30.0790, 267.2932},
        {-2669.7322, -6.0874, 6.1328, 89.8853}
    };


    C
    CMD:ejoin(playerid,params[])
    {
    	if(zaehler >= sizeof(RandomSpawns)) zaehler = 0;
    	SetPlayerPos(playerid, 1856.6978,-2480.6853,5048.4761);
    	zaehler++;
    
    	return 1;
    
    
    }


    Warnings


    warning 203: symbol is never used: "RandomSpawns"

    Yo danke, gut erklärt.


    Als nächstes möchte ich mehrere Spawnpunkte am Event machen damit nicht alle auf der selben Stelle spawnen. Ist das irgendwie Möglich die Koordinaten von Objekten zu entnehmen die ich auf der Map platziere damit ich auch sehe wo genau schon ein Spawn ist und wo nicht?