Beiträge von Halo

    new isOpen;
    ocmd:mv(playerid,params[])
    {
    if(!isOpen)
    {
    //LSPD Tor
    if(!isPlayerInFrakt(playerid,1)) return 1;
    if(!IsPlayerInRangeOfPoint(playerid,7,1535.5193,-1628.6432,13.1630)) return SendClientMessage(playerid,Rot,"Du bist nicht in der Nähe!");
    isOpen = true;
    MoveObject(tor[0],1539.50000000,-1627.69995117,8.69999981,7);
    }
    else
    {
    isOpen = false;
    MoveObject(tor[0],1539.50000000,-1627.69995117,14.69999981,7);
    }
    return 1;
    }


    so wie das jetzt ist kann jeder das tor schließen, egal wie weit weg er ist


    die abfragen müssen vor isOpen


    new bool:isOpen;
    ocmd:mv(playerid,params[])
    {
    if(!isPlayerInFrakt(playerid,1)) return 1;
    if(!IsPlayerInRangeOfPoint(playerid,7,1535.5193,-1628.6432,13.1630)) return SendClientMessage(playerid,Rot,"Du bist nicht in der Nähe!");
    if(!isOpen)
    {
    //LSPD Tor
    isOpen = true;
    MoveObject(tor[0],1539.50000000,-1627.69995117,8.69999981,7);
    }
    else
    {
    isOpen = false;
    MoveObject(tor[0],1539.50000000,-1627.69995117,14.69999981,7);
    }
    return 1;
    }

    GetPlayerCameraFrontVector(playerid, &Float:x, &Float:y, &Float:z);


    und dan einfach mit moveobjekt das objekt da hin bewegen lassen

    mit


    MoveObject(objectid, Float:X, Float:Y, Float:Z, Float:Speed, Float:RotX = -1000.0, Float:RotY = -1000.0, Float:RotZ = -1000.0);



    edit:


    oh sry, hab mir das video erst danach angeschaut, das objekt macht ja ein bogen

    Zitat

    Das Problem ist das zu einen die FUnktion nicht aufgerufen wird und zum anderen musst du erst TextDrawHideForPlayer benutzen danach den string
    setzen und erneut anzeigen lassen


    da liegst du falsch, TextDrawSetString reicht


    versuchs mal mit meiner lösung, updateanzeige kann da ganz raus weil alles in onplayerpickup drin ist


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    for(new i = 0; i<MAX_PAKETE; i++)
    {
    if(Paket[i] == pickupid)
    {
    DestroyPickup(pickupid);
    Pakete --;

    new string[3];
    format(string, sizeof(string), "%d", Pakete);
    TextDrawSetString(Textdraw2, string);
    break;
    }
    }
    return 1;
    }

    #define MAX_PAKETE 100


    new Paket[MAX_PAKETE];
    new Pakete = 100;


    public updateanzeige()
    {
    new string[3];
    format(string, sizeof(string), "%d", Pakete);
    TextDrawSetString(Textdraw2, string);


    }


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    for(new i = 0; i<MAX_PAKETE; i++)
    {
    if(Paket[i] == pickupid)
    {
    DestroyPickup(pickupid);
    Pakete --;
    break;
    }
    }
    return 1;
    }



    für updateanzeige brauchst du noch ein timer




    edit:



    so ist das doch sinnvoller


    #define MAX_PAKETE 100


    new Paket[MAX_PAKETE];
    new Pakete = MAX_PAKETE;



    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    for(new i = 0; i<MAX_PAKETE; i++)
    {
    if(Paket[i] == pickupid)
    {
    DestroyPickup(pickupid);
    Pakete --;

    new string[3];
    format(string, sizeof(string), "%d", Pakete);
    TextDrawSetString(Textdraw2, string);
    break;
    }
    }
    return 1;
    }

    probiers mal so


    ocmd:bizkasse(playerid,params[])
    {
    {
    {
    if(sscanf(params,"id",aktion,geld) && aktion != 3) return SendClientMessage(playerid,0xffff0000,"Benutzung: /bizkasse [1=Einzahlen | 2=Auszahlen | 3=Kassenstand] [Geld]");
    if(aktion == 1)
    {
    // Einzahlen
    }
    else if(aktion == 2)
    {
    // Auszahlen
    }
    else if(aktion == 3) // Bei diesen hier möchte ich es halt so machen das man bei der "params " abfrage also das Geld feld nicht ausfühlen brauch.
    {
    // Bizkasse Anzeige
    }


    }
    }
    return 1;
    }

    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(polizeicar); i++)
    {
    if(GetPlayerVehicleID(playerid)==polizeicar[i])
    {
    if(GetPVarInt(playerid,"Fraktion")==1 || GetPVarInt(playerid,"Adminlevel")==1)
    {
    if(GetPVarInt(playerid,"Adminlevel")==1) return 1;
    if((i==0 || i==1 || i==2 || i==3) && (GetPVarInt(playerid,"Rang") < 2 || GetPVarInt(playerid,"Rang") < 3 || GetPVarInt(playerid,"Rang") < 5))
    RemovePlayerFromVehicle(playerid);
    }
    else RemovePlayerFromVehicle(playerid);
    }
    }
    }
    return 1;
    }


    so vielleicht ?

    hier mal ein beispiel


    ganz unten bei onplayercommandtext



    new string[50];
    format(string,sizeof(string),"SERVER: Diesen %s Command gibt es nicht /cmds.",cmdtext);
    return SendClientMessage(playerid,weiß,string);
    }

    if(strcmp(cmd, "/afixveh", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] < 4)
    {
    return SendClientMessage(playerid, COLOR_GRAD1, " Du darfst den Befehl nicht benutzen!");
    }
    if(IsPlayerInAnyVehicle(playerid))
    {
    SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0);
    SendClientMessage(playerid, COLOR_GREY, " Auto repairt!");
    }
    else SendClientMessage(playerid, COLOR_GREY, " Du bist in keinem Auto!");
    }
    return 1;
    }

    schick mal die 26 errors, ich glaub du hast noch irgendwo ein klammerfehler


    bevor du ein script einbaust solltest du es dir nochmal anschauen ob fehler drin sind

    versuchs mal so


    if(dialogid==DIALOG_BANK)
    {
    if(response==1)
    {
    switch(listitem)
    {
    case 1: ShowPlayerDialog(playerid,DIALOG_EINZAHLEN,DIALOG_STYLE_INPUT,"Einzahlen","Wie viel Geld möchtest du einzahlen?","Einzahlen","Abbrechen");
    case 0: ShowPlayerDialog(playerid,DIALOG_AUSZAHLEN,DIALOG_STYLE_INPUT,"Auszahlen","Wie viel Geld möchtest du auszahlen?","Auszahlen","Abbrechen");
    }
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Du hast abgebrochen.");
    }
    }
    if(dialogid==DIALOG_EINZAHLEN)
    {
    if(response==1)
    {
    if(strval(inputtext) < GetPlayerMoney(playerid) || strval(inputtext) == GetPlayerMoney(playerid))
    {
    SetPVarInt(playerid, "Bank", GetPVarInt(playerid, "Bank") + strval(inputtext));
    GivePlayerMoney(playerid, -strval(inputtext));
    }
    else
    {
    SendClientMessage(playerid,ROT,"Bankarbeiter: Du hast zuwenig Geld dabei.");
    }
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Vorgang abgebrochen.");
    }
    }
    if(dialogid==DIALOG_AUSZAHLEN)
    {
    if(response==1)
    {
    if(GetPVarInt(playerid, "Bank") > strval(inputtext) || GetPVarInt(playerid, "Bank") == strval(inputtext))
    {
    GivePlayerMoney(playerid, strval(inputtext));
    SetPVarInt(playerid, "Bank", GetPVarInt(playerid, "Bank") - strval(inputtext));
    }
    else
    {
    SendClientMessage(playerid,ROT,"Bankarbeiter: Du hast nicht genug Geld auf der Bank.");
    }
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Vorgang abgebrochen.");
    }
    }

    hier hast du schonmal ein klammerfehler


    vergleich mal deins mit meins, ich weiß aber nicht obs daran liegt


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(PRESSED(KEY_ACTION))
    {
    if(GetPlayerVehicleSeat(playerid) == 0)
    {
    new car = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(car) == 509 || GetVehicleModel(car) == 481 || GetVehicleModel(car) == 510)
    {
    SendClientMessage(playerid, ROT, "Du sitzt auf einem Fahrrad. Das hat keinen Motor!");
    }
    }
    else if(Motor[car] == false)
    {
    SendClientMessage(playerid,COLOR_GREY,"Motor wird gestartet..");
    KillTimer(motortimer[car]);
    motortimer[car] = SetTimerEx("StartEngine",3000,0,"dd",playerid,car);
    }
    else
    {
    KillTimer(motortimer[car]);
    motortimer[car] = SetTimerEx("StopEngine",1000,0,"dd",playerid,GetPlayerVehicleID(playerid));
    }
    }
    else if (RELEASED(KEY_ACTION))
    {
    if(GetPlayerVehicleSeat(playerid) == 0)
    {
    new car = GetPlayerVehicleID(playerid);
    if(Motor[car] == false)GameTextForPlayer(playerid,"~r~Abgebrochen!",500,1);
    KillTimer(motortimer[car]);
    }
    }
    return 1;
    }

    SetPlayerPos(playerid,1351.1084,-739.5960,104.7174); //das ist die position vom spieler#
    SetPlayerCameraPos(playerid,1341.065063, -716.696777, 114.095825); //das ist der standort der camera
    SetPlayerCameraLookAt(playerid,1341.065063, -716.696777, 114.095825); // und hier muss die position rein wo sie hinschauen soll also 1351.1084,-739.5960,104.7174 und nicht die position von der camera ;)