random Drogendealer bei Altis Life 4.0

Ab sofort füllen wir den Artikel-Bereich von Native-Network.net regelmäßig mit neuen Inhalten zu verschiedenen Themen! Direkt zu den Artikeln gelangst du

HIER

  • Hallo zusammen,


    ich hatte mal was gesehen wegen den Drogendealern. Und zwar würde mich interessieren, wie ich die 2 Dealer die ich verwende verschieben kann. Es geht mir darum, dass der Dealer 1 z.B. ne halbe Stunde am Platz x steht, dann zu Platz y wechselt, nach ner weiteren halben Stunde auf Platz z und dann wieder an Platz x ist.


    Hat da zufällig jemand ne Idee, oder vielleicht das Tut, finde das leider nichtmehr.


    MfG


    Saturin78

    Tapse mich wieder ins Arma3 xxx-Life rein :-D

  • Wie ich z.B. Schranken etc. per script setze, weiß ich. Ich weiß nur nicht wie ich dem Objekt dann einen Namen (für das abfragen der Cop´s benötigt) und vor allen eine Init in das Objekt einfüge, da stehe ich grad auf dem schlauch. Auch wenn sich das nun lächerlich anhört.


    Positionen würde ich in ein Array packen und dort random auslesen. Dann ist es nicht vorhersehbar, wo der Freund wieder sitzt :-)

    Tapse mich wieder ins Arma3 xxx-Life rein :-D

  • Dann darf er aber nicht enableSimulation false haben.


    einfachere Variante eine "Einheit mit Namen zu spawnen" wäre eiskalt mit createVehicle (natürlich serverseitig)
    z.B.:
    Dealer_1 = "C_Man_01_F" createVehicle [0,0,0]; Dealer_1 allowDamage false;

  • Hallo ich habe es nun so versucht. Und zwar will ich die vorhandenen Dealer einfach verschieben. Aber nur wenn kein Spieler näher als 500m bei denen ist. Wäre ja irgendwie unschön, wenn man gerade am verkaufen sit und schwups ist der Dealer wieder weg :-) Das ganze hab ich serverseitig.


    in der init.sqf habe ich folgenden Aufruf drin:


    C: init.sqf
    1. //Alle 30 min neue Possition für die Dealer.
    2. [] spawn {
    3. while {true} do {
    4. sleep (60 *5); //30 min normal, zum testen auf 5 min gesetzt.
    5. [] spawn TON_fnc_randomDealer;
    6. };
    7. };


    und dann als Funktion dies hier:


    Es kommt keine Fehlermeldung, soweit schonmal ok. Aber ich habe das Gefühl, dass er immer denkt, dass ein Spieler näher als 500m ist. Er fürt das Verschieben nicht aus. ( Habe die Zeit zum testen mal auf 5min gesetzt.) Hat jemand ne Idee?


    MfG


    Saturin78

    Tapse mich wieder ins Arma3 xxx-Life rein :-D

  • vielleicht mal noch ne isPlayer Abfrage rein? bin nicht sicher obs klappt dann.

  • Den hint musst du übrigens per remoteExec laufen lassen, z.B.:


    [1,_msg] remoteExecCall ["life_fnc_broadcast",-2];

  • Ist der Hint dann so richitg?


    _msg = "Die Dealer sind untergetaucht.";
    [1,_msg] remoteExecCall ["life_fnc_broadcast",-2];


    Es ist nun so, die Dealer bleiben an Ort und Stelle solange ein Spieler online ist. wenn keiner da ist, dann wandern diese. Das klappt soweit. Ich habe die vermutung, dass _dist = 500; nicht heißt 500m sonder 500km? Kann das sein?

    Tapse mich wieder ins Arma3 xxx-Life rein :-D

  • 1. Syntax ist so korrekt
    2. nein, distance ist in Metern. Außerdem würde ich distance2D stattdessen verwenden.
    3. ich bin grade auch am grübeln wieso Arma da nö sagt

  • xD war mir fast klar. Arma ist doof. Bei der Geschichte mach aber distance2D auch mehr Sinn, weil bei distance auch die Höhe mit reinzählt, sprich die reale Entfernung zum Objekt im dreidimensionalen Raum.

  • Geht beides (playableUnits ist egal ob du im Auto/Heli bist oder nicht), wobei das Erste mehr Sinn macht. allPlayers bezieht nämlich auch Leichen mit ein.

  • Achso, ne, distance2D bricht die Entfernung nur auf 2D Ebene runter. Sprich: 200m entfernt und am Boden oder in der Luft ist Arma dann egal, sind 200m Distanz ^^ Bevor man aber noch zusätzlich die Leichen rausfiltert geht auch direkt playableUnits, dass schließt das ja direkt aus ^^