Beiträge von Kaliber

    Und was hat DAS
    #define PRESSED(%0) \
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
    IM Callback zu suchen?


    -.- ja man kann es auch oben unter die includes zu den defines schreiben aber wieso nicht, kann man doch im Callback lassen ;)


    mfg. :thumbup:

    Habe dir das mal alles überarbeitet ;)


    Lösche deinen Code und ersetze ihn durch meinen !


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    #define PRESSED(%0) \
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
    if(PRESSED(KEY_SECONDARY_ATTACK))
    {
    //24/7 BSNEingang
    if(IsPlayerInRangeOfPoint(playerid,3.0,1315.4526,-897.9899,39.5781))
    {
    SetPlayerPos(playerid,5.6833,-29.8726,1003.5494);
    SetPlayerFacingAngle(playerid,0.3330);
    SetPlayerInterior(playerid,10);
    SetPlayerVirtualWorld(playerid,10);
    }
    //24/7 BSNEingang
    else if(IsPlayerInRangeOfPoint(playerid,3.0,6.0410,-30.9525,1003.5494)&& GetPlayerVirtualWorld(playerid) == 10)
    {
    SetPlayerPos(playerid,1315.1510,-900.1759,39.5781);
    SetPlayerFacingAngle(playerid,178.2833);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    }
    //BSNeingang
    else if(IsPlayerInRangeOfPoint(playerid,3.0,1199.2144,-918.1475,43.1235))
    {
    SetPlayerPos(playerid,364.5392,-74.0972,1001.5078);
    SetPlayerFacingAngle(playerid,295.4293);
    SetPlayerInterior(playerid,10);
    SetPlayerVirtualWorld(playerid,10);
    }
    //BSNausgang
    else if(IsPlayerInRangeOfPoint(playerid,3.0,363.1507,-75.0385,1001.5078)&& GetPlayerVirtualWorld(playerid) == 10)
    {
    SetPlayerPos(playerid,1198.4048,-919.0438,43.1221);
    SetPlayerFacingAngle(playerid,105.7848);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    }
    //LSPDeingang
    else if(IsPlayerInRangeOfPoint(playerid,3.0,1555.5007,-1675.6169,16.1953))
    {
    SetPlayerPos(playerid,246.8422,64.2786,1003.6406);
    SetPlayerFacingAngle(playerid,2.5535);
    SetPlayerInterior(playerid,6);
    SetPlayerVirtualWorld(playerid,10);
    }
    //LSPDausgang
    else if(IsPlayerInRangeOfPoint(playerid,3.0,246.7422,62.8984,1003.6406)&& GetPlayerVirtualWorld(playerid) == 10)
    {
    SetPlayerPos(playerid,1553.1208,-1675.5620,16.1953);
    SetPlayerFacingAngle(playerid,92.7904);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    }
    //Grove
    else if(IsPlayerInRangeOfPoint(playerid,3.0,2495.2424,-1690.8561,14.7656)&& IstSpielerFraktion(playerid,8))
    {
    SetPlayerPos(playerid,2496.1650,-1694.5027,1014.7422);
    SetPlayerFacingAngle(playerid,177.5383);
    SetPlayerInterior(playerid,3);
    SetPlayerVirtualWorld(playerid,10);
    }
    else if(IsPlayerInRangeOfPoint(playerid,3.0,2496.0789,-1692.3816,1014.7422)&& IstSpielerFraktion(playerid,8) && GetPlayerVirtualWorld(playerid) == 10)
    {
    SetPlayerPos(playerid,2495.5344,-1688.8928,14.0903);
    SetPlayerFacingAngle(playerid,2.1720);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    }
    //Stadthalle
    else if(IsPlayerInRangeOfPoint(playerid,3.0,1481.0741,-1771.2151,18.7958))
    {
    SetPlayerPos(playerid,388.0544,173.5209,1008.3828);
    SetPlayerFacingAngle(playerid,88.9641);
    SetPlayerInterior(playerid,3);
    SetPlayerVirtualWorld(playerid,12);
    }
    else if(IsPlayerInRangeOfPoint(playerid,3.0,390.1335,173.8419,1008.3828)&& GetPlayerVirtualWorld(playerid) == 12)
    {
    SetPlayerPos(playerid,1480.8508,-1770.0304,18.7958);
    SetPlayerFacingAngle(playerid,357.4949);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    }
    //Stadthallenmenu
    else if(IsPlayerInRangeOfPoint(playerid,3.0,362.3032,173.6745,1008.3828)&& GetPlayerVirtualWorld(playerid) == 12)
    {
    Stadthallenmenu(playerid);
    }
    }
    return 1;
    }


    mfg. :thumbup:

    Also der Parameter bei OnPlayerRequestClass, also dieses classid das wird verwendet, wenn du AddPlayerClass benutzt, man muss dies aber nicht tun...kannst das auch so z.B. machen:


    new nummer[MAX_PLAYERS];
    public OnPlayerRequestClass(playerid,classid)
    {
    new skin = GetPlayerSkin(playerid);
    if(skin == 299 && nummer[playerid] == 0)
    {
    nummer[playerid] = 1;
    skin = 285;
    SetPlayerSkin(playerid, skin);
    return 0;
    }
    else if(skin == 285 && nummer[playerid] == 1)
    {
    nummer[playerid] = 0;
    skin = 299;
    SetPlayerSkin(playerid, skin);
    return 0;
    }
    return 1;
    }


    Bin mir nicht genau sicher ob das geht, habe das mal so aus dem Kopf geschrieben, denke aber man könnte das so machen ^^


    mfg. :thumbup:


    //Edit: return 0;

    @ Kaliber mal ne frage


    mit den hier ForceClassSelection
    muss man dann noch bei OnGameModeInit addplayerclass nutzen?


    Also, wenn man ForceClassSelection benutzt wird automatisch der OnPlayerRequestClass Callback gestartet, du "musst" nicht AddPlayerClass benutzen ! Aber man kann es hier das Zitat:


    Zitat

    Note: Class IDs are assigned when AddPlayerClass is used.


    mfg. :thumbup:

    Mach das doch einfach so:


    public TextdrawGeld()
    {
    new Geld,String[256];
    GetPlayerMoney(Geld);
    format(String, sizeof(String), "%d",Geld);
    TextDrawSetString(Textdraw3,String);
    return 1;
    }


    mfg. :thumbup:


    Mal ganz kurz dazu was, also man kann auch cmd verwenden das macht eigentlich keinen großen unterschied, außerdem hat er irgentwie recht, wenn man das mit PlayerInfo nicht definiert hat, kommt es zu Erros ;)


    mfg. :thumbup:

    1. Falscher bereich


    2. Nunja, kann man das wirklich Tutorial nenne, 1nen Befehl mit Dialog ?!


    Mhm, nicht sehr überzeugend :whistling:


    4/10 !


    mfg. :thumbup:


    //EDIT:


    Zitat

    ggf. die 1 ändern, falls es nicht euer erster #define ist


    Mit #define hat das nur am Rande zu tun, du solltest sagen falls es nicht euer erster Dialog ist ;) kannst auch tausen Farben vorher mit #define definiert haben, das wäre egal ^^

    Achso willste das machen...^^


    Das geht aber nur, wenn dieser Spieler auch online ist, der diese Kontonummer hat, denn man kann mit dini nicht alle Spielerdateien abfragen wer welche Kontonummer hat...


    Würde dann so aussehen Bsp:


    for(new i; i<MAX_PLAYERS; i++)
    {
    if(SpielerInfo[i][KontoNummer] == 123) //hier halt die Kontonummer angeben die playerid eintippt
    {
    SpielerInfo[i][KontoMoney] += 5; //halt der Geldbetrag den playerid eingegeben hat
    return 1;
    }
    }


    mfg. :thumbup:

    KontoMoney = Das Geld das der Spieler auf seinen Konto hat
    KontoNummer = Die Kontonummer vom Konto des Spielers


    if(SpielerInfo[playerid][KontoNummer] == 123)//was weiß ich
    {
    SpielerInfo[playerid][KontoMoney] += 5;//hier der Geldbetrag halt
    return 1;
    }


    mfg. :thumbup: