Good work, you didnt read the whole thread. Honestly im sorry but its not my problem if you delete your file and replaced it with 12 lines of code O.o
Maybe you shouldn`t host a server ai?
Beiträge von Shinji
-
-
Paste in your script progress bar. It would be great
This Thread and this Tutorial doesnt need any progressbars. Your file is modified with it, so my tutorial wont work for you at all. Sorry but deal with it.
-
Hättest dir sein Script anschauen sollen der ist russe bzw. spricht russisch. Mit dem hab ich schonmal zu tun gehabt xD
Aber nu BTT Mr. @blackfisch -
привет!Im sorry, but your file is extremly modified. So i cannot help anyways.
-
-
Den Speedbug gibts leider auch jetzt noch. Den zu umgehen ist ist eine Sache für sich. Ich hatte da mal was geschrieben allerdings werden die Leute dadurch gekickt was vielen ziemlich auf den Keks ging xD
Das Script hier wie @beatzcraft schon gesagt hat, sorgt nur dafür das du nicht mehr ständig die Win-Taste drücken musst oder mit der Spitzhacke nicht ständig ins v-Inv musst um zu klicken.
-
Getestet, hast recht. Dachte das es den nicht anzeigt. ~ Dennoch gibts noch keine Lösung für ihn
-
Muss ich widersprechen, meinen Server findet niemand der meine Mods nicht an hat.
-
Falscher Ordner. Aber richtige Datei.
In der Datei Kannst du aber deswegen keine Skins festlegen (berichtigt mich wenn ich falsch liege). Dafür musst du eine eigene Datei anlegen.
Die dann beim Joinen/Kauf der Uniform, abfragt ob es die richtige Uniform ist, wenn ja, setze den Skin.
Dazu gibt es bereits ein hauf an tutorials im Forum die alle sowohl ab als auch aufwärts der Versionen Kompatibel sind.Dafür einmal 5 Sekunden die SUFU genutzt:
Und schon gefunden... -
Nachdem ich nun mal alle Versionen durchgeschaut habe und immernoch auf ein Update von MS warte, dachte ich mir, mach ich doch einfach mal ein kleines Tutorial wie ihr eine Massenproduktion auf dem Server erreicht.
VORWORT: Wer hier c&p macht und Fehler einbaut, ist selber Schuld und wird nie was aus sich oder seinem Server machen wenn er nicht lernwillig ist.
Desweiteren Untersage ich es dieses TUT an weiteren Communities/Servern/Foren zu verteilen ohne Einwilligung von mir!Was ist dass überhaupt?
-Damit können eure User beim einmaligen drücken der Interaktionstaste, solange Farmen bis ihr Inventar voll ist.Leider habe ich das ganze noch getestet und muss gestehen, ich werde es auch derzeit nicht können. Da es aber auf meinem alten Server sehr gut lief und die anderen Versionen nicht wirklich viel an Änderungen besitzen, sollte es auf jeder Version laufen.
Das alles findet in den beiden Dateien statt: gather.sqf und pickaxeUser.sqf
Version 3.1.x
Spoiler anzeigen
Fangen wir mit der gather.sqf an:
Dies ist der Code um den es sich drehtCode
Alles anzeigenif(vehicle player != player) exitWith {}; _diff = [_gather,_val,life_carryWeight,life_maxWeight] call life_fnc_calWeightDiff; if(_diff == 0) exitWith {hint localize "STR_NOTF_InvFull"}; life_action_inUse = true; for "_i" from 0 to 2 do { player playMove "AinvPercMstpSnonWnonDnon_Putdown_AmovPercMstpSnonWnonDnon"; waitUntil{animationState player != "AinvPercMstpSnonWnonDnon_Putdown_AmovPercMstpSnonWnonDnon";}; sleep 2.5; }; if(([true,_gather,_diff] call life_fnc_handleInv)) then { _itemName = [([_gather,0] call life_fnc_varHandle)] call life_fnc_varToStr; titleText[format[localize "STR_NOTF_Gather_Success",_itemName,_diff],"PLAIN"]; };
Mit diesen Zeilen wird die Animation gesetzt sowie geprüft ob das Inventar noch Platz hat und danach das Item in die Hand gedrückt.
Was wir nun tun, ist relativ einfach.
Zunächst setzen wir dieses Stück in eine SchleifeCode/* Author Shinji */ while {true} do { if(vehicle player != player) exitWith {}; ... ... ... }; life_action_inUse = false; // Über dieser Variable muss die Schleife enden!
Nun fügen wir noch eine Abfrage hinzu sodass der Spieler wieder abbrechen kann wenn er sich bewegt.Code/* Author Shinji */ while {true} do { if(vehicle player != player) exitWith {}; if (life_interrupted) exitwith {}; // Damit ist diese hier gemeint :) ... ... ... }; life_action_inUse = false; // Über dieser Variable muss die Schleife enden!
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Das wars schon für die gather. Gehen wir nun zur fn_pickaxeUse.sqf über
Wieder finden wir folgenden Code vor:Diesen werden wir wieder in eine Schleife setzen
Code/* Author: Shinji */ while {true} do { if(vehicle player != player) exitWith {hint localize "STR_ISTR_Pick_MineVeh";}; ... ... ... }; life_action_inUse = false; // als referenz das die Schleife hier drüber endet
Nun bauen wir wieder die kleine Abfrage einCode/* Author: Shinji */ while {true} do { if(vehicle player != player) exitWith {hint localize "STR_ISTR_Pick_MineVeh";}; if (life_interrupted) exitwith {life_interrupted = false;}; // die Abfrage ... ... ...
Und nun ist die 3.1.x schon Massenproduktionstauglichziemlich einfach oder?
Version 4.0Spoiler anzeigen
Die fn_gather.sqf
Der code den wir weder finden:Code
Alles anzeigen_diff = [SEL(_gather,0),SEL(_gather,1),life_carryWeight,life_maxWeight] call life_fnc_calWeightDiff; if(EQUAL(_diff,0)) exitWith {hint localize "STR_NOTF_InvFull"}; life_action_gathering = true; for "_i" from 0 to 2 do { player playMove "AinvPercMstpSnonWnonDnon_Putdown_AmovPercMstpSnonWnonDnon"; waitUntil{animationState player != "AinvPercMstpSnonWnonDnon_Putdown_AmovPercMstpSnonWnonDnon";}; sleep 2.5; }; if(([true,SEL(_gather,0),_diff] call life_fnc_handleInv)) then { _itemName = M_CONFIG(getText,"VirtualItems",SEL(_gather,0),"displayName"); titleText[format[localize "STR_NOTF_Gather_Success",(localize _itemName),_diff],"PLAIN"]; }; life_action_gathering = false;
Daraus erstellen wir nun eine Schleife:Code/* Author Shinji */ while {true} do { if(vehicle player != player) exitWith {}; ... ... ... }; life_action_gathering = false; // dient wieder als referenz wo die Schleife enden soll
Nun setzen wir eine Abfrage ob der Spieler sich bewegt hat oder ähnliches angestellt hat damit die Schleife durchbrochen wird.Code
Alles anzeigen/* Author Shinji */ while {true} do { if(vehicle player != player) exitWith {}; if (life_interrupted) exitwith {life_interrupted = false;}; // diese Abfrage :) ... ... ... }; life_action_gathering = false; // dient wieder als referenz wo die Schleife enden soll
Schon läuft die Schleife im Dauerzustand bis das Inventar voll ist oder der Spieler den Vorgang abbricht./////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Kommen wir also schon zu fn_pickaxeUse.sqf;
Ähnlich wie oben zu sehen bekommen wir einen Code zu sehen:Code
Alles anzeigenif(vehicle player != player) exitWith {hint localize "STR_ISTR_Pick_MineVeh";}; _diff = [SEL(_mine,0),SEL(_mine,1),life_carryWeight,life_maxWeight] call life_fnc_calWeightDiff; if(EQUAL(_diff,0)) exitWith {hint localize "STR_NOTF_InvFull"}; life_action_inUse = true; for "_i" from 0 to 2 do { player playMove "AinvPercMstpSnonWnonDnon_Putdown_AmovPercMstpSnonWnonDnon"; waitUntil{animationState player != "AinvPercMstpSnonWnonDnon_Putdown_AmovPercMstpSnonWnonDnon";}; sleep 2.5; }; if(([true,SEL(_mine,0),_diff] call life_fnc_handleInv)) then { _itemName = M_CONFIG(getText,"VirtualItems",SEL(_mine,0),"displayName"); titleText[format[localize "STR_ISTR_Pick_Success",(localize _itemName),_diff],"PLAIN"]; }; life_action_inUse = false;
Sollte dieser Code nicht dem euren gleichen, habe ich mich in der Version verschaut /* Code ist aus einer 4.4 sollte jedoch derselbe Code sein. */Aus diesem code machen wieder eine Schleife:
Code/* Author Shinji */ while {true} do { if(vehicle player != player) exitWith {hint localize "STR_ISTR_Pick_MineVeh";}; ... ... ... }; life_action_inUse = false; // denkt daran die Schleife über diesem Code zu beenden!
Nun folgt der kleine Abbruch Code damit der Spieler den Vorgang selbstständig abbrechen kann.Code/* Author Shinji */ while {true} do { if(vehicle player != player) exitWith {hint localize "STR_ISTR_Pick_MineVeh";}; if(life_interrupted) exitWith {life_interrupted = false;}; ... ... ... }; life_action_inUse = false; // Achtung! Ende der Schleife über dieser Variable
Und fertigDauerschleife Aktiv so lange Inventar nicht voll und der Spieler nicht abbricht.
Version 4. + ?Spoiler anzeigen
Da sich der Code von der 3.1.x kaum geändert hat kann hier in der Theorie Der Spoiler der 4.0 genutzt werden, falls jemand auf Nummer sicher gehen will kommt hier das Stück für die 4. +? (4)
Wir nehmen uns wieder die fn_gather.sqf vor und finden folgendes:
Code
Alles anzeigenif(vehicle player != player) exitWith {}; _diff = [SEL(_gather,0),SEL(_gather,1),life_carryWeight,life_maxWeight] call life_fnc_calWeightDiff; if(EQUAL(_diff,0)) exitWith {hint localize "STR_NOTF_InvFull"}; life_action_inUse = true; for "_i" from 0 to 2 do { player playMove "AinvPercMstpSnonWnonDnon_Putdown_AmovPercMstpSnonWnonDnon"; waitUntil{animationState player != "AinvPercMstpSnonWnonDnon_Putdown_AmovPercMstpSnonWnonDnon";}; sleep 2.5; }; if(([true,SEL(_gather,0),_diff] call life_fnc_handleInv)) then { _itemName = M_CONFIG(getText,"VirtualItems",SEL(_gather,0),"displayName"); titleText[format[localize "STR_NOTF_Gather_Success",(localize _itemName),_diff],"PLAIN"]; }; life_action_inUse = false;
Das ganze Stück wird in eine Schleife gepackt :
Code/* Author Shinji */ while{true} do { if(vehicle player != player) exitWith {}; ... ... ... }; life_action_inUse = false; // dient als Referenz, Schleife endet über dieser Variable
Nun noch eine Abfrage damit der Spieler selber abbrechen kann wann er möchte.
Code/* Author Shinji */ while{true} do { if(vehicle player != player) exitWith {}; if(life_interrupted) exitWith {life_interrupted = false;}; // Diese Zeile ist damit gemeint ... ... ... }; life_action_inUse = false; // dient als Referenz, Schleife endet über dieser Variable
Schon ist die Gather fertigkommen wir nun also zur fn_pickaxeUse.sqf;
Wir finden wieder folgenden Code:Code
Alles anzeigenif(vehicle player != player) exitWith {hint localize "STR_ISTR_Pick_MineVeh";}; _diff = [SEL(_mine,0),SEL(_mine,1),life_carryWeight,life_maxWeight] call life_fnc_calWeightDiff; if(EQUAL(_diff,0)) exitWith {hint localize "STR_NOTF_InvFull"}; life_action_inUse = true; for "_i" from 0 to 2 do { player playMove "AinvPercMstpSnonWnonDnon_Putdown_AmovPercMstpSnonWnonDnon"; waitUntil{animationState player != "AinvPercMstpSnonWnonDnon_Putdown_AmovPercMstpSnonWnonDnon";}; sleep 2.5; }; if(([true,SEL(_mine,0),_diff] call life_fnc_handleInv)) then { _itemName = M_CONFIG(getText,"VirtualItems",SEL(_mine,0),"displayName"); titleText[format[localize "STR_ISTR_Pick_Success",(localize _itemName),_diff],"PLAIN"]; }; life_action_inUse = false;
Setzen das ganze wieder in eine SchleifeCode/* Author Shinji */ while {true} do { if(vehicle player != player) exitWith {hint localize "STR_ISTR_Pick_MineVeh";}; ... ... ... }; life_action_inUse = false; // Über dieser Variable endet die Schleife!
Natürlich fehlt jetzt die Abfrage ob der Spieler abgebrochen hat oder es wünscht:
Code
Alles anzeigen/* Author Shinji */ while {true} do { if(vehicle player != player) exitWith {hint localize "STR_ISTR_Pick_MineVeh";}; if(life_interrupted) exitWith {life_interrupted = false;}; // Damit ist die Zeile hier gemeint ... ... ... }; life_action_inUse = false; // Über dieser Variable endet die Schleife!
Fertig
So
Damit denke ich, habe ich einigen Servern gezeigt das man selbst mit wenig Aufwand und nur ein paar Zeilen viel verändern kann.
Ich möchte hier bitte noch anmerken das ich hiervon lediglich die 4.0 getestet habe! Sollten Fehler entstehen oder Schleifen weiterlaufen wo sie es nicht sollten, entschuldige ich mich und bereit einen Hotfix direkt ins Tut ein.
~ Shinji
-
Also fest steht, du hast etliche Mod Fehler und er findet im Server viele Dateien nicht.
Sonst kann ich atm nichts feststellen.Außer das du Stable nutzt etc.
Type: Public
Build: Stable
Version: 1.56.134627 -
Kannst du bitte die vollständige RPT mal hochladen als zip mal zum drüberschauen.
-
Ich bin in der Arbeit und hänge schon über 2 Remotes hier rum weil ich grade auf n Update von MS warte xD hab also sperrlich Zeit und kann weder TV noch TS
-
Also dann... machst du was falsch. Ein LAN server der nicht gefunden werden kann... ähnliches Problem hatte ich auch schon, mein Problem war damals dass er die Mission nicht laden konnte und regelmäßig ohne direkte Meldung einfach abgebrochen hat. Es stand zwar da, der Server wäre verfügbar, hat aber abgebrochen zu senden und zu empfangen und war somit nicht wirklich online.
Lädst du auch die richtige server.cfg? Quasi die richtigen Ports in deinen Server? Manchmal übersieht man das gerne. -
Wie meinst das mit local? Im sinne von LAN auf eigenem Rechner?
-
Mal dumm gefragt, sind deine Ports ordentlich freigegeben? Thematik Firewall / Antivir?
-
Ich bezweifle leider das da noch eine Reaktion kommt.
Eventuell wäre es aber gut zu wissen ob die Fahrzeuge denn überhaupt kaufbar sind. Im sinne von vehicleshop etc. ob die drin stehen. ~ Sonst wäre da ein kleiner Denkfehler. -
Ja ein Kollege hat gesagt er schreibt ein eigenes Script
Deswegen mag ich Anfänger so sehr
Hilfe verlangen, etwas batzig werden und dann doch zu wem anders gehen.
Wieder ein Grund warum wir Scripter ungern 1/1 c&p Lösungen geben
Denke damit kann hier closed werden -
3. Wieso nicht bald noch ein Tool das misst wie oft man vor dem Rechner gepupst hat? Ist mindestens genauso Useless. Besser wäre wenn in naher Zukunft überhaupt mal irgendein hier angeteasertes Tool fertig wird und nicht nach dem ersten Rückschlag in den Sand gesteckt wird.
Also das mit dem Tool ist ja eigentlich einfachnur sagt ja keiner was, was er braucht
Allerdings kann ich dir in dem Punkt zustimmen, es bleibt einfach nutzlos in dem Rahmen. Ein einfaches Admin Tool mit dem man Bannen/Kicken/verändern kann, würde vollkommen reichen. -
>> klick mich <<
Rohstoffe /Farming / Farmrouten... man muss verschiedene Begriffe eingeben