Beiträge von Kompressor

    Wie wäre es, wenn du es einfach so machst:
    SetTimer("Knastzeit",ZEIT,0);
    So ist es viel eichfacher, du musst nur ein Public erstellen.
    forward Knastzeit(playerid);
    if(GetPlayerWantedLevel(playerid) == 1)
    {
    SetTimer("Knastzeit",Zeit,0);
    return 1;
    }
    if(GetPlayerWantedLevel(playerid) == 2)
    {...

    public Knastzeit(playerid)
    {
    TogglePlayerControllable(playerid,0);
    GivePlayerHealth(playerid, 50);
    SetPlayerPos(playerid,264.4514,77.2993,1001.0391);
    SetPlayerInterior(playerid,6);
    ResetPlayerWeapons(playerid);
    SendClientMessage(playerid, COLOR_YELLOW, "Du wurdest für 60 Sekunden verhaftet!");
    new name[MAX_PLAYER_NAME], string[44];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "%s wurde verhaftet!",name);
    SendClientMessageToAll(COLOR_RED, string);
    GivePlayerMoney(playerid, -150);
    if(SpielerInfo[playerid][Firma] == 1)
    {
    GivePlayerMoney(playerid, 50);
    return 1;// Dieses Return ist überflüssig!
    }
    return 1;
    }


    MfG Waoler

    habe jetzt verscuht alles möglich da zu speichern, aber das Porblem besteht weiterhin :(


    EDIT: Der Speichert ja alles ab, nur bei laden macht er sie irgendwie auf 1 und lädt nicht die ganze Menge. Außerdem geht es ja wenn der Server offline ist. Aber wenn ich ihn online stelle sprich auf der Online Server schieben, geht es nichtmher.


    MfG Waoler

    Ich habe ein problem mit der Bank. Wenn ich Geld auf die Bank sende, wir es gespeichrt und auch nach einem Relog vom Spieler noch gespeichert. Aber wenn der ganze Server neustartet, wird das Geld auf der Bank wieder auf 1 gesetzt. Egal vieviel man vorher auf der Bank hatte. Ich speicher mit DINI und PVar´s dini_IntSet(Spielerdatei,"Bank",GetPVarInt(playerid,"Bank")); und beim laden SetPVarInt(playerid,"Bank",dini_Int(Spielerdatei,"Bank"));
    Eigentlich ist ja auch alles richtig. Nur nach einem kompletten Server neustart, wird er resettet.


    MfG Waoler

    Hallo,
    ich habe schon eine ganze Weile versucht es hinzubekommen, aber irgendwie wollen die 3D-Label nicht wie ich.
    Entweder werden sie mir garnicht angezeigt, oder sie werden mir durch die Wände angezeigt.
    http://wiki.sa-mp.com/wiki/Create3DTextLabel
    steht dasCreate3DTextLabel("I'm at the coordinates:\n30.0,40.0,50.0",0x008080FF,30.0,40.0,50.0,40.0,0); also:Create3DTextLabel("TEXT",FARBE,XCORD,YCORD,ZCORD,Wie weit es angezeigt werden soll, Virtuelle Welt);
    Aber was ist denn jetzt mit "testLOS", dass soll ja eigentlich bewirken, dass die Label´s nicht durch die Wand gesteamt werde. Aber das entfällt bei dem Beispiel völlig.
    Ich habe schon alle mögliche ausprobiert. Ich möchte ein 3DText im PD haben(Interior: 6).Create3DTextLabel("/waffenschrank",COLOR_WEIS,253.2896,77.8782,1003.6406,40.0,6,1);
    Aber so wird mir mal wieder garkein Text angezeigt. Wenn ich das Interior auf 0 stelle also:reate3DTextLabel("/waffenschrank",COLOR_WEIS,253.2896,77.8782,1003.6406,40.0,0,1);
    wird mir das ganze zwar angezeigt, aber auch durch Wände.
    Was ist das Problem? könnt ihr mir helfen. Und Ja ich habe die SuFu schon benutzt, aber nicht richtiges gefunde. Alle anderen, habe auch die letzt Zahl weggelassen, aber ich brauche diese, damit ich die Schriften nicht durhc die Wände sehe.



    MfG Waoler

    Ich helfe dir mal hier schnell ;) Da gibt es eine Funktion die heißt:GetVehicleParamsEx und SetVehicleParamsEx
    Hier:
    http://wiki.sa-mp.com/wiki/SetVehicleParamsEx
    http://wiki.sa-mp.com/wiki/GetVehicleParamsEx
    Um die Lichter an zu machen:
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    Und um sie zu löschen:
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    Hoffe ich habe geholfen.


    MfG Waoler

    Hallo ihr,
    Meine Frage ist ganz leicht.
    Wie lasse ich " in einer Message wiedergeben. So geht es ja nicht.
    SendClientMessage(playerid, FARBE, "dingbums "hasd" assi");
    So würde er ja die Nachhricht schon nach dem dingbums abbrechen.
    Ich glaube dafür gibt es solche Zeichen bzw. Buchstaben kombinationen.


    MfG Waoler

    Versuch es mal so:
    if(strcmp(cmd, "/maske", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(mask[playerid]==0)
    {
    if(PlayerInfo[playerid][pMember] == 8||PlayerInfo[playerid][pLeader] == 8)
    {


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    ShowPlayerNameTagForPlayer(i, playerid, 0);
    }
    }
    SendClientMessage(playerid, COLOR_GREY, " Du setzt deine Maske auf!");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* %s setzt sich eine Maske auf!", sendername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    mask[playerid] = 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Hitman!");
    }
    return 1;
    }
    Könnte sein das das geht. Bin mir aber auch nicht sicher.


    PS: Was passiert den genau nach den 2 sec? Nimmt er die Maske wieder ab, also fragt er ganz normal den unteren Code (wenn maske an ist) ab?

    Ach Quatsch. Du brauchst kein neues 3D-Label. Da gibt es eine Funktion namens: DisableNameTagLOS Entweder die kannst du benutzen, oder einfach SetNameTagDrawDistance Und dann halt auf 0.0 stellen. So ist es viel einfacher als mit einem extra 3D-Label.


    MfG Waoler

    Ich würde mir das ganze auch zugerne mal ansehen. Doch leider bin ich jetzt 1 Woche in London. Aber nächste Woche, wenn es noch stattfindet, werde ich mir es auchmal ansehen, oder dazu joinen ;)


    MfG Waoler

    Ich kenne mich mit OCMD zwar nicht aus, aber du kannst es trotdem auch nur mit einem Befehl machen. Erstelle einfach en Variable. Dann mach ne Abfrag ob die Variable auf 0 ist, wenn ja soll er die Pos auf "AUF" stellen (mit MoveObject) und natürlich auch die Variable auf 1. Und wenn die Var schon auf 1 ist soll er die Pos auf "ZU" stellen und auch wieder die Variable auf 0 setzen. So Einfach ist das ;)


    MfG Waoler

    1. Danke dafür.
    2. Wie kann ich jetzt auf den Namen vom Opfer zugreifen??
    habe es so:GetPlayerName(???, opfer,sizeof(opfer));
    Weil ich noch möchte das der Name von ihm angezeigt wird. Also ...hat...getötet. Oder so Ähnlich


    MfG Waoler

    Ich weiß auch theoretisch wie das geht, aber wie geht es praktisch?
    Ich habe schon, das dem Killer eine Box aufgeht, und er einen Grund eingeben muss.
    Aber wie mache ich es jetzt bei if(dialogid==killer)
    {
    //HIER
    return 1;
    }
    Eine Message mit dem Grund(also dem input) an alle admins gesendet wird, die im moment online sind.
    Das weiß ich nicht so genau.



    EDIT: Habe es so versuch:
    if(dialogid==killer)
    {
    new text[128], killername[32];
    GetPlayerName(playerid, killername,sizeof(killername));
    format(text, sizeof(text), "%s hat einen mord begangen! Grund: %d", killername,strval(inputtext));
    SendClientMessage(playerid,COLOR_GELB,text);
    return 1;
    }
    EDIT2: OK habe das d zu einem %s gemacht, und der Grund wird nicht angezeigt. also bleibt leer hinter dem Grund:
    Und wie mache ich das jetzt das die Message jeder Admin bekommt? Muss man da nciht mit einer For Schleife arbeiten?
    Vielleicht irgendwie so?
    for(new i = 0;i < MAX_PLAYERS;i++)
    {
    if(GetPVarInt(i, "AdminLevel") == 1)
    {
    Aber das kann ja auch nicht sein, weil er ja nur schaut ob jemand ein Admin ist. Naja ich versuche noch ein bisschen herrum.



    MfG Waoler

    Ich habe noch ne Frage.
    Das was du da erklärt hast wusste ich schon, nur wie mache ich es, dass der Admin die Nachrichten bekommt, inder der Grund steht den der Killer eingeben muss?
    Also der Killer wird gefreezed und es öffnet sich eine Box mit input Text, wo er den Grund eingeben muss. Erst dann wird er entfreezed!
    Dann wird die Nachricht an ALLE Admin´s gesendet die grade online sind und im dienst!
    Wir so definiert:
    if(IsPlayerAnAdmin(playerid,6))
    UND:
    if(duty[playerid] == 0)//oder halt 1 für: wenn er im denst ist
    Würde mich über eine Antwort MIT Erklärung freuen.


    MfG Waoler