Brauche Hilfe mit Dialog

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Entschuldige die späte Antwort, ich hatte unter der Woche leider keine Zeit.

    Habe noch ne Frage wie kann ich das so machen wenn ich aus dem taxi der duty ist austeige und ein anderen nehme das da der dialog kommt und der andere taxi wieder zurück spawnt wie kann ich das machen MfG Lui

    Dann musst du den Code hierzu anpassen:
    if(IsVehicleATaxi(vehicleid))
    {
    if(Spieler[playerid][pJob] != 17)
    {
    TextDrawShowForPlayer(playerid,InfoSign);
    PlayerTextDrawSetString(playerid,INFOdraw[playerid][2],"~r~Info:~w~~n~Du besitzt nicht den jeweiligen Job.");
    PlayerTextDrawShow(playerid,INFOdraw[playerid][2]);
    SetTimerEx("HideInfoBox",3000,0,"i",playerid);
    return RemovePlayerFromVehicle(playerid);
    }
    printf("pTaxiDuty: %d", Spieler[playerid][pTaxiDuty]);
    if(Spieler[playerid][pTaxiDuty] == 0)
    {
    Spieler[playerid][pTaxiVeh] = vehicleid;
    ShowPlayerDialog(playerid, DIALOG_TAXIPICE, DIALOG_STYLE_INPUT, "{FFFF00}Taxi - Preis festlegen", "{FFFFFF}Lege den Preis für die Taxifahrt fest:", "Ok", "Abbrechen");
    }
    else if(vehicleid != Spieler[playerid][pTaxiVeh])
    {
    SetVehicleToRespawn(Spieler[playerid][pTaxiVeh]);
    Spieler[playerid][pTaxiVeh] = vehicleid;
    ShowPlayerDialog(playerid, DIALOG_TAXIPICE, DIALOG_STYLE_INPUT, "{FFFF00}Taxi - Preis festlegen", "{FFFFFF}Lege den Preis für die Taxifahrt fest:", "Ok", "Abbrechen");
    }
    }
    Im enum noch "pTaxiVeh" aufnehmen.


    EDIT:
    Habe den Code nochmal ausgebessert, bitte so verwenden.

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry () aus folgendem Grund: Code angepasst.

  • Hey Leute das mit dem Dialog geht ja schon mall gans gut habe aber noch da ne frage wenn kein fahrer im taxi sietzt und hinten einer einsteigt wie kann ich das machen das der dan wieder raus geworden wird weil kein fahrer drin ist wie kann ich das machen Mfg Lui



    if(newstate == PLAYER_STATE_PASSENGER)
    {
    SetPlayerArmedWeapon(playerid,0);
    if(IsVehicleATaxi(vehicleid))
    {
    new driver = GetVehicleDriver(vehicleid);
    if(Spieler[driver][pTaxiDuty] == 1)
    {
    if((GetACMoney(playerid) - taxifare) < 0)
    {
    TextDrawShowForPlayer(playerid,InfoSign);
    PlayerTextDrawSetString(playerid,INFOdraw[playerid][2],"~r~Info:~w~~n~Nicht genug Geld.");
    PlayerTextDrawShow(playerid,INFOdraw[playerid][2]);
    SetTimerEx("HideInfoBox",3000,0,"i",playerid);
    return RemovePlayerFromVehicle(playerid);
    }
    Spieler[playerid][pTaxiBeifahrerPreis] = 0;
    PlayerTextDrawShow(playerid,TAXOdraw[playerid][0]);
    PlayerTextDrawShow(playerid,TAXOdraw[playerid][1]);
    PlayerTextDrawSetString(playerid,TAXOdraw[playerid][0],"Fahrpreis: 0$");
    format(string,sizeof(string),"Dienstpreis: %i$",taxifare);
    PlayerTextDrawSetString(playerid,TAXOdraw[playerid][1],string);
    format(string,sizeof(string),"Du bist in das Taxi von %s eingestiegen! Dienstpreis : %i$ (Dienstpreis + Fahrzeit alle 15 Sekunden)",SpielerName(driver),taxifare);
    SCM(playerid,BLAU,string);
    format(string,sizeof(string),"%s ist in dein Taxi eingestiegen! Dienstpreis : %i$ (Dienstpreis + Fahrzeit alle 15 Sekunden)",SpielerName(playerid),taxifare);
    SCM(driver,BLAU,string);
    Spieler[playerid][pTaxiSeat] = GetPlayerVehicleSeat(playerid);
    Spieler[playerid][pTaxiTimer] = SetTimerEx("Taxometer",753,1,"ii",playerid,driver);
    switch(GetPlayerVehicleSeat(playerid))
    {
    case 1:
    {
    format(string,sizeof(string),"%s %i$",SpielerName(playerid),Spieler[playerid][pTaxiBeifahrerPreis]);
    PlayerTextDrawSetString(driver,TAXOdraw[driver][0],string);
    }
    case 2:
    {
    format(string,sizeof(string),"%s %i$",SpielerName(playerid),Spieler[playerid][pTaxiBeifahrerPreis]);
    PlayerTextDrawSetString(driver,TAXOdraw[driver][2],string);
    }
    case 3:
    {
    format(string,sizeof(string),"%s %i$",SpielerName(playerid),Spieler[playerid][pTaxiBeifahrerPreis]);
    PlayerTextDrawSetString(driver,TAXOdraw[driver][3],string);
    }
    }
    }
    }

  • new driver = GetVehicleDriver(vehicleid);
    zu:
    new driver = GetVehicleDriver(vehicleid);
    if(!IsPlayerConnected(driver))
    {
    TextDrawShowForPlayer(playerid,InfoSign);
    PlayerTextDrawSetString(playerid,INFOdraw[playerid][2],"~r~Info:~w~~n~Kein Taxifahrer im Taxi.");
    PlayerTextDrawShow(playerid,INFOdraw[playerid][2]);
    SetTimerEx("HideInfoBox",3000,0,"i",playerid);
    return RemovePlayerFromVehicle(playerid);
    }

  • hey Jeffry wie kann ich das mit dem lockfüher machen wenn der erst im zug ist das der gast erst ab da in die wagongs einsteigen kann wie kann ich das machen



    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_PASSENGER && GetVehicleModel(GetPlayerVehicleID(playerid)) == 570) //Enter modelid oder vehicleid abfragen
    {
    if(Spieler[playerid][pTicket] != true)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    SetPlayerPos(playerid,x+2,y+2,z+2);
    Spieler[playerid][pTicket] = false;
    SCM(playerid,GELB, "Du benötigst ein Ticket um mit dem Zug zu fahren!");
    }
    }

  • Vor der Ticket-Abfrage:
    new driver = GetVehicleDriver(vehicleid);
    if(!IsPlayerConnected(driver))
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    SetPlayerPos(playerid,x+2,y+2,z+2);
    Spieler[playerid][pTicket] = false;
    return SCM(playerid,GELB, "Du musst auf den Lockführer warten!");
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • So
    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_PASSENGER && GetVehicleModel(GetPlayerVehicleID(playerid)) == 570) //Enter modelid oder vehicleid abfragen
    {
    new driver = GetVehicleDriver(vehicleid);
    if(!IsPlayerConnected(driver))
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    SetPlayerPos(playerid,x+2,y+2,z+2);
    Spieler[playerid][pTicket] = false;
    return SCM(playerid,GELB, "Du musst auf den Lockführer warten!");
    }
    if(Spieler[playerid][pTicket] != true)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    SetPlayerPos(playerid,x+2,y+2,z+2);
    Spieler[playerid][pTicket] = false;
    SCM(playerid,GELB, "Du benötigst ein Ticket um mit dem Zug zu fahren!");
    }
    }


  • Zug[0]=AddStaticVehicleEx(538,1739.9657,-1958.2709,13.2438,270.7966,1,1,120);


    stock IsVehAZug(vehicleid)
    {
    new result;
    new model = GetVehicleModel(vehicleid);
    switch(model)
    {
    case 537,538,570,569: result = model;
    default: result = 0;
    }
    return result;
    }


    stock IsVehicleAZug(vehicleid)
    {
    for(new i=0;i<sizeof(Zug);i++)
    {
    if(vehicleid == Zug[i])
    return 1;
    }
    return 0;
    }


    public ZughalteStelle(playerid,fahrt,nextbusstop)
    {
    new string[256];
    switch(fahrt)
    {
    case 1:
    {
    SetPlayerCheckpoint(playerid,Zuglinie[nextbusstop][Xcp],Zuglinie[nextbusstop][Ycp],Zuglinie[nextbusstop][Zcp],Zuglinie[nextbusstop][CPSize]);
    format(string,sizeof(string),"* Nächster Halt '%s'!",Zuglinie[nextbusstop][CheckPointText]);
    ForEachPlayer(i)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(GetPVarInt(i,"Eingeloggt") == 1)
    {
    if(GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid))
    {
    if(IsPlayerInVehicle(i,GetPlayerVehicleID(playerid)))
    {
    if(i != playerid)
    {
    if((GetACMoney(i) - MAX_BUS_PRICE) < 0)
    {
    RemovePlayerFromVehicle(i);
    }
    else
    {
    ACMoney(i,-MAX_BUS_PRICE);
    Spieler[playerid][pLohn] += MAX_BUS_PRICE;
    SCM(i,REPORTACCEPTCOLOR,"Du musstes "#MAX_BUS_PRICE"$ für diese Haltestelle bezahlen.");
    }
    }
    SCM(i,REPORTACCEPTCOLOR,string);
    }
    }
    }
    }
    }
    PlayerPlaySound(playerid,1058,0.0,0.0,0.0);
    format(string,sizeof(string),#JobNameZug\n"Nächster Halt: %s\nZugfahrer: %s",Zuglinie[nextbusstop][CheckPointText],SpielerName(playerid));
    for(new i=0; i<sizeof(Zug); i++)
    {
    UpdateDynamic3DTextLabelText(ZugLabel[i], ZUGFARBESYSTEM,string);
    }
    //TogglePlayerControllable(playerid,1);
    return 1;
    }
    }
    return print("ERROR: ZughalteStelle public nicht erkannt!");
    }


    COMMAND:fahre(playerid,params[])
    {
    //(CheckPermissions(playerid,Tutorial,Login,AFK,Prison,Friedhof,Death,Jail,Tazed,Cuffed)
    if(CheckPermissions(playerid,true,true,true,true,true,true,true,true,true) == 1)return 1;
    new vehicleid = GetPlayerVehicleID(playerid);
    if(!isPlayerInJob(playerid,21))return SCM(playerid,ZUGFARBESYSTEM,"Du bist nicht in der jeweiligen Job.");
    if(!IsVehicleAZug(GetPlayerVehicleID(playerid)))return SCM(playerid,ZUGFARBESYSTEM,"Du befindest dich in keinem Zug.");
    if(GetPlayerVehicleSeat(playerid) != 0)return SCM(playerid,ZUGFARBESYSTEM,"Nicht der Fahrer des Fahrzeugs.");
    {
    if(IsVehicleAZug(vehicleid))
    {
    ShowPlayerDialog(playerid,DIALOG_JOB_STRECKEN_AUSWAHL,DIALOG_STYLE_LIST,"Buslinien",DialogZuglinie,"Auswählen","Abbrechen");
    }
    }
    return 1;
    }


    if(IsVehicleAZug(vehicleid))
    {
    if(!isPlayerInJob(playerid,21))
    {
    new Float:x, Float:y, Float:z;
    TextDrawShowForPlayer(playerid,InfoSign);
    PlayerTextDrawSetString(playerid,INFOdraw[playerid][2],"~r~Info:~w~~n~Du besitzt nicht den jeweiligen Job.");
    PlayerTextDrawShow(playerid,INFOdraw[playerid][2]);
    SCM(playerid,ZUGFARBESYSTEM,"Du besitzt nicht den jeweiligen Job.");
    SetTimerEx("HideInfoBox",3000,0,"i",playerid);
    GetPlayerPos(playerid,x,y,z);
    SetPlayerPos(playerid,x+2,y+2,z+2);
    return 1;
    }
    if(ZugCheckpointStatus[playerid] == -1)
    {
    //ShowPlayerDialog(playerid,DIALOG_JOB_STRECKEN_AUSWAHL,DIALOG_STYLE_LIST,"Buslinien",DialogBuslinie,"Auswählen","Abbrechen");
    }
    else
    {
    SCM(playerid,ZUGFARBESYSTEM,"Tipp /linie um in Dienst zu gehen.");
    TextDrawShowForPlayer(playerid,InfoSign);
    PlayerTextDrawSetString(playerid,INFOdraw[playerid][2],"~r~Info:~w~~n~Fahre nun weiter die Haltestellen ab!");
    PlayerTextDrawShow(playerid,INFOdraw[playerid][2]);
    SetTimerEx("HideInfoBox",3000,0,"i",playerid);
    KillTimer(JobTimer[playerid]);
    }
    }


    if(isPlayerInJob(playerid,21) && IsVehicleAZug(vehicleid))//Zugfahrerjob
    {
    Spieler[playerid][WorkInJob] = 1;
    SetPlayerCheckpoint(playerid,Zuglinie[0][Xcp],Zuglinie[0][Ycp],Zuglinie[0][Zcp],Zuglinie[0][CPSize]);
    ZugCheckpointStatus[playerid] = 0;
    SCM(playerid,ZUGFARBESYSTEM,"Fahre nun einzeln die Haltestellen ab! Ein Checkpoint wurde gesetzt.(/stopjob um abzubrechen)");
    format(string,sizeof(string),#JobNameZug\n"Nächster Halt: %s\nZugfahrer: %s",Zuglinie[0][CheckPointText],SpielerName(playerid));
    VehicleOnDuty[vehicleid] = true;
    for(new i=0; i<sizeof(Zug); i++)
    {
    UpdateDynamic3DTextLabelText(ZugLabel[i], ZUGFARBESYSTEM,string);
    }
    return 1;
    }


  • if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_PASSENGER && GetVehicleModel(GetPlayerVehicleID(playerid)) == 570) //Enter modelid oder vehicleid abfragen
    {
    new driver = GetVehicleDriver(GetPlayerVehicleID(playerid));
    if(!IsPlayerConnected(driver))
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    SetPlayerPos(playerid,x+2,y+2,z+2);
    Spieler[playerid][pTicket] = false;
    return SCM(playerid,GELB, "Du musst auf den Lockführer warten!");
    }
    if(Spieler[playerid][pTicket] != true)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    SetPlayerPos(playerid,x+2,y+2,z+2);
    Spieler[playerid][pTicket] = false;
    SCM(playerid,GELB, "Du benötigst ein Ticket um mit dem Zug zu fahren!");
    }
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen