Beiträge von KornChief

    Tim


    Unter dem Callback OnPlayerEnterVehicle(playerid,vehicleid, ispassenger) musst du einfach abfragen, ob diejenige person Admin ist und es einer deiner Autos ist, also

    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(vehicleid == 1 || vehicleid == 2 || vehicleid == 3) //Halt die ID's deiner Admin Autos, achtung: Die die Funktion AddStaticVehicle gibt die ID des Autos zurück
    {
    if(Stats[playerid][adminlvl] > 0 || IsPlayerAdmin(playerid)) //oder wie du auch immer das Adminsein definiert hast
    {
    SendClientMessage(playerid,0xFFFFFFF, "Du hast das Auto betreten");
    }
    else
    {
    SendClientMessage(playerid,0xFFFFFFFF, "Du bist nicht befugt dazu");
    Ban(playerid); //oder Freezen geht auch^^, wobei ein return 0 glaub ich nix bringt weil das eh nichts bestimmtes zurückt das callback
    }
    }
    return 1;
    }


    Damit nur DU diesen Befehl ausführen kannst, gibts verschiedene Arten bzw kommt drauf an....
    du kannst den Namen vergleichen

    new test[MAX_PLAYER_NAME+1];
    GetPlayerName(playerid, test, MAX_PLAYER_NAME);
    if(strcmp(test,"DeinName",true)==0)
    {
    //Befehl ausführen
    }
    else
    {
    SendClientMessage(playerid,0xFFFFFFF,"Du bist nicht befugt");
    }

    oder mit IP

    new ip[16];
    GetPlayerIp(playerid, ip, 16)
    if(strcmp(ip,"11:11:..", true)==0)
    {
    //Befehl ausführen
    }
    else
    {
    SendClientMessage(playerid,0xFFFFFFF,"Du bist nicht befugt");
    }





    EliteCake
    Prüf doch einfach das noch dazu, sprich

    if(IsPlayerInRangeOfPoint(...) && IsPlayerInVehicle(playerid, vehicleid)) // oder IsPlayerInAnyVehicle(playerid)
    {
    //Do Sth
    }


    Danke erstmal Templer.


    Ich habe mir das ganze nochmal angesehen in einem C Buch (finde es in PAWN dennoch verwirrend und unklar im Moment; hoffe das klärt sich).




    Meine Frage ist nun:
    enum a (+= 1) { b ,c = 2,d }


    // Aufzählung "a"; alle Werte der Elemente immer Vorgänger + 1 (standard); c soll 2 sein


    main()
    {
    // Nun geht ja:
    printf("%d",c); // 2
    printf("%d",d); // 3
    // ... da dies ja auch nur Konstanten sind (obgleich ein Teil von a oder nicht)
    // Auch:
    new o = b; // 0

    //
    new a:p = c;
    new a:k = a:5; // Wenn ich mir sicher bin: 4 ist ein Teil bzw. kann einer sein vom Enum "a"
    // Dies ist normalerweise der Fall, da die Elemente nur "symbolisch" sind und Integerwerte sind
    new l = _:k; // andersherum

    printf("%d",a); // 4 - wieso? Bsp " enum jo { lol, jap, ok = 6 } " ergibt für jo auch 7,obgleich nur 3 genutzt werden können. Daher ergab es vorher auch 66, da
    // der ASCII Code von 'A' 65 ist. ;)
    printf("%d",l); // 5
    }
    // Bis her richtig?


    // Wie ist das aber nun mit Floatwerten, etc in einem enum (Ist ja eigenartig), da Enums
    // eigtl nur symbolisch sind (kein eigener Datentyp sondern konstate Integerwerte) ?


    Würde er es dir dann als Fehler anzeigen, wenn man Tiefe / Höhe bräuchte ;P ?
    Er ist allwissend... :D
    http://wiki.sa-mp.com/wiki/SetPlayerPos


    -------------
    Vllt ist das der Fehler? (also dass nichts da steht)


    Es sollte so (oder so ähnlich) aussehen:
    public OnGameModeInit()
    {

    SetGameModeText("Blank Script");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
    }
    // Evtl. was dazwischen
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
    // Do something here
    return 1;
    }
    return 0;
    }




    Richtig geschrieben,Klammer,etc.!

    Zeile 10373-10375 :
    ongamemodeinit
    das hier ist wichtig, poste was ZWISCHEN 10373 und 10375 steht
    onplayercommandtext



    SetPlayerPos(playerid, 282.8917,-1515.0336,24.9219), die letzte Koordinate war zu viel

    C:\Users\Julian\Desktop\pawno\include\JunkBuster.inc(2396) : warning 219: local variable "x2" shadows a variable at a preceding level
    C:\Users\Julian\Desktop\pawno\include\JunkBuster.inc(2396) : warning 219: local variable "y2" shadows a variable at a preceding level
    C:\Users\Julian\Desktop\pawno\include\JunkBuster.inc(2396) : warning 219: local variable "z2" shadows a variable at a preceding level


    >Die Variabel gibt es bereits (vorher schon), nimm zB x3, usw.




    C:\Users\Julian\Desktop\pawno\AoR-Script.pwn(4056) : warning 202: number of arguments does not match definition


    > Die Anzahl der Argumente stimmt nicht überein,
    zB.
    func(x,y);
    und du hast nur func(3);





    C:\Users\Julian\Desktop\pawno\AoR-Script.pwn(10373 -- 10375) : warning 215: expression has no effect


    > Poste mal die Zeilen
    ---------------------------------------------
    Falscher Bereich.

    Hallo,


    eigtl. wollte ich ein Tutorial schreiben, doch dabei fiel mir folgendes auf:




    enum x {
    a,
    Float:b = 3.4,
    c = 'A'
    }



    main()
    {


    printf("%f",_:b); // 3.4000000
    printf("%d",x); // 66 <----------- wieso kommt hier 66 raus, obwohl 3 richtig wäre?
    printf("%c",c); //A
    printf("%d",x:a); // 0






    Hier kommt 3 raus bei x:




    enum x {
    a,
    b,
    c }


    main()
    {
    printf("%d",x);
    }







    Noch etwas



    enum Farben {
    rot,
    grun,
    gelb,
    blau,
    lila }

    main()
    {
    printf("%d",Farben); // 5 aber trotzdem Tag Mismatch
    new Farben:Eins = rot;
    new Farben:Zwei = Farben:4.2000;
    printf("%d | %f",_:Eins,_:Zwei); // 0 (richtig) und 4.19 ?


    printf("%d",_:lila); // 4


    }


    Ich finde da einfach keine Regelmäßigkeit/Gesetzmäßigkeit, was wie was angibt :HILFE: ^^
    Bitte um rasche Antworten!



    Vielen Dank im Voraus


    MFG

    Ganz ehrlich?
    Ich glaube dir kein Wort Frettchen und bin dazu (ohne Beweise) auch nicht verpflichtet. Zudem, allein an deiner Artikulation merkt man, dass du niemals 16 (Stimmband-OP,....) bist und du dir auch keine Mühe gibtst. Vergleich allein mal diesen Beitrag mit deinen anderen (Zitieren sinnlos, da das Gekrakle sowieso keiner entziffern kann). Daher kann man auch von einer Falschaussage ausgehen, nebenbei bemerkt. Es ist meine freie Meinung, dich zu kritisieren wie ich will, solange es höflich,sachlich und sinnvoll ist.

    Alle vollkommen falsch bis auf Bright.


    Bei s0beit und vogelZ wird das Leben nicht auf 100 hochgestellt und auch nicht gefreezt. Wenn man den Godmode einstellt, dann bleibt das Leben so wie es ist und standardmäßig ist es so eingestellt, dass Scripteinwirkungen (also SetPlayerHealth) wirken, aber Explosionen,Schüsse etc nicht. Daher wird auch -1 abgezogen, also kein Nachweis dafür. Es ist demnach unmöglich das zu überprüfen (außer eben einer stellt sein Leben hoch oder stellt Regeneration ein oder ,dass das Leben beim Godmode nicht von Scripteinflüssen verändert wird). Aber klassischer Godmode ist unmöglich so zu überwinden. Es kommt nur ab und an zu Laggs/Crashes, mehr nicht.