Softegg
Member-
Content Count
144 -
Joined
-
Last visited
-
Medals
Everything posted by Softegg
-
i know, this should not be the place for more discussions, but: the reason, why the underscore is necessary is not the md5-problem, it is because the '#debug checkfile'-command dont support blanks in filenames. '#debug checkfile filename' can be used to confirm that all connected players are using the same version of the checked file (maybe the map-file). check this forum for detailed information about the '#debug checkfile'-command.
-
@KaRRiLLioN: debuging-hint: first line in init.sqs: Debug=true add the debug-variable at all points where you want to test/check or enhance something like here: _player = Activator ?(Debug and Name _player == "KaRRiLLioN") : Goto "Bomb" Exit or here: ?(Debug and Name _player == "KaRRiLLioN") : _researchCost = _researchCost/4 ?(Debug and Name _player == "KaRRiLLioN") : _researchTime = 5 if you want to release a normal version, just change the first line in init.sqs to: Debug=false so you can easily switch between a debug and a normal version of your mission and don't need to remove the debuging-stuff from all scripts.
-
i want to release a multilingual mssion in english/german. but my english is not very good. can someone help me please with translating the briefing and other strings from german to english: briefing: </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Code Sample </td></tr><tr><td id="CODE"> <p> Wertungssytem: <br> <br> Das Spiel ist vorbei wenn der WEST- oder OST-Offizier getötet wurde oder die Spielzeit abgelaufen ist. <br> <br> <br> Der Offizier und seine Sonderstellung: <br> - Der Offizier kann Nachschub erzeugen: Munikisten, Jeeps, leichte Panzer, Aufklärungshelis (ohne Munition). <br> - Mit der Zeit wird der Offizier dadurch jedoch geschwächt und sollte geheilt werden. <br> - Getötete Soldaten respawnen im Umkreis von 50m zum Offizier. <br> - Im Umkreis von 500m zum Offizier bekommt jeder Soldat die Richtung zum gegnerischen Offizier mitgeteilt (minütlich). <br> - Der Offizier kann nicht als Fahrer oder Schütze in einem Fahrzeug agieren. <br> <br> <br> Respawn: <br> Nach 5 Sekunden, beim Offizier, mit Waffen aber ohne Munition. <br> <br> <br> Credits: <br> Grundidee: Rübe&Luki -=[SöLdNeR]=- <br> Realisierung: Softegg </p> <hr> <p><a name="plan.civilian"></a> Der Offizier von WEST/OST muß getötet werden. </p> <hr> <p><a name="plan.east"></a> Ein gegnerischer Trupp befindet sich im Westen von Nogova. <br> <br> Wir starten im Osten. <br> <br> <br> Der Auftrag lautet: <br> <br> - Finden Sie den gegnerischen Trupp <br> - Töten Sie den Anführer <br> <br> (Wertungssytem und weitere Informationen siehe Notizen) </p> <hr> <p><a name="plan.west"></a> Ein gegnerischer Trupp befindet sich im Osten von Nogova. <br> <br> Wir starten im Westen. <br> <br> <br> Der Auftrag lautet: <br> <br> - Finden Sie den gegnerischen Trupp <br> - Töten Sie den Anführer <br> <br> (Wertungssytem und weitere Informationen siehe Notizen) </p> <hr> <p><br> </p> <h2><a name="Debriefing:End1">Wertungssystem</a></h2> <p><br> </p> <p>Kills und Killpoints sind irrelevant!</p> <span id='postcolor'> stringtable: </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Code Sample </td></tr><tr><td id="CODE"> LANGUAGE,English,German, Comment STR_FUNKVERB,"bitte hier in englisch","Funkverbindung zum eigenen Offizier abgebrochen, Entfernung zu groß!", funk STR_GEGNOFFI,"Enemy officer at bearing %1°!","Gegnerischer Offizier in Richtung %1°!", gegneroffi STR_STARMODR,"Start at Modrava","Start in Modrava", wmo STR_STARMIRO,"Start at Mirov","Start in Mirov", wmi STR_STARVIDL,"Start at Vidlakov","Start in Vidlakov", wvi STR_STARTROS,"Start at Trosky","Start in Trosky", otr STR_STARBLAT,"Start at Blata","Start in Blata", obl STR_STARLIPA,"Start at Lipany","Start in Lipany", oli STR_OFFISTAR,"bitte hier in englisch","Gehen Sie zum Kartentisch im Zelt und wählen Sie den Startpunkt!", off STR_SOLDSTAR,"bitte hier in englisch","Warten Sie, bis der Offizier den Startpunkt gewählt hat!", sol STR_AUSDSCHU,"bitte hier in englisch","Bleiben Sie aus der Schußlinie, von Ihrem Ãœberleben hängt der Erfolg der Mission ab!", schußlinie STR_ACHTGESU,"bitte hier in englisch","Achten Sie beim Nachschub-Produzieren auf Ihre Gesundheit und lassen Sie sich rechtzeitig heilen!", nachschub STR_NAEHOFFI,"bitte hier in englisch","Bleiben Sie in der Nähe des Offiziers, dann bekommen Sie Informationen seines Gegner-Peilsenders!", nähe STR_SCHUOFFI,"bitte hier in englisch","Schützen Sie das Leben Ihres Offiziers - notfalls mit Ihrem eigenen!", schützen STR_MISSINFO,"Kill The Officer\n%1\nby Softegg [G-R]\n\nwww.german-roughnecks.de\n\nTime of play: %2 min.\nViewdistance: max. 1500 m","Kill The Officer\n%1\nby Softegg [G-R]\n\nwww.german-roughnecks.de\n\nSpielzeit: %2 Min.\nSichtweite: max. 1500 m", info STR_DEDIHOST,"bitte hier in englisch","Diese Map funktioniert nur, wenn das Spiel von einem 'dedicated-server' gehostet wird!\n\nWenn ein Client das Spiel hostet, kann dieser nicht am Spiel teilnehmen!", dedi STR_WESTNICH,"WEST-officer not active!","WEST-Offizier nicht aktiv!", westna STR_OSTONICH,"EAST-officer not active!","OST-Offizier nicht aktiv!", ostna STR_POSINICH,"The officer has no permission to occupy this position!","Der Offizier darf diese Position nicht besetzen!", posi STR_MUNIERZE,"Create Ammobox","Munitionskiste erzeugen", muni STR_JEEPERZE,"Create Jeep","Jeep erzeugen", jeep STR_PANZERZE,"Create Tank","Panzer erzeugen", tank STR_HELIERZE,"Create Helicopter","Helikopter erzeugen", heli STR_BEIDGETO,"Both officers has been killed!","Beide Offiziere wurden getötet!", beide STR_WESTGETO,"The WEST-officer has been killed!","Der WEST-Offizier wurde getötet!", west STR_EASTGETO,"The EAST-officer has been killed!","Der OST-Offizier wurde getötet!", ost STR_ERGEUNEN,"Draw!","Unentschieden!", unen STR_ERGEWEST,"WEST wins!","WEST hat gewonnen!", w STR_ERGEEAST,"EAST wins!","OST hat gewonnen!", o STR_SPIEZEIT,"\n\nTime of play:\n%1 minute(s)","\n\nSpielzeit:\n%1 Minute(n)", zeit STR_VERBSPIE,"Remaining time of play:\n%1 minute(s)","Verbleibende Spielzeit:\n%1 Minute(n)", verbl STR_MOMEWART,"bitte hier in englisch","Sie müssen einen Moment warten, bevor Sie weiteren Nachschub erzeugen können!", wart STR_MUNIWURD,"Ammobox has been created!","Munitionskiste wurde erzeugt!", muni STR_JEEPWURD,"Jeep has been created!","Jeep wurde erzeugt!", jeep STR_UAZWURD,"UAZ has been created!","UAZ wurde erzeugt!", uaz STR_M2A2WURD,"M2A2 has been created!","M2A2 wurde erzeugt!", m2a2 STR_BMP2WURD,"BMP2 has been created!","BMP2 wurde erzeugt!", bmp2 STR_UH60WURD,"UH60 has been created!","UH60 wurde erzeugt!", uh60 STR_MI24WURD,"MI24 has been created!","MI24 wurde erzeugt!", mi24 STR_NOCHMINU,"%1 minutes left!","Noch %1 Minuten!", nochminuten STR_NOCHEINE,"1 minute left!","Noch 1 Minute!", noch1 STR_ZEITABGE,"Time of play over!","Spielzeit abgelaufen!", abgelaufen <span id='postcolor'> tanks in advantage.   Â
-
thank you all. this helps me a lot.
-
thank you for the first part. is there anyone who can help me with the remaining stringtable please?
-
just correcting an little error in your routines, then it works fine: _hyp = _vel * cos _ang _vx = _hyp * SIN _dir _vz = _hyp * COS _dir _vy = _vel * sin _ang but except of this: great work, doolittle!!!
-
What do you think is the best way to edit!
Softegg replied to 4C3's topic in OFP : MISSION EDITING & SCRIPTING
i do nearly everthing with scripts. triggers are not much reliable in multiplayer, also there is less lag in mp with scripts instead of triggers. things like very detailed loops or pauses you cannot make in the editor. if i have 5 ammoboxes, i fill them with a script. so i have to write the code once and not 5 times. later, if i want to change the ammo, i have to change 1 script and i wont forget maybe 1 ammobox. -
to let jump out a group of units, use this: A="EJECT"; "_x action [A,vehicle _x]" foreach (units group s1) s1=leader of the group A=action _x=each unit of the group but like this, it can happen, that these dummies jumping in the chute of other units and die. here comes a solution with a script. 1. create a file with the name "ParaJump.sqs" in the same directory, where your mission.sqm is placed. 2. insert this code: </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Code Sample </td></tr><tr><td id="CODE"> _units=_this select 0 _unit=ObjNull _index=0 #Do _unitold=_unit _unit=_units select _index @_unitold distance _unit>5 unassignVehicle _unit _unit action["EJECT",vehicle _unit] _index=_index+1 ?_index<count _units:goto "Do" <span id='postcolor'> 3. call it like this: [units group s1] exec "ParaJump.sqs" you can change the jump-frequency if you change the numer on the end of the line "... distance ..." maybe from 5 to 10 or so.
-
is the a way to check if a unit, that was player controlled before, now is an AI-controlled unit? i have disabled the existence of AI-players with: disabledAI=1 but if a player disconnects while the game is running, the unit remains in the game, but is now under AI-control. the problem is: in my mission, all players have to pass some checkpoints. if all players are within the checkpoint, the mission continues. but a disconnected player never will reach the checkpoint and so the other players are unable the continue the mission. if i can point out the AI-units, i can reduce the counter of the units that have to reach the checkpoint. (don't tell me to sent the unit to the waypoint with "domove", because some checkpoints are on islands and the units are not in a group). Â
-
problem in multiplayer-missions: if you have tank/chopper which not heads exactly 0 degrees, the gun will not head in the same direction than the body of the vehicle if the mission starts. solution: place and head the vehicles with the editor at 0 degrees, set their desired heading in the init field: this setdir 30.
-
hello bi-team. i was posting my former thread not only to inform you about this problem. i also wanted to talk about ways against these cheats. how about a checksum for the map and the other essential files? if all player have loaded the map, the server provides a checksum of the original map. all clients use this checksum to verify that the same files are used. if not, public-message!!! if some of the "essential" files are missing or modified, public-message!!! ofp is using a kind of version/checksum-control at the config-files, is it not possible to enhance these control-mechanism?
-
@ MaHuJa: resolutions for this cases can be published by the map-makers. how about a respawn-limit? after 5 kills, there are no more lives for the player and he will not longer be able to fight in this round. how about a base-protection-killzone? players are not able to came closer than 500 meters to the enemy start-base. this must be done by the map-designers, this is not something you can blame on B.I.
-
hello bi-team. do you know, there are ways to play ofp multiplayer missions and to use a different map-pbo (with viewdistance+weather+time improvements) than the other players? do you know, there are ways to play ofp multiplayer missions without the ground-textures, so the vehicles can move much more faster and you can detect enemies much more easier? these things are very easy to manage, apart form other ways of cheating. my opinion: i don't use cheats, even if other people are suspect. if it is clear, that other people are cheaters, i don't play mp-matches against them any more. but never i will also start to cheat. please, help to protect the ofp-community. cheating will kill the community and will kill the multiplayer-part of this game. if you want to know more, check my email-addy.
-
i started a thread in this forum, now it is deleted. it was about the ability of detecting cheaters with the sctipting-language. i've made some tests on a ded-server with one friend using the weapon-cheat. my scripts where able to detect the activated cheat like this: 1. i saved the actual count of shells for the weapon. 2. i waited until a bullet of the weapon was around the player. 3. i checked the shell-count again. if the shell-count was not lowered, the cheat was active. now the problem: this scripts must run on each player-computer. but if a bullet is detected, it is not possible to name the source (i.e. the player). also lag makes the detection nearly impossible. in my thread i asked b.i. if they could add some commands like: activeweapon (which is the actual used weapon) hasfired (can be used to wait until a player has fired)
-
hello. i ask here for new commands in ofp-script-language which makes the detection of weapon-cheaters in multiplayer easier. there is a new program released  which gives unlimited ammo. you can shoot, but the bulletcounter is always the same. in the future, all normal players cannot be sure that other players don't use this tool. i am searching ways and writing scripts for detection of cheaters. but it's very difficulty. maybe BI can add some commands, so the detection of cheaters will be much more easier. something like "HasFired unit" can be used in a script like this: </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Code Sample </td></tr><tr><td id="CODE">_ammo=player ammo "LawLauncher" @HasFired player ?_ammo==player ammo "LawLauncher":player globalchat "Cheater!"<span id='postcolor'> something like "weapon unit" (should be the actual active weapon) can be used like this: </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Code Sample </td></tr><tr><td id="CODE">_ammo=player ammo (weapon player) @HasFired player ?_ammo==player ammo (weapon player):player globalchat "Cheater!"<span id='postcolor'> so the scripters we be able to detect cheaters easier. cheating kills this game. the fun will be lost. finally my actual script: </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Code Sample </td></tr><tr><td id="CODE">;***************************************************************************************** ********************* #AmmoCheaterCheck JudgeCheater=-1 _unit=_this select 1 _gweaponlist = ["M16","LawLauncher"] _gshelllist = ["BulletSingleW","Law"] _uweaponlist=["","","","","","","","","",""] _ushelllist=["","","","","","","","","",""] _uammolist=[0,0,0,0,0,0,0,0,0,0] #DoAmmoCheaterCheck _windex=0 _ucount=0 #DoDetermineWeapons _cwaffe=_gweaponlist select _windex ?_unit hasWeapon _cwaffe:_uweaponlist set [_ucount,_cwaffe];_ushelllist set [_ucount,_gshelllist select _windex];_uammolist set [_ucount,_unit ammo _cwaffe];_ucount=_ucount+1 _windex=_windex+1 ?_windex<count _gweaponlist:goto "DoDetermineWeapons" _windex=0 #DoCheckFire _firedweapon=NearestObject [_unit,_ushelllist select _windex] ?not (isnull _firedweapon):goto "AmmoCheaterCheckPause" #LoopFireCheck _windex=_windex+1 ?_windex<_ucount:goto "DoCheckFire" goto "DoAmmoCheaterCheck" ;***************************************************************************************** ********************* #AmmoCheaterCheckPause ~1 ?_uammolist select _windex==_unit ammo (_uweaponlist select _windex):goto "AmmoCheaterDetected" goto "LoopFireCheck" ;***************************************************************************************** ********************* #AmmoCheaterDetected _index=0 #DoJa ?name player==name (list JudgeLou select _index):JudgeCheater=_index _index=_index+1 ?_index<count list JudgeLou and JudgeCheater!=-1:goto "DoJa" publicVariable "JudgeCheater" _text=format["Name: %1",name player]+"\n" _text=_text+format["Weapon: %1",_uweaponlist select _windex]+"\n" _text=_text+format["Ammo old: %1",_uammolist select _windex]+"\n" _text=_text+format["Ammo new: %1",_unit ammo (_uweaponlist select _windex)] TitleText[_text,"Plain"] goto "DoAmmoCheaterCheck"<span id='postcolor'>
-
i want to describe the reason for my request more detailed: we are making mp-maps for a league and are adding judges which can follow each player with a flying camera. we want to give the judges some hints if something unusual happens, so they can take a closer look at a conspicuous player.
-
hello. i ask here for new commands in ofp-script-language which makes the detection of weapon-cheaters in multiplayer easier. there is a new program released  which gives unlimited ammo. you can shoot, but the bulletcounter is always the same. in the future, all normal players cannot be sure that other players don't use this tool. i am searching ways and writing scripts for detection of cheaters. but it's very difficulty. maybe BI can add some commands, so the detection of cheaters will be much more easier. something like "HasFired weaponname" can be used in a script like this: </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Code Sample </td></tr><tr><td id="CODE">_ammo=player ammo "Law" @HasFired "Law" ?_ammo==player ammo "Law":player globalchat "Cheater!"<span id='postcolor'> something like "weapon unit" (should be the actual active weapon) can be used like this: </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Code Sample </td></tr><tr><td id="CODE">_ammo=player ammo (weapon player) @HasFired weapon player ?_ammo==player ammo (weapon player):player globalchat "Cheater!"<span id='postcolor'> so the scripters we be able to detect cheaters easier. cheating kills this game. the fun will be lost. finally my actual script: </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Code Sample </td></tr><tr><td id="CODE">;***************************************************************************************** ********************* #AmmoCheaterCheck JudgeCheater=-1 _unit=_this select 1 _gweaponlist = ["M16","LawLauncher"] _gshelllist = ["BulletSingleW","Law"] _uweaponlist=["","","","","","","","","",""] _ushelllist=["","","","","","","","","",""] _uammolist=[0,0,0,0,0,0,0,0,0,0] #DoAmmoCheaterCheck _windex=0 _ucount=0 #DoDetermineWeapons _cwaffe=_gweaponlist select _windex ?_unit hasWeapon _cwaffe:_uweaponlist set [_ucount,_cwaffe];_ushelllist set [_ucount,_gshelllist select _windex];_uammolist set [_ucount,_unit ammo _cwaffe];_ucount=_ucount+1 _windex=_windex+1 ?_windex<count _gweaponlist:goto "DoDetermineWeapons" _windex=0 #DoCheckFire _firedweapon=NearestObject [_unit,_ushelllist select _windex] ?not (isnull _firedweapon):goto "AmmoCheaterCheckPause" #LoopFireCheck _windex=_windex+1 ?_windex<_ucount:goto "DoCheckFire" goto "DoAmmoCheaterCheck" ;***************************************************************************************** ********************* #AmmoCheaterCheckPause ~1 ?_uammolist select _windex==_unit ammo (_uweaponlist select _windex):goto "AmmoCheaterDetected" goto "LoopFireCheck" ;***************************************************************************************** ********************* #AmmoCheaterDetected _index=0 #DoJa ?name player==name (list JudgeLou select _index):JudgeCheater=_index _index=_index+1 ?_index<count list JudgeLou and JudgeCheater!=-1:goto "DoJa" publicVariable "JudgeCheater" _text=format["Name: %1",name player]+"\n" _text=_text+format["Weapon: %1",_uweaponlist select _windex]+"\n" _text=_text+format["Ammo old: %1",_uammolist select _windex]+"\n" _text=_text+format["Ammo new: %1",_unit ammo (_uweaponlist select _windex)] TitleText[_text,"Plain"] goto "DoAmmoCheaterCheck"<span id='postcolor'>