Beiträge von Ramino

    Achso ich hab mich mit den Parametern vertan. Änder den letzten Parameter so auf..sagen wir 8.


    //E: xD. Mir fällt erst jetzt auf, dass das nicht ich mit dem letzten Parameter war xD

    1.ShowPlayerMarkers(false); //OnGameModeInit
    2.SetPlayerColor(playerid,0xFFFFFFF); // OnPlayerConnect
    3. LimitGlobalChatRadius(50); // OnGameModeInit -> 50 ist die Reichweite und kann verändert werden.

    Ja wenn du das entsprechend im Dialog jetzt definiert als Zahl oder wie hier als DIALOGID


    dafür schreibste am besten weit oben im Script


    #define DIALOGID 1 // Oder eine andere noch nicht verwendete ZAHL



    Such im Script nach OnDialogResponse


    Und füge das ein:



    if(dialogid==DIALOGID)
    {
    switch(listitem)
    {
    case 0:{SetPlayerCheckpoint(playerid,Float:x,Float:y,Float:z,Float:size);}
    case 1:{SetPlayerCheckpoint(playerid,Float:x,Float:y,Float:z,Float:size);}
    case 2:{SetPlayerCheckpoint(playerid,Float:x,Float:y,Float:z,Float:size);}
    }
    }



    Floats musste selber eintragen.

    Such im Script nach OnPlayerKeyStateChange
    und füg das da ein:



    if(newkeys & KEY_SECONDARY_ATTACK)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,246.9503,118.5228,1003.2188))
    {
    ShowPlayerDialog(playerid,DIALOGID,DIALOG_STYLE_LIST,"Dialog","List1\nList2\nList3","Bla","Bla");
    }
    }

    1. Sollst du das auch selber gestalten. Bspw. den Dialog. Da steht selbstverständlich nicht blah blah blah. Ich habs dir fast Copy & Paste bereit gemacht. Außerdem sollste nicht den ganzen Code stumpf einfügen da public OnPlayerKeyStateChange(playerid,newkeys,oldkeys) in jedem Standard Script vorhanden ist.


    //E: Huch danke BlackAce. War n Denkfehler^^ Außerdem fehlt da noch ne Klammer bei IsPlayerInRangeOfPoint am Ende^^ Ich änder das mal

    Er wollt dir nur zeigen wie du IsPlayerInRangeOfPoint nutzen kannst...



    public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
    {
    if(newkeys & KEY_SECONDARY_ATTACK)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,246.9503,118.5228,1003.2188))
    {
    ShowPlayerDialog(playerid,DIALOGID,DIALOG_STYLE_LIST,blah blah blah^^);
    }
    }
    return 1; // Gehört zu OnPlayerKeyStateChange
    }

    Huch da wurd ich ja n bisschen durcheinander gebracht. Ich weiß ja wie OnPlayerKeyStateChange funktioniert. Halt nur grad nicht so ausm Kopf. Und da dachte ich die Weise der Abfragen wären richtig. Naja, wie schon gesagt das mit dem Checkpoint wär ne Altnernative auch wenns etwas länger dauert.


    //E:


    Reloadet!


    Ich kenn den Include zwar nicht aber logisch gesehen wird der nur ausgeführt wenn ein Spieler beschossen wird. Und das ist ja hier nicht der Fall. Hier wird sozusagen das Auto beschossen.


    OnPlayerTakeDamage im 0.3d wird auch nur ausgeführt wenn ein Spieler Schaden abbekommt.

    Also. Ein Anfang wäre, dass du erstmal 2 Variablen erstellst


    sagen wir mal beispielsweise "Supported[MAX_PLAYERS]" und "SupportID[MAX_PLAYERS]"


    Dann setzte beim annehmen des Tickets die Supported Variable auf 1 und die SupportID Variable beim Admin auf die ID des Users und beim User auf die ID des Admins.


    Dann sollte das bei OnPlayerText etwa so aussehen.



    OnPlayerText(playerid, text[])
    {
    if(Supported[playerid] == 1)
    {
    new string[128],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    format(string,128,"%s schrieb: %s",name,text);
    SendClientMessage(SupportID[playerid],FARBE,string);
    }


    return 1; // Gehört zum OnPlayerText oder je nach Script verschieden.
    }



    Und beim Ticket Schließen setzte bei beiden die Variablen auf 0.

    Wohl eher nicht. Der Taxifahrer soll das Geld ja auch bekommen.


    Bin mir nicht sicher ob das klappt aber nen Versuch ists wert.



    public TaxiFahrgast(playerid)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerInAnyVehicle(i))
    {
    if(GetPlayerVehicleID(i) == GetPlayerVehicleID(playerid))
    {
    if(GetPlayerVehicleSeat(i) == 0 && GetPlayerVehicleSeat(playerid) > 0)
    {
    GameTextForPlayer(playerid,"~g~Taxifahrer~g~ -1$ ",1000,1);
    GivePlayerMoney(playerid, -1);
    GivePlayerMoney(i, 1);
    return 1;
    }
    }
    }
    }
    }
    return 0;
    }