Beiträge von Trooper[Y]

    Eher so:

    else if (pickupid == Gangcreationmenu)
    {
    if(SpielerInfo[playerid][Leader] >= 0)
    {
    TogglePlayerControllable(playerid,0);
    ShowMenuForPlayer(Gangmenu,playerid);
    }
    else SendClientMessage(playerid, DUNKELROT,"Du bist nicht Leader einer Fraktion!");
    }
    else
    {
    SendClientMessage(playerid,DUNKELROT,"Es wurde kein Pickup identifiziert");
    }


    /edit:
    SPiele mal mit der FUnktion "PlayerToPoint" rum und schaue dort einfach nach,ob die Person in einem gewissen Radius zu dem Pickup steht.
    Koords musse dann aber per hand eintragen !

    Setz die Maus auf
    if (pickupid == Fahrschulemenu)

    vor das if.


    Dann rutsch nach unten.
    Damit das Script funktioniert, müsstest du nun auf
    else if (pickupid == Gangcreationmenu)

    treffen.


    Das tust du aber nicht....


    Lösung: Lösche das Tabzeichen vor
    else if (pickupid == Gangcreationmenu)

    Das eine ist unter dem anderen.


    Ich zeige dir das mal an folgendem Beispiel, da ichs nit richtig erklären kann:

    new antwort = 1+1;
    If(antwort == 1)
    {
    //unmöglich
    if(antwort == 2)
    {
    //um d as hier auszulösen,müsste 1 + 1 erstmal 1 sein,dann 2 sein,damit die Funktion ausgeführt wird, d.h. Klammer zu oder verschieben
    }
    }

    Habe folgende Deklaration:
    forward checkregion(killerid,oldx,oldy,distance);


    Dann folgende Funktion:

    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    printf("%f",Y);
    Yy = Y - 500;
    printf("%f",Yy);
    SetTimerEx("checkregion",10000,0,"%f",playerid,X-500,Yy,500);


    Leider sind Y und Yy die richtigen Werte, wenn ich aber
    printf("%f",oldy);
    als erste Zeile in der Timerfunktion einstelle, gibt mir dieser 0.0000 aus !


    Hoffe auf (schnelle und kompetente) Hilfe ;) ,
    Trooper

    Wie kann ich den Inhalt einer Variable möglichst schnell und komfortabel ablesen (ob Konsole,Textdatei oder Ingamenachricht,egal !) ?
    Bekomme immer nur Errors,wenn ich anstatt von Text Variablen einsetze...


    Mfg,
    Trooper

    #include <a_samp>
    #include <a_vehicles>
    #include <a_players>
    #include <k_functions>


    #pragma tabsize 0
    new lspdgate;
    forward lspdgateclose();



    public OnPlayerCommandText(playerid, cmdtext[])


    if( !strcmp(cmdtext, "/opengate", true) && GetPlayerSkin(playerid) != 280 && GetPlayerSkin(playerid) != 281 && GetPlayerSkin(playerid) != 282 && GetPlayerSkin(playerid) != 283 && GetPlayerSkin(playerid) != 284 && GetPlayerSkin(playerid) != 285 && GetPlayerSkin(playerid) != 286 && GetPlayerSkin(playerid) != 287 && GetPlayerSkin(playerid) != 288 )
    {
    MoveObject(lspdgate, 1597.288696, -1637.887085, 14.706839, 4.0);
    SendClientMessage(playerid, 0xAAAAAAAA, "Tor wurde geöffnet");
    SetTimer("lspdgateclose",3000, false);
    }
    else
    {
    SendClientMessage(playerid, 0xAAAAAAAA,"Du musst Polizist sein um das Tor zu öffnen!");
    }
    }


    public lspdgateclose()
    {
    MoveObject(lspdgate, 1588.416260, -1637.907715, 14.705267, 3.0);
    }


    Und das geht auch ohne Spam, sache von 1 Minute....
    Und da wundern sich welche, wieso die meisten im Englischen Forum nachfragen oder ihre Nachfragen auf ganze 11 Views in 4 Stunden kommen im Deutschen...

    Folgende Funktion:

    public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
    {
    if((newkeys & KEY_FOOT_FIRE) == (KEY_FOOT_FIRE))
    {
    new Float:x, Float:y, Float:z, Float:a;
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, a);
    x += (15 * floatsin(-a, degrees));
    y += (15 * floatcos(-a, degrees));


    GetPlayerPos(playerid, X, Y, Z);



    if(PlayerToPoint(15.0, playerid, X, Y, Z) && GetPlayerSkin(playerid) != 280 && GetPlayerSkin(playerid) != 281 && GetPlayerSkin(playerid) != 282 && GetPlayerSkin(playerid) != 283 && GetPlayerSkin(playerid) != 284 && GetPlayerSkin(playerid) != 285 && GetPlayerSkin(playerid) != 286 && GetPlayerSkin(playerid) != 287 && GetPlayerSkin(playerid) != 288)
    {
    SendClientMessage(playerid,0x000000,"Testnachricht");
    flashed[playerid] = 1;
    SetTimerEx("Flash",300,0,"p",playerid);
    SetTimerEx("Disableflash",25000,0,"f", playerid);
    ApplyAnimation(playerid,"PED","Drown",4.1,0,1,1,1,1);
    lookatx = -1000;
    lookaty = -1000;
    lookatz = -1000;
    return 1;
    }
    }
    return 0;
    }

    funktioniert nur bei dem Werfer....


    Soll heißen,wenn ich Zivilist bin und diese Funktion ausgelöst wird, wird nur mir die Textnachricht angezeigt, obwohl ja laut PlayerToPoint alle in 15 Meter Radius gewählt werden sollen...


    Vielleicht liegt das ja daran, dass die Funktion bei einer Aktion des Werfers (also der Person,die OnPlayerKeyStateChange auslöst) die ganze zeit nur seine Playerid über gibt ?!


    Kann mir das jemand erklären/umschreiben/Fehler erkennen und posten ?

    Zitat

    D:\Downloads\SA\filterscripts\xxx.pwn(71) : error 017: undefined symbol "GetPlayerpos"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Folgender Error in Zeile 71:

    68.new Float:X;
    69.new Float:Y;
    70.new Float:Z;
    71.GetPlayerpos(playerid, X, Y ,Z)
    (Zeilenzahlen manuell hinzugefügt)


    Hoffe auch schnelle und gute Antwort ;) ,
    Trooper


    (Muss ich das forwarden o.ä.?)


    /Edit: Gelöst,da das p bei Playerpos nicht groß geschrieben war (und ; am Ende fehlte)

    Ich weiß, dass das nicht geht. :P
    Ich möchte ja nur die ID haben....


    /edit: bekomme den Editor nit zum laufen, der öffnet garnix, das rechte Mainfenster is die ganze zeit schwarz...
    Kann jemand die ID für mich kurz raussuchen ?

    Ich weiß zu 100% dass es eins gibt...
    Habe jetzt Wiki und MTA Map Editor durch,aber finde es nicht....
    Hatte eig. einen Beispielslink aus dem englischen Forum,aber das Thema wurde gelöscht...