Beiträge von Kaliber

    zerstören lassen oder ?


    Richtig, macht es am besten so:


    //Oben im Skript
    new o1,o2;


    //Dann wo ihr die Obejkte erstellt:
    o1 = CreateObject(...); //Das erste Objekt
    //Hier die anderen
    o2 = CreateObject(...); //Hier das letzte Objekt


    //Unter OnFilterScriptExit
    for(new i=o1; i<=o2; i++) DestroyObject(i);


    Ich denke du arbeitest evtl mit einem Streamer dann einfach überall CreateDynamicObject und DestroyDynamicObject ;)


    mfg. :thumbup:

    Aber das Problem hatten wir schon öfter


    Also, nein das ist nicht normal, dann erstellst du die selben Objekte an der selben Position mehrmals :)


    Das kommt, wenn du z.B. nur einen gmx machst, anstatt einen richtigen Server Restart :)


    Oder wenn du Filterscripts öfters reloadst ohne dessen Objekte zu zerstören ;)


    mfg. :thumbup:

    Naja so zum Beispiel:


    new player_car[2][MAX_PLAYERS];


    //Dann wo er das car kauft:
    if(player_car[0][playerid]) return //hier hat er schon ein auto!
    player_car[0][playerid] = CreateVehicle(...); //hier z.B. flash erstellen
    player_car[1][playerid] = gettime()+60*60*3; //Hier nach 3std wirds gelöscht


    //Unter OnGameModeInit
    SetTimer("AutoKauf",10000,1);


    //Dann außerhalb
    forward AutoKauf();
    public AutoKauf()
    {
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(!player_car[0][i]) continue;
    if((player_car[1][i]-gettime()) < 0)
    {
    DestroyVehicle(player_car[0][i]);
    player_car[0][i]=0;
    }
    }
    return 1;
    }


    mfg. :thumbup:


    //Edit: Hab was in der schleife vertauscht gehabt...
    //Edit²: Ja ups..danke Jeffry

    Es ist bis jetzt so, das der Nachricht er kommt, wenn ich los lasse, der Motor geht dann auch erst an, wenn ich los lasse .


    Ja...so wolltest du das doch auch :whistling:


    Dann drück dich besser aus :b


    Dann schreibs so:


    //Am besten noch oben:
    new bool:m_p[MAX_PLAYERS char];


    //Unter OnPlayerKeyStateChange
    if(newkeys & KEY_LOOK_BEHIND || newkeys & KEY_SUBMISSION)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    if(!m_p{playerid}) SetTimerEx("@motor",3000,0,"i",playerid),m_p{playerid}=true;
    }


    //Dann außerhalb:
    @motor(i);@motor(i) return StartMotor(i),m_p{i}=false;


    mfg. :thumbup:

    Welchen Zünder muss ich X Sekunden halten und erst wenn ich loslasse geht der Motor an. Ich kenne kein Auto bei dem das so ist.


    ...und? :huh:


    Ich kenne es auch nicht, dass wenn ich einen gesuchten umbringe, er im Gefängnis landet...


    Aber er will es so:


    Wie mache ich das so, das man wenn man den Motor starten möchte, 3 Sekunden lang die Numpad 2 Taste gedrückt halten muss?


    Wenn du es mit einem Timer haben willst, dann muss man die Taste nur 1x drücken und der Motor geht nach 3sek an...


    Musst dich halt entscheiden, was du haben willst :rolleyes:

    Du packst das als erstes in eine Funktion:


    stock StartMotor(playerid)
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0x9B0000FF, "Du sitzt in keinem Fahrzeug um den Motor zu starten!");
    if(GetPlayerVehicleSeat(playerid) == 0)
    {
    new car = GetPlayerVehicleID(playerid),m=GetVehicleModel(car);
    if(m == 509 || m == 481 || m == 510) SendClientMessage(playerid, 0x9B0000FF, "Du sitzt auf einem Fahrrad, das hat keinen Motor!");
    else if (Motor[car] == false)
    {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = true;
    SendClientMessage(playerid, 0x4B94FFFF, "{1AADD6}Gedanke: {F2F2F2}Sie drehen den Zündschlüssel, und schalten den Motor {36D61A}an!");
    }
    else
    {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = false;
    SendClientMessage(playerid, 0x4B94FFFF, "{1AADD6}Gedanke: {F2F2F2}Sie drehen den Zündschlüssel, und schalten den Motor {E83A3D}aus!");
    }
    }
    return 1;
    }


    //Dann oben im Skript:
    #define RELEASED(%0) \
    (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))


    new motor_time[MAX_PLAYERS];


    //Unter OnPlayerKeyStateChange
    if(newkeys & KEY_LOOK_BEHIND || newkeys & KEY_SUBMISSION)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    motor_time[playerid] = gettime()+3;
    }
    if(RELEASED(KEY_LOOK_BEHIND) || RELEASED(KEY_SUBMISSION))
    {
    if((motor_time[playerid]-gettime()) < 0 && motor_time[playerid] != 0 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    StartMotor(playerid);
    }
    motor_time[playerid]=0;
    }


    So sollte es klappen ^^

    Hmm zeig mal deinen enum und scheib die Abfrage evtl so:


    if(GetX >= Gebiete[i][MinX] && GetX <= Gebiete[i][MaxX] && GetY >= Gebiete[i][MinY] && GetY <= Gebiete[i][MaxY])


    und dann poste deine Funktion nochmal...

    if(IsPlayerInGebiet(playerid) != -1)


    Ob > -1 oder != -1...ändert hier nicht viel ^^

    Wenn du schon 18+ bist, damit du dich in ein Impressum schreiben kannst, musst du auch 2€ im Monat bereit haben..-.-


    Genau, da eine WBB Lizenz + Domain 2€ im Monat kostet :rolleyes:


    Hättest du meinen Anfangs-Beitrag gelesen, dann wüsstest du, dass ich das erstmal free erstellt habe um zu sehen, wie viel Potenzial in der Idee steckt und wenn sich eine geeignete Community gefunden hat, werde ich auch Geld rein investieren, aber wieso sollte ich sowas blind tun? :huh:


    Wenn man an einem Projekt indirekt mitwirken kann / darf in dem man Code einreicht, warum lässt man den ganzen Kram nicht öffentlich.


    Weil evtl nicht jeder will, dass jeder Zugriff auf seinen Code hat und ich finde nicht jeder das Skript haben muss...


    Zu dem kann jeder sehen was es bereits gibt und wie er seinen Code einreichen muss.


    Darüber müssen sich die Leute keine Gedanken machen, das werd ich schon strukturieren und einbinden.


    Außerdem kann er dadurch auch direkt Rückmeldung bekommen, was Probleme verursacht und was nicht passt.


    Genau das ist es ja, das ist nicht nötig, da ich das ja alles zusammenfasse.


    Ihr könnt mitwirken, aber irgendwie auch nicht.


    Das stimmt so ja nicht....inwiefern können sie denn nicht mitwirken? :huh:


    Sie senden Code...ich implementiere ihn...-> mitgewirkt...


    Aber trotzdem danke für euer Feedback :)


    mfg. :thumbup: