Beiträge von ElektroFreak

    ja aber wie gesagt ich wollte doch nur zeigen wie man es machen könnte... außerdem ist es jetzt auch nicht so dass dieser code etwas fürs leben sein soll sondern nur ne kleine Hilfe.
    Und wegen "Ich werde es auch so nicht machen aber weils halt Quatsch ist. Wenn Du Kritik so entgegen wirkst mit "Du musst es so ja nicht machen", dann wirst Du niemals gut programmieren koennen."
    ich programmiere auch nur als hobby in der freizeit und nicht beruflich das kann ich ja vlt noch später machen aber dafür kann man ja eine ausbildung machen etc...

    @Slider ok das mag sein dass es länger dauert aber das ist doch eig egal solange es funktioniert auf diese paar sekunden kommt es ja wirklich nicht an. Und naja solange es funktioniert und die das so machen wollen kann es dir ja egal sein da ich einfach nur andere helfen möchte die sowas bräuchten. Ich habe es auch erst getestet undso und es ging also habe ich es so gelassen.


    Es soll ja nur zeigen wie man es machen KÖNNTE und die die das wollen können ja machen und du musst es ja NICHT.
    Mich haben aber schon 2leute per pn davor angeschrieben wo die mich gefragt hatten und die waren zufrieden.

    Und was sind die Richtigen Werte?


    Kann mir bitte jemand ein beispiel hierraus machen?:


    AddPlayerClass(165,2087.0017,-1718.8115,13.5391,181.3723,0,0,0,0,0,0); //
    AddPlayerClass(165,2081.5581,-1725.4567,13.3906,136.3723,0,0,0,0,0,0); //

    Hallo,
    ich bin gerade dabei ein Gangdightsystem selber zu erstellen aber habe das problem, dass die Zonen nicht angezeigt werden.
    Und kann ich auch bei ner if abfrage statt IsPlayerInRangeOfPoint sowas ist spieler innerhalb eines vierecks also x y z- x y z...?



    @Jeffry

    Hallo,
    da ich selber kein richtiges Thema dazu gefunden habe und selber hilfe brauchte, habe ich mich entschlossen mein Autohaussystem für ein GF zu Verfügung zu stellen!
    Hier im Thema geht es nur darum wie man ein Auto kauft bzw indem man in ein Auto einsteigt und ein Dialog erscheint wo die Daten des Fahrzeuges zu sehen sind.


    Wichtig ist:
    Das alte system darf NICHT entfernt werden sondern nur der Koffer!


    Screens:




    Ich zeige euch alles an einer Faggio



    Also fangen wir mal an...:




    Oben im Script:


    new bFaggio; // das b steht nur für buy. Damit man z.b. auch eine Vermietung machen kann wo ihr einfach da nur vFaggio schreiben müsst.


    bFaggio = AddStaticVehicle( 462, 555.880,-1290.119,16.848,0.064, -1, -1); //da musst du dann halt nur die coords ändern und die car nummer (hier 462 = faggio)


    Bei den defines:


    #define FAGGIO 155 // hier wird der dialog difiniert bzw dialog FAGGIO die nummer ist die zahl an welche dran kommt also wenn bei dir der letze define die nummer 100 hat dann musst du hier dann 101 nehmen also damit sie nicht doppelt sind.


    bei OnPLayerStateChange





    if(IsPlayerInVehicle(playerid, bFaggio))
    {
    FreezePlayer(playerid);
    ShowPlayerDialog(playerid, FAGGIO, DIALOG_STYLE_MSGBOX, "Faggio", "Fahrzeug: Faggio\nTank: 30Liter\nPreis: 8000€", "Kaufen", "Abbrechen");//das könnt ihr so ändern wie es auf euch passt.



    }




    Das kommt dahin wo die ganzen dialöge sind



    if(dialogid == FAGGIO)//das FAGGIO haben wir eben difiniert
    {
    if(response == 0)//wenn die person ESC drückt oder auf abbrechen kommt das:
    {
    UnFreezePlayer(playerid);//entfreezt ihn wieder
    RemovePlayerFromVehicle(playerid);//wichtig weil sonst kann die person mit dem wagen wegfahren
    SendClientMessage(playerid,COLOR_YELLOW, "Du hast den Kauf abgebrochen!");//ist klar
    }
    if(response == 1)//wenn er auf kaufen drückt
    {
    RemovePlayerFromVehicle(playerid);//rauswerfen
    UnFreezePlayer(playerid);//unfreezen
    if(GetPlayerMoney(playerid) < 8000){SendClientMessage(playerid,COLOR_GREY,"Du hast nicht genug Geld um dieses Fahrzeug zu kaufen!");} else {OnPlayerBuyCar(playerid,462,8000,2);} //abfrage ob er genug geld mit hat , die nachicht wenn er nicht genug hat, wenn ja dann geht es zum scriptpunkt OnPlayerBuyCar(playerid,carid,preis,welches auto bzw spawn) (die spawns musst du suchen im script wenn du ingame mal die coords abfragst. wenn du es nicht findest sag einfach besscheid.
    }
    }




    Bei fragen einfach per PN melden! :)

    Also... mach es z.b. so ;



    Oben ins script:


    new bFaggio; // das b steht einfach für buy weil ich bei vermietungen dann z.b. vFaggio habe


    bei OnPLayerstatechange oder so ähnlich



    if(IsPlayerInVehicle(playerid, bFaggio))
    {
    FreezePlayer(playerid);
    ShowPlayerDialog(playerid, FAGGIO, DIALOG_STYLE_MSGBOX, "Faggio", "Fahrzeug: Faggio\nTank: 30Liter\nPreis: 8000€", "Kaufen", "Abbrechen");



    }



    bFaggio = AddStaticVehicle( 462, 555.880,-1290.119,16.848,0.064, -1, -1); //da musst du dann halt nur die coords ändern und die car nummer (hier 462 = faggio)






    #define FAGGIO 155 // hier wird der dialog difiniert bzw dialog FAGGIO die nummer ist die zahl an welche dran kommt also wenn bei dir der letze define die nummer 100 hat dann musst du hier dann 101 nehmen also damit sie nicht doppelt sind. also: (((#define FAGGIO 101)))


    das kommt dahin wo die ganzen dialöge sind



    if(dialogid == FAGGIO)//das FAGGIO haben wir eben difiniert
    {
    if(response == 0)//wenn die person ESC drückt oder auf abbrechen kommt das:
    {
    UnFreezePlayer(playerid);//entfreezt ihn wieder
    RemovePlayerFromVehicle(playerid);//wichtig weil sonst kann die person mit dem wagen wegfahren
    SendClientMessage(playerid,COLOR_YELLOW, "Du hast den Kauf abgebrochen!");//ist klar
    }
    if(response == 1)//wenn er auf kaufen drückt
    {
    RemovePlayerFromVehicle(playerid);//rauswerfen
    UnFreezePlayer(playerid);//unfreezen
    if(GetPlayerMoney(playerid) < 8000){SendClientMessage(playerid,COLOR_GREY,"Du hast nicht genug Geld um dieses Fahrzeug zu kaufen!");} else {OnPlayerBuyCar(playerid,462,8000,2);} //abfrage ob er genug geld mit hat , die nachicht wenn er nicht genug hat, wenn ja dann geht es zum scriptpunkt
    OnPlayerBuyCar(playerid,carid,preis,welches auto bzw spawn) (die spawns musst du suchen im script wenn du ingame mal die coords abfragst. wenn du es nicht findest sag einfach besscheid.
    }
    }

    geht

    if(strcmp(cmdtext, "/rampeweg", true, 9) == 0)
    {
    if(strlen(cmdtext) == 9) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: {FAFAFA}/rampeweg [Slot]");
    else if(cmdtext[9] == ' ')
    {
    new i;
    tmp = strtok(cmdtext, idx);
    moneys = strval(tmp);
    new Float:x, Float:y, Float:z;
    GetObjectPos(rampe[moneys], x, y, z);
    for(new j = 0; j < sizeof(rampe); j++)
    {
    if(rampeID[j] == -1) continue;
    GetObjectPos(rampeID[moneys], x, y, z);
    }
    if(sscanf(cmdtext[10], "d", i)) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: {FAFAFA}/rampeweg [Slot]");
    if(i < 0 || i >= sizeof(rampeID)) return SendClientMessage(playerid, 0xFF0000FF, "Es gibt nur rampen 0-150!");
    if(rampeID[i] == -1) return SendClientMessage(playerid, 0xFF0000FF, "Diese rampe existiert nicht!");
    if(!IsPlayerInRangeOfPoint(playerid, 4, x, y, z)) return SendClientMessage(playerid, 0xFF0000FF, "Du bist nicht in der Nähe der rampe!");


    DestroyObject(rampeID[i]);
    rampeID[i] = -1;
    rampeTime[i] = 0;
    new str[380];
    Delete3DTextLabel(rampeLabel[i]);
    format(str, sizeof(str), "{FAFAFA}Du hast rampe {FF6400}%d{FAFAFA} entfernt!)",i);
    SendClientMessage(playerid, 0xFF0000FF,str);
    }
    }


    geht nicht
    if(strcmp(cmdtext, "/lrampe", true, 7) == 0)
    {
    if(strlen(cmdtext) == 7) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: {FAFAFA}/rampeweg [Slot]");
    else if(cmdtext[7] == ' ')
    {
    new i;
    tmp = strtok(cmdtext, idx);
    moneys = strval(tmp);
    new Float:x, Float:y, Float:z;
    GetObjectPos(rampe[moneys], x, y, z);
    for(new j = 0; j < sizeof(rampe); j++)
    {
    if(rampeID[j] == -1) continue;
    GetObjectPos(rampeID[moneys], x, y, z);
    }
    if(sscanf(cmdtext[10], "d", i)) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: {FAFAFA}/rampeweg [Slot]");
    if(i < 0 || i >= sizeof(rampeID)) return SendClientMessage(playerid, 0xFF0000FF, "Es gibt nur rampen 0-150!");
    if(rampeID[i] == -1) return SendClientMessage(playerid, 0xFF0000FF, "Diese rampe existiert nicht!");
    if(!IsPlayerInRangeOfPoint(playerid, 4, x, y, z)) return SendClientMessage(playerid, 0xFF0000FF, "Du bist nicht in der Nähe der rampe!");


    DestroyObject(rampeID[i]);
    rampeID[i] = -1;
    rampeTime[i] = 0;
    new str[380];
    Delete3DTextLabel(rampeLabel[i]);
    format(str, sizeof(str), "{FAFAFA}Du hast rampe {FF6400}%d{FAFAFA} entfernt!)",i);
    SendClientMessage(playerid, 0xFF0000FF,str);
    }
    }



    @Jeffry