Mein erstes Navi-System

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
  • Heute Abend habe ich versucht mich an ein Navi-System aber bekomme irgendwie fehler:


    if(dialogid== DIALOG_NAVI)
    {
    if(response)
    {
    if(listitem==0)
    {
    if(!IsPlayerInRangeCheckpoint(playerid))
    {
    SetPlayerCheckpoint(playerid,1720.9348,-1605.5741,13.2839,4);
    SendClientMessage(playerid,grün,"Sie sind an der Stadthalle")
    }
    }
    if(listitem==1)
    {
    if(!IsPlayerInRangeCheckpoint(playerid))
    {
    SetPlayerCheckpoint(playerid,2461.3162,1707.8856,10.4814,4);
    SendClientMessage(playerid,grün,"Sie sind am Autohauslv");
    }
    }
    if(listitem==2)
    {
    if(!IsPlayerInRangeCheckpoint(playerid))
    {
    SetPlayerCheckpoint(playerid,1129.1177,-1706.2179,13.2925,4);
    SendClientMessage(playerid,grün,"Sie sind an der Busstation");
    }
    }
    if(listitem==3)
    {
    if(!IsPlayerInRangeCheckpoint(playerid))
    {
    SetPlayerCheckpoint(playerid,2082.0825,-2031.3174,13.2832,4);
    SendClientMessage(playerid,grün,"Sie sind am Mülldepo");
    }
    }
    if(listitem==4)
    {
    if(!IsPlayerInRangeCheckpoint(playerid))
    {
    SetPlayerCheckpoint(playerid,1363.7589,-1280.4430,13.2370,4);
    SendClientMessage(playerid,color,"Sie sind am Waffenladen");
    }
    }
    }
    }


    samplernen.p(1596) : error 017: undefined symbol "IsPlayerInRangeCheckpoint"
    samplernen.p(1600) : error 001: expected token: ";", but found "}"
    samplernen.p(1604) : error 017: undefined symbol "IsPlayerInRangeCheckpoint"
    samplernen.p(1612) : error 017: undefined symbol "IsPlayerInRangeCheckpoint"
    samplernen.p(1620) : error 017: undefined symbol "IsPlayerInRangeCheckpoint"
    samplernen.p(1628) : error 017: undefined symbol "IsPlayerInRangeCheckpoint"
    samplernen.p(1631) : error 017: undefined symbol "color"

  • Der Code geht zwar nun aber wenn ich mich auf den Server Connecte bekomm ich mein Register Fenster nicht mehr:





    So sieht alles für mein Navi-System aus:



    define:
    //DIALOGE:
    #define DIALOG_TELEPORT 1
    #define DIALOG_REGISTER 2
    #define DIALOG_LOGIN 3
    #define DIALOG_AUTOHAUS 4
    #define DIALOG_Buslinien 5
    #define DIALOG_Autosystem 6
    #define DIALOG_NAVI 7


    ocmd:


    ocmd:navigationsgeraet(playerid,params[])
    {
    ShowPlayerDialog(playerid,DIALOG_NAVI,DIALOG_STYLE_LIST,"navigationsgeraet","Stadthalle\nAutohauslv\nBusstation\nMuellldepo\nWaffenladen","Bestätigen","Abbrechen");
    return 1;
    }



    Dialoge:
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==DIALOG_AUTOHAUS)
    {
    if(response)
    {
    //Autoverkauf
    new id=GetPVarInt(playerid,"buyCarID");
    if(GetPlayerMoney(playerid)<ahCars[id][c_preis])
    {
    SendClientMessage(playerid,gelb,"Du besitzt nicht das benötige Geld für das Fahrzeug");
    RemovePlayerFromVehicle(playerid);
    }
    GivePlayerMoney(playerid,-ahCars[id][c_preis]);
    createPlayerCar(playerid,ahCars[id][model],ahInfo[ahCars[id][ah_id]][v_x],ahInfo[ahCars[id][ah_id]][v_y],ahInfo[ahCars[id][ah_id]][v_z],ahInfo[ahCars[id][ah_id]][v_r]);
    SendClientMessage(playerid,grün,"Sie haben sich erfolgreich ein Fahrzeug gekauft.");
    RemovePlayerFromVehicle(playerid);
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,türkis,"Du hast den Kaufvorgang abgebrochen.");


    }
    return 1;
    }
    if(dialogid==DIALOG_LOGIN)
    {
    if(response)
    {
    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>0)
    {
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND passwort=MD5('%s')",name,passwort);
    mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
    }
    else
    {
    //Keine Eingabe
    SendClientMessage(playerid,grün,"Gibt bitte dein Passwort ein.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Anmelden","Abbrechen");
    }
    }
    else
    {
    Kick(playerid);
    }
    }
    if(dialogid==DIALOG_REGISTER)
    {
    if(response)
    {
    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>5)
    {
    //Registrierungsfunktion
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"INSERT INTO user (username,passwort) VALUES ('%s',MD5('%s')) ",name,passwort);
    mysql_function_query(dbhandle,query,false,"","");
    sInfo[playerid][level]=1;
    SetPlayerScore(playerid,sInfo[playerid][level]);
    }
    else
    {
    //Kleiner als 4 Zeichen
    SendClientMessage(playerid,helblau,"Dein Passwort muss mindestens 6 Zeichen lang sein.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Account Erstellung","Gebe bitte nun dein gewünschtes Passwort ein!","Erstellen","Abbrechen");
    }
    }
    else
    {
    Kick(playerid);
    }
    }
    if(dialogid==DIALOG_TELEPORT)
    {
    if(response)
    {
    if(listitem==0)
    {
    //Autohaus
    SetPlayerPos(playerid,2502.1106,1706.7172,10.8203);
    SetPlayerFacingAngle(playerid,95.2747);
    }
    if(listitem==1)
    {
    //Busstation
    SetPlayerPos(playerid,1106.0049,-1704.5876,13.2741);
    SetPlayerFacingAngle(playerid,93.3103);
    }
    }
    else
    {
    SendClientMessage(playerid,rot,"Vorgang abgebrochen.");
    }
    }


    if(dialogid==DIALOG_Buslinien)
    {
    if(response)
    {
    if(listitem== 0)
    {
    if(!IsPlayerInRangeOfPoint(playerid,5,bust1cps[0][g_x],bust1cps[0][g_y],bust1cps[0][g_z]))return
    SendClientMessage(playerid,helblau,"Du hast die Busroute gestartet.");
    SetPlayerCheckpoint(playerid,bust1cps[0][g_x],bust1cps[0][g_y],bust1cps[0][g_z],5);


    }
    if(listitem== 1)
    {
    //Busliniet2
    if(!IsPlayerInRangeOfPoint(playerid,5,bust2cps[0][v_x],bust2cps[0][v_y],bust2cps[0][v_z]))return
    SendClientMessage(playerid,helblau,"Du hast die Busroute gestartet.");


    }


    if(listitem== 2)
    {
    //Buslinie3
    if(!IsPlayerInRangeOfPoint(playerid,5,bust3cps[0][n_x],bust3cps[0][n_y],bust3cps[0][n_z]))return
    SendClientMessage(playerid,helblau,"Du hast die Busroute gestartet.");
    }


    if(listitem== 3)
    {
    //Buslinie 4
    if(!IsPlayerInRangeOfPoint(playerid,5,bust4cps[0][m_x],bust4cps[0][m_y],bust4cps[0][m_z]))return
    SendClientMessage(playerid,helblau,"Du hast die Busroute gestartet.");
    }
    }
    else
    {
    SendClientMessage(playerid,grün,"Du hast keine Buslinie ausgewählt.");
    RemovePlayerFromVehicle(playerid);
    DestroyVehicle(431);
    return 1;
    }
    }
    if(dialogid== DIALOG_Autosystem)
    {
    if(response)
    {
    if(listitem==0)
    {
    if(!IsPlayerInAnyVehicle(playerid))return
    SendClientMessage(playerid,rot,"Sie sind nicht im Fahrzeug");
    //motorfunktion
    if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)
    {
    SendClientMessage(playerid,blau,"Sie sind nicht der Fahrer dieses Fahrzeuges");
    }
    new vID=GetPlayerVehicleID(playerid), motor, licht, alarm, tueren, bonnet, boot, objective;
    //Motor an/ausschalten:
    GetVehicleParamsEx(vID,motor,licht,alarm,tueren,bonnet,boot,objective);
    if(motor==1) motor = 0;
    else motor = 1;
    SetVehicleParamsEx(vID,motor,licht,alarm,tueren,bonnet,boot,objective);
    SendClientMessage(playerid,blau,"Sie haben den Motor Ihres Fahrzeuges angeschlaten/ausgeschalten!");
    }
    }
    if(listitem==1)
    {
    if(!IsPlayerInAnyVehicle(playerid))return
    SendClientMessage(playerid,rot,"Sie sind nicht im Fahrzeug");
    if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)
    return SendClientMessage(playerid,blau,"Sie befinden sich nicht in Ihr Fahrzeug");
    new vID=GetPlayerVehicleID(playerid),
    motor,
    licht,
    alarm,
    tueren,
    bonnet,
    boot,
    objective;
    //licht an/ausschalten:
    GetVehicleParamsEx(vID,motor,licht,alarm,tueren,bonnet,boot,objective);
    if(licht==1){
    licht = 0;
    }
    else
    {
    licht = 1;
    }
    SetVehicleParamsEx(vID,motor,licht,alarm,tueren,bonnet,boot,objective);
    SendClientMessage(playerid,blau,"Du hast das Licht an eingeschalten/ausgeschalten");
    }
    if(listitem==2)
    {
    new motor,
    licht,
    alarm,
    tueren,
    bonnet,
    boot,
    objective;


    new vID = INVALID_VEHICLE_ID;
    if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
    new Float:Pos[3];
    for(new i=0;i<MAX_VEHICLES; i++)
    {
    GetVehiclePos(i, Pos[0], Pos[1], Pos[2]);
    if(IsPlayerInRangeOfPoint(playerid, 5.0, Pos[0], Pos[1], Pos[2]))
    {
    vID = i;
    break;
    }
    }
    }
    else if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    vID = GetPlayerVehicleID(playerid);
    }
    if(vID == INVALID_VEHICLE_ID)
    {
    SendClientMessage(playerid, 0xFF0000FF, "Error: Nicht nahe oder in einem Fahrzeug.");
    }
    //abschliessen:
    GetVehicleParamsEx(vID,motor,licht,alarm,tueren,bonnet,boot,objective);
    if(tueren==1)
    {
    tueren = 0;
    }
    else
    {
    tueren = 1;
    }
    SetVehicleParamsEx(vID,motor,licht,alarm,tueren,bonnet,boot,objective);
    SendClientMessage(playerid,blau,"Sie haben die Türen Ihres Fahrzeuges abgeschlossen/aufgeschlossen!");
    }
    if(listitem==3)
    {
    new vID = GetPlayerVehicleID(playerid);
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, hellgrün, "Du bist in kein Auto!");
    for (new i = 0; i < sizeof(aInfo); i++)
    {
    if(vID == aInfo[i] [id_x])
    {
    if(aInfo[i][besitzer] == sInfo[playerid][db_id])
    {
    new query[256];
    GetVehiclePos(vID, aInfo[i][c_x],aInfo[i][c_y],aInfo[i][c_z]);
    GetVehicleZAngle(vID,aInfo[i][c_r]);
    format(query, sizeof(query), "UPDATE Autos SET x='%f',y='%f',z='%f',r='%f' WHERE id='%i'",aInfo[i] [c_x],aInfo[i] [c_y],aInfo[i] [c_z],aInfo[i] [c_r],aInfo[i] [db_id]);
    mysql_function_query(dbhandle,query,false," "," ");
    SendClientMessage(playerid, hellgrün, "Du hast dein Auto geparkt.");
    return 1;
    }
    break;
    }
    }
    return SendClientMessage(playerid, hellgrün, "Sie sitzen nicht in Ihr Fahrze!");
    }
    }
    if(dialogid== DIALOG_NAVI)
    {
    if(response)
    {
    if(listitem==0)
    {
    if(!IsPlayerInRaceCheckpoint(playerid))
    {
    SetPlayerCheckpoint(playerid,1720.9348,-1605.5741,13.2839,4);
    SendClientMessage(playerid,grün,"Sie sind an der Stadthalle");
    }
    }
    if(listitem==1)
    {
    if(!IsPlayerInRaceCheckpoint(playerid))
    {
    SetPlayerCheckpoint(playerid,2461.3162,1707.8856,10.4814,4);
    SendClientMessage(playerid,grün,"Sie sind am Autohauslv");
    }
    }
    if(listitem==2)
    {
    if(!IsPlayerInRaceCheckpoint(playerid))
    {
    SetPlayerCheckpoint(playerid,1129.1177,-1706.2179,13.2925,4);
    SendClientMessage(playerid,grün,"Sie sind an der Busstation");
    }
    }
    if(listitem==3)
    {
    if(!IsPlayerInRaceCheckpoint(playerid))
    {
    SetPlayerCheckpoint(playerid,2082.0825,-2031.3174,13.2832,4);
    SendClientMessage(playerid,grün,"Sie sind am Mülldepo");
    }
    }
    if(listitem==4)
    {
    if(!IsPlayerInRaceCheckpoint(playerid))
    {
    SetPlayerCheckpoint(playerid,1363.7589,-1280.4430,13.2370,4);
    SendClientMessage(playerid,grün,"Sie sind am Waffenladen");
    }
    }
    }
    }
    return 1;
    }

  • Dein Autoverkauf wird vermutlich nicht richtig funktionieren.



    Du überprüfst zwar ob die Person genügend Geld bei sich trägt vergisst dann aber ein den Kaufvorgang abzubrechen, das bedeutet die Person erhält trotzdem das Auto und das Geld wird ihm abgezogen.

  • Jeffry die Texte aus mein navi wenn ich die Punkte erreicht habe


    Code:

    if(dialogid== DIALOG_NAVI)
    {
    if(response)
    {
    if(listitem==0)
    {
    if(!IsPlayerInRaceCheckpoint(playerid))
    {
    SetPlayerCheckpoint(playerid,1720.9348,-1605.5741,13.2839,4);
    SendClientMessage(playerid,grün,"Sie sind an der Stadthalle");
    }
    }
    if(listitem==1)
    {
    if(!IsPlayerInRaceCheckpoint(playerid))
    {
    SetPlayerCheckpoint(playerid,2461.3162,1707.8856,10.4814,4);
    SendClientMessage(playerid,grün,"Sie sind am Autohauslv");
    }
    }
    if(listitem==2)
    {
    if(!IsPlayerInRaceCheckpoint(playerid))
    {
    SetPlayerCheckpoint(playerid,1129.1177,-1706.2179,13.2925,4);
    SendClientMessage(playerid,grün,"Sie sind an der Busstation");
    }
    }
    if(listitem==3)
    {
    if(!IsPlayerInRaceCheckpoint(playerid))
    {
    SetPlayerCheckpoint(playerid,2082.0825,-2031.3174,13.2832,4);
    SendClientMessage(playerid,grün,"Sie sind am Mülldepo");
    }
    }
    if(listitem==4)
    {
    if(!IsPlayerInRaceCheckpoint(playerid))
    {
    SetPlayerCheckpoint(playerid,1363.7589,-1280.4430,13.2370,4);
    SendClientMessage(playerid,grün,"Sie sind am Waffenladen");
    }
    }
    }
    }
    return 1;