Beiträge von Dog

    naja einfach aber nicht schlecht nur warum nur für GF ? wenn du dein tut etwas anderst gemacht hättest neu dann würde es sogar für GF & NON GF gehen.



    Und ich Würde Empfehlen :


    strvalEx(arrCoords[3]); statt strval(arrCoords[3]); zu nehmen, denn dann kannst du dort auch Abziehen und Hinzufügen.



    bsp : für ein abheben und draufladen:


    if(strcmp(cmd, "/reinzahlen", true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "/reinzahlen[geld]");
    return 1;
    }
    new geld= strval(tmp);
    if(GetPlayerMoney(playerid) < geld)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "So Viel Haben sie nicht");
    return 1;
    }
    GivePlayerMoney(playerid, -geld);
    GangAccount += geld;
    SaveStuff();
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Sie Zahlten %d $ Ein", geld);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    return 1;
    }


    if(strcmp(cmd, "/abheben", true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "/abheben [betrag]");
    return 1;
    }
    new geld= strval(tmp);
    if(betrag > geld)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "So Viel Geld befindet sich nicht in den Gang Account!");
    return 1;
    }
    new check= GangAccount - geld;
    if(check > GangAccount )
    {
    format(string, sizeof(string), "Nicht Möglich !.");
    SendClientMessage(playerid, COLOR_GRAD1, string);
    return 1;
    }
    GivePlayerMoney(playerid,geld);
    GangAccount -= geld;
    SaveStuff();
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Sie heben%d $ von ihren Gang Konto ab", geld);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    return 1;
    }



    Edit : Was Gefixt

    Windows 7 ist Ressourcen shonender zu Vista woher ich das wohl weis ...? es gab hier scohnmal ein thread :> leider gibts die beta nicht mehr wills unebdingt auch mal antesten...

    meinst du das ?


    new sendername[MAX_PLAYER_NAME];


    Falls dir das hier dann auch noch fehlt :


    GetPlayerName(playerid, sendername, sizeof(sendername));





    Edit : new string[128];

    eine klammer } zu Wenig,


    bsp :


    public blubb()
    { //<---- Klammer 1
    if(blubbblubb ==1)
    { //<---- Klammer 2
    // Jetz hast du 2 Klammern auf und mußt am auch wieder 2 klammer } machen.
    } // Klammer 1
    return 1; //
    } // Klammer 2



    bsp 2:


    public blubb()
    { // Klammer 1
    if(blublbublub == 1)
    { // Klammer 2
    Send Client....
    } // KLammer 1 Zu Restliche Klammern 1.
    if(blublbublub == 0)
    { // Klammer auf Restliche Klammern zu 2.
    Send Client....
    } // Klammer zu 1
    } // Klammer zu 2


    Einfach 2 Grobe Klammer auf & Zu Bsp. Am Ende müssen immer so viele wie Offen sind auch wieder zu sein.

    Hier Klick


    CMDS :


    /spenden [betrag]


    /stand ( Rcon Admin Erforderlich )
    /abheben [betrag] ( Rcon Admin Erforderlich )


    scriptfiles datei dabei falls nicht eine ini datei erstellen "sbank"


    ps sry das jeder naricht erhält habe ich jetz nicht gelesen ..das leider nicht dabei das aber nicht so schwer

    Ungefähr wie Troopers 1 Vorschlang meine ich das hier ein


    Bsp.


    // Header


    new aufzug;
    forward beispiel(playerid);



    // OnGameModeINI


    aufzug = CreateObject(typ,x,y,z);
    SetTimer("beispiel",1000,1); // Ruft die Public alle XX zeit auf



    // public


    public beispiel(playerid)
    {
    if(playertopoint(playerid,x,y,z,5.0)); // Prüft ob spiele an der X,Y,Z Position ist die natürlich mit dein coords ersetzen.
    {
    MoveObject(aufzug,x,y,z,time); //hoch <-ist er an den punkt fährt das object hoch.
    }
    return 1;
    }



    so meinte ich das ...

    Ja Einfach die Coords setzen wo wo sich der aufzug dann bewegen soll und dann dan


    if(playerToPoint....
    {
    MoveObject....
    }


    die public wo drinne PTP steht muss halt nur alle sec aufgerufen werden.

    Ich Empfehle dir das Tool : Klick


    damit kannste am besten die zonen Erstellen wie das funct solte eig leicht zu verstehen sein, nach dem du eine erstellt hast, zeigt er dir an der seite das an :


    BSP:


    //======================
    // Above OnGameModeInit:
    new 232;


    // OnGameModeInit Insert
    public OnGameModeInit() {
    232 = GangZoneCreate(1179,465, -770,7397, 2358,931, -140,1345);
    return 1;
    }
    // Player Spawn
    public OnPlayerSpawn(playerid) {
    GangZoneShowForPlayer(playerid, 232, 0x00000096);
    return 1;
    }
    //======================


    dann kopierst du aus GangZoneCreate
    GangZoneCreate(1179,465, -770,7397, 2358,931, -140,1345);
    -------------------------MinX------MaxX-------MinY--------MaxY
    Die Coords raus : 1179,465, -770,7397, 2358,931, -140,1345


    Durch ein bug musst du allerdings die , mit ein . ersetzen also bei den bsp : 1179.465, -770.7397, 2358.931, -140.1345


    fertig jetz haßt du die coords ..war das das was du wissen woltest ?



    Edit : Ein Area BSP . Dieses : Klick
    // header
    new area1;


    // Unter Ongamemode :


    area1= CreateArea(1179,465, -770,7397, 2358,931, -140,1345 );



    // in public OnPlayerEnterArea(playerid,areaid)


    public OnPlayerEnterArea(playerid,areaid)
    {
    if(IsPlayerInArea(playerid, area1)
    {
    //was passieren soll wenn er area1 betritt.
    }
    return 1;
    }
    public OnPlayerExitArea(playerid,areaid)
    {
    if(IsPlayerInArea(playerid, area1)
    {
    //was passieren soll wenn er area1 verlässt.
    return 1;
    }