Beiträge von Silbermond

    Spoiler anzeigen
    ocmd:buyzollticket(playerid,params[])
    {
    new string[128];
    /*
    ZLV1L/auf CreateObject(968, 1648.6, -42.1, 36.4, 0, 0, 31.5);
    ZLV1L/zu CreateObject(968, 1648.5996, -42.09961, 36.4, 0, 268.25, 22.998);
    */
    if(IsPlayerInRangeOfPoint(playerid,5,1648.6, -42.1, 36.4)) //Links in Fahrtrichtung nach LV
    {

    format(string,sizeof(string),"Möchtest du ein Zollticket im Preis von %i Euro kaufen?",zInfo[playerid][z_preis]);
    ShowPlayerDialog(playerid,DIALOG_ZOLL_LS_LV,DIALOG_STYLE_MSGBOX,"Zoll - Ticket",string,"Ja","Nein, Abbruch");
    }
    else if(IsPlayerInRangeOfPoint(playerid,5,1656.6, -35.6, 36.5)) //Rechts in Fahrtrichtung nach LS
    {

    format(string,sizeof(string),"Möchtest du ein Zollticket im Preis von %i Euro kaufen?",zInfo[playerid][z_preis]);
    ShowPlayerDialog(playerid,DIALOG_ZOLL_LV_LS,DIALOG_STYLE_MSGBOX,"Zoll - Ticket",string,"Ja","Nein, Abbruch");
    }

    }



    der Ticketkauf befehl




    und hier der Close Timer


    Spoiler anzeigen
    forward ZLVL1(playerid);
    public ZLVL1(playerid)
    {

    MoveObject(ZLV1L,1648.5996, -42.09961, 36.4,10);
    SetObjectRot(ZLV1L,0, 268.25, 22.998);
    SendClientMessage(playerid,-1,"Die Schranke wird geschlossen");
    return 1;
    }

    Spoiler anzeigen
    //1656.6, -35.5, 36.5, 0, 267.747, 26.491

    Spoiler anzeigen
    forward ZLVR1(playerid);
    public ZLVR1(playerid)
    {

    MoveObject(ZLV1R,1656.6, -35.5, 36.5,10);
    SetObjectRot(ZLV1R, 0, 267.747, 26.491);
    SendClientMessage(playerid,-1,"Die Schranke wird geschlossen");
    return 1;
    }



    Die schranken erstelle ich mit CreateObject

    Klar, es gibt da einen Callback


    public OnRconCommand(cmd[])
    {
    return 1;
    }



    überwiegend musst du dann hier arbeiten


    für den Rcon Login würde ich folgendes probieren



    [expander]ocmd:rcon login(playerid,params[])
    {
    new string[128];
    format(string,sizeof(string),"Der Spieler %s hat sich ins RCON eingeloggt/versucht sich einzuloggen",getPlayerName(playerid));
    SCMTOADMIN(-1,string);
    }[/expander]

    Okay. Ich versuche das nochmals intensiv zu erklären



    Also:


    Spieler X fährt zur Zollschranke zwischen LS und LV


    Diese durchquerung kostet 500 € (festgesetzter Preis für diese Station)


    Er fährt weiter und kommt auf dem Weg zur Army base wieder an eine Station


    Diese kostet 250 €




    Mein Wunsch ist es nun


    die Koordinaten der Schranken (sind ja je 2 ) mit den Koordinaten aus der DB (die erstellt werden mit createzoll)
    zu verbinden, heißt z.B.


    Wenn DBKOORD im Radius X von SCHRANKE 1 und/oder 2 sind wird der Preis beim DIALOG abgerufen




    Weißt du nun was ich meine?

    Dass du die Schranke nur an der speziellen Position öffnen kannst, oder was genau meinst du?

    also ich habe ja jetzt eine doppelseite schranke. 1 Richtung LS 1 Richtung LV


    So die habe ich jetzt als je 1 Station definiert also ID 1 (Richtung LS ) und 2 (Richtung LV)


    So jetzt möchte ich, dass wenn der Spieler davor steht, dass der Preis von der jeweiligen Schranke (Pos) geladen wird.


    Dafür muss ich ja irgendwie die Schranke auf die Pos definieren



    Wie geht das?



    momentan habe ich ja das buyzollticket system nur so


    Spoiler anzeigen
    ocmd:buyzollticket(playerid,params[])
    {
    new string[128];

    if(IsPlayerInRangeOfPoint(playerid,5,1648.6, -42.1, 36.4)) //Links in Fahrtrichtung nach LV
    {

    format(string,sizeof(string),"Möchtest du ein Zollticket im Preis von %i Euro kaufen?",zInfo[playerid][z_preis]);
    ShowPlayerDialog(playerid,DIALOG_ZOLL_LV,DIALOG_STYLE_MSGBOX,"Zoll - Ticket",string,"Ja","Nein, Abbruch");
    }
    else{}

    }



    E1:



    Dazu den DIALOG


    Spoiler anzeigen
    if(dialogid == DIALOG_ZOLL_LV)
    {
    if(response)
    {
    //Zollticketprozess (kaufen)

    if(GetPlayerMoney(playerid)<zInfo[playerid][z_preis])
    {
    SendClientMessage(playerid,RED,"Du hast nicht genügend Geld um dir ein Zollticket zu kaufen");

    return 1;
    }
    GivePlayerMoney(playerid,-zInfo[playerid][z_preis]);
    //Schranke Bewegen
    /*
    ZLV1L/auf CreateObject(968, 1648.6, -42.1, 36.4, 0, 0, 31.5);
    ZLV1L/zu CreateObject(968, 1648.5996, -42.09961, 36.4, 0, 268.25, 22.998);
    */
    MoveObject(ZLV1L,1648.6, -42.1, 36.4,3);
    SetObjectRot(ZLV1L,0, 0, 31.5);
    SetTimerEx("ZLVL1",7000,false,"i",playerid);
    SendClientMessage(playerid,CLGREEN,"Du hast dir erfolgreich ein Zollticket gekauft! Gute Fahrt!");
    SendClientMessage(playerid,CL_ORANGE,"Du kannst nun weiterfahren");

    return 1;
    }
    else
    {

    SendClientMessage(playerid,RED,"Du hast den Kauf des Zolltickets abgebrochen");
    return 1;
    }
    }

    danke hat soweit geklappt.



    Ein anliegen habe ich aber dann doch noch.


    Jetzt habe ich ja dass der Spieler an der jeweiligen Zollstation X Euro bezahlen muss


    wie definiere ich denn die Schranke auf die jeweilige Positon (x,y,z) und die ID


    Brauchst du dazu nen Code von mir?


    MFG

    das Enum


    Spoiler anzeigen
    enum zollEnum{
    Float:z_x,
    Float:z_y,
    Float:z_z,
    z_preis,
    z_id,
    }

    Spoiler anzeigen
    new zInfo[50][zollEnum];


    getPlayerName


    Spoiler anzeigen
    getPlayerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name,sizeof(name));
    return name;
    }


    und getPlayerAdminName


    Spoiler anzeigen
    stock GetPlayerAdminName(playerid)
    {
    new aName[]="Stellv. Projektleiter";
    switch(sInfo[playerid][alevel])
    {
    case 0: aName="User";
    case 1: aName="V.I.P";
    case 2: aName="Supporter";
    case 3: aName="Moderator";
    case 4: aName="Chef -Moderator";
    case 5: aName="Administrator";
    case 6: aName="Chef -Administrator";
    case 7: aName="Server-Manager";
    case 8: aName="Development";
    case 9: aName="Projektleiter";
    default: aName="ERROR";
    }
    return aName;
    }

    Hallo Comm,



    ich habe ein Problem mit meinem MYSQL SYSTEM


    unter anderem sagt er mir in "JEDER" Zeile


    Tag Mismatch


    Hier die betroffenen Zeilen


    format(query,sizeof(query),"INSERT INTO ZollLV (id,preis,x_z,z_y,z_z,name,rang) VALUES ('%i','%i','%f','%f','%f','%s','%s')",
    zInfo[playerid][z_id],zInfo[playerid][z_preis],zInfo[playerid][z_x],zInfo[playerid][z_y],cInfo[playerid][z_z],getPlayerName(playerid),GetPlayerAdminName(playerid));



    und


    format(query,sizeof(query),"INSERT INTO ZollLV (preis,z_x,z_y,z_z,name,rang) VALUES ('%i','%f','%f','%f','%s','%s')",zInfo[playerid][z_preis],zInfo[playerid][z_x],zInfo[playerid][z_y],cInfo[playerid][z_z],getPlayerName(playerid),GetPlayerAdminName(playerid));



    Danke für jede Hilfe

    Hallo Comm,


    ich bin gerade dabei, die verschiedenen Fraktionen mit Toren und Schranken zu versehen.


    Dazu gehört auch wie jetzt die Schranken beim SFPD


    Nun ich habe alles mit den Bewegungen hinbekommen


    das Problem besteht nun daraus, dass die Schranke zwar nach unten geht. Aber unter 2 Punkten


    Falsche Richtung
    und Sie liegt flach



    Dazu kommt dass diese dann nicht mehr in die Ausgangsposition geht :(


    Hier mal der Befehl. Ich habe die Komplette zeile an Koordinaten reingenommen damit die Rotation auch stimmt


    Spoiler anzeigen
    else if(IsPlayerInRangeOfPoint(playerid,8,-1572.4004, 658.90039, 7.1))
    {
    MoveObject(SF_Tor4,-1572.4004, 658.90039, 7.1, 359.977, 90.75, 88.745,5 );

    SendClientMessage(playerid,-1,"Die Schranke wird geöffnet!");
    SetTimerEx("SF_Toro",5000,false,"i",playerid);
    }
    else if(IsPlayerInRangeOfPoint(playerid,8,-1701.4004, 687.59961, 24.7))
    {
    MoveObject(SF_Tor5,-1701.4004, 687.59961, 24.7, 2.531, 5.998, 274.018,5 );
    SendClientMessage(playerid,-1,"Die Schranke wird geöffnet!");
    SetTimerEx("SF_Toru",5000,false,"i",playerid);
    }



    und die dazugehörigen Timer


    Spoiler anzeigen
    forward SF_Toro(playerid);
    public SF_Toro(playerid)
    {
    MoveObject(SF_Tor4,-1572.4, 658.90002, 7.1, 0, 0, 87,5);
    SendClientMessage(playerid,-1,"Die Schranke wird geschlossen");

    return 1;
    }
    forward SF_Toru(playerid);
    public SF_Toru(playerid)
    {
    MoveObject(SF_Tor5,-1701.4, 687.59998, 24.7, 359.973, 90.747, 270.492,5);
    SendClientMessage(playerid,-1,"Die Schranke wird geschlossen");

    return 1;
    }



    Im Anhang findet ihr noch die beiden Screens
    Vor dem Öffnen und wenn sie wieder geschlossen ist


    Vielen dank für jede Hilfe


    MFG

    Zitat von »Silbermond«




    Großbestellung:


    5 mal Samsung Galaxy S5


    5 mal Samsung Galaxy S4


    Und jeweils Hüllen und Speicherkarten je 64 GB


    Darf ich fragen wofür? Firmen Handys :D?


    btw.


    Vario blockier Werkzeug
    Stage 6 Highquality gewichte 3-5g jeweil 2 packungen für jedes gr
    Choke


    Cod Aw inc Season Pass
    + Xbox one mit forza Horizon 2
    Destiny
    Fifa 15


    Paar CS:GO skins


    Familienbestellung :P
    Wir haben 50% Rabatt bekommen also nur die Hälfte bezahlt