s2ext

Bitte logg dich ein oder registriere dich.

Einloggen mit Benutzername, Passwort und Sitzungslänge
Erweiterte Suche  

Neuigkeiten:

Fehler und Spammer oder Probleme beim Login hier melden.

Autor Thema: Schneller Bauen  (Gelesen 9094 mal)

Anonymous

  • Newbie
  • *
  • Beiträge: 1.610
Schneller Bauen
« am: März 03, 2010, 19:46:34 Nachmittag »

Ist das richtig einern neuen Thread aufzumachen *hoff*

Könnte man eine Funktion einbauen, damit man schnleller bauen kann?  z.B. man kann 5 Sachen auf einmal verbauen. Oder kann man einfach ein Script zu dem Hammer hinzufügen?? Wäre froh, wenn jemand irgentetwas integrieren kann??
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

Aljna

  • Newbie
  • *
  • Beiträge: 111
Re: Schneller Bauen
« Antwort #1 am: März 03, 2010, 20:25:40 Nachmittag »

..meinst Du den lästigen Einzel - Rechtsklick?

Ich denke, das nervt einige User.
Es gibt einiges zu bauen, das mehr als 100 Teile hat..
Klar - bauen braucht halt Zeit, aber muss es so nerven..??

Wenn man z.B das erweiterte Haus baut ist es besonders nervig, weit über 100 Nägel
stupide einzeln einzuschlagen - wäre es nicht sinnvoller, wenn man einfach die rechte Maustaste
dauernd gedrückt halten könnte, wie z.B. beim Holz sammeln, Baumwolle ernten etc.. etc..
(..ich weiss, LMT..)
.. ich denke, dem Spielspass würde das bestimmt keinen Abbruch tun - im Gegenteil.. - mlg Aljna
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

GerriKo

  • Newbie
  • *
  • Beiträge: 28
Re: Schneller Bauen
« Antwort #2 am: März 04, 2010, 12:44:26 Nachmittag »

man könnte auch einfach einstellen dass jeder Klick zählt. Jetzt geht es ja nur in einer bestimmten Frequenz.
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

Feuer der veränderung

  • Newbie
  • *
  • Beiträge: 165
Re: Schneller Bauen
« Antwort #3 am: März 04, 2010, 14:17:53 Nachmittag »

Ich finde es gut so schon mal ein haus gebaut? Das dauert und durch das nervige Klicken wird die dauer simuliert man könnte es vieleicht so machen das man alle Items ins Haus einlagern kann und dann ein Dialog fenster kommt wo Bauen steht und wenn man da drauf drückt dauert es etwa den halben Tag und dann ist das Haus fertig
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert
mfg Feuer der veränderung

finman

  • Gast
Re: Schneller Bauen
« Antwort #4 am: März 04, 2010, 14:54:09 Nachmittag »

Die Idee finde ich gut, alles rein und dann dauerts halt ne Weile, man sollte dann aber noch irgndwas einführen, wodurch man immer mal wieder mit nem Hammer draufhaun muss oder so, nen Haus baut sich ja eigentlich nicht von alleine.
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

timooh

  • Newbie
  • *
  • Beiträge: 6
Re: Schneller Bauen
« Antwort #5 am: März 04, 2010, 16:28:31 Nachmittag »

I've modded my s2ext to use less clicks on building. I've changed buildingsite to use a storage, so I can put the items inside. Then hit it with a hammer a few times, which uses up time you would have used right-clicking. Finish building with a right click. Of course, there is nothing to stop putting items inside and then right-clicking->cheat building.

I timed building a few times, and it took approx. 30 seconds to build a shelter with 50 buildparts. So each item takes about 0.6 seconds to build, multiply that with needed buildparts and you get total buildtime. Each hammer hit takes max 5 seconds. It could be longer, but that makes it more dangerous to build near hostiles.

I'm working on "build with one hit" method, too.

To test, back up and modify objects_buildings.inf. Start up the game, place a building site, put ALL items in first, THEN hit with hammer. If you put 1 item in and hit, the buildtime is wrong. (I don't know if it's possible to know how many items there should be?)


Modified objects_buildings.inf:
Code: (text) [Auswählen]
  1. #!NEXT
  2. ##################
  3. # BID:  1    
  4. # GID:  0    
  5. # File: objects_buildings
  6. ##################
  7. id=150
  8. name=Baustelle
  9. icon=gfxbuildplace.bmp
  10. group=building,std
  11. model=gfxbuildplace.b3d
  12. behaviour=buildingsite
  13. col=2
  14. health=100
  15. mat=wood
  16. maxweight=1000000000
  17. var=building,Gebäude ID,0,0
  18. script=start
  19.     local $hasbeenhit,$howmanymsecleft;
  20.     on:start { if (count("object",500)>0) { skip; }
  21.         if ($building>0) {
  22.             addstate "self",52;
  23.             statesize "self",52,$building;
  24.         }
  25.     }
  26.  
  27.     on:use {
  28.           exchange "self";
  29.         }
  30.  
  31.     on:hit {
  32.         if (getplayerweapon()==30){
  33.             //msg "Klicke mit der rechten Maustaste,",3;
  34.             //msg "um hier zu bauen!",3;
  35.             if($hasbeenhit==0) {
  36.                 $hasbeenhit=1;
  37.                 $buildhit=impact_id();
  38.                 //msg $buildhit;
  39.                 $buildparts= count_stored("object", $buildhit);
  40.                 
  41.                 if($buildparts==0) {
  42.                     $hasbeenhit=0;               
  43.                 }
  44.                 // 30s/50items=0.6s/item   
  45.                 $howmanymsecleft=$buildparts*600;               
  46.             }
  47.                        if($howmanymsecleft<=0) {
  48.                 if($hasbeenhit==0) {
  49.                     msg "Put the raw materials in first!";
  50.                 }
  51.                 else {
  52.                     msg "Finish the building",3;
  53.                     msg "with the right mousebutton!",3;
  54.                 }
  55.             }          
  56.             elseif ($howmanymsecleft<=5000) {
  57.                 process "building",$howmanymsecleft;
  58.                 $howmanymsecleft=0; 
  59.             }
  60.             else    {
  61.                 $howmanymsecleft-=5000;
  62.                 process "building $howmanymsecleft",5000;
  63.             }
  64.         }
  65.     }
  66. script=end
  67.  


Edited: typos
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert
I can usually guess what you are writing about in german.
I could also write in german, but then you would have to guess, too.

Anonymous

  • Newbie
  • *
  • Beiträge: 1.610
Re: Schneller Bauen
« Antwort #6 am: März 04, 2010, 17:59:56 Nachmittag »

klappt super!!!! danke!!

mfg

chosun
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

timooh

  • Newbie
  • *
  • Beiträge: 6
Re: Schneller Bauen
« Antwort #7 am: März 04, 2010, 20:56:06 Nachmittag »

I think I got "build-with-one-hammer-hit" version working, too. I think it's even better than the previous one. It also needs one additional script key to work. Hitting a buildsite with hammer starts a timer loop. The loop keeps building until it is finished or the user interrupts by hitting cancelbuild-key.

In game.inf, look for lines like these
Code: (text) [Auswählen]
  1. scriptkey=0,Steigen
  2. scriptkey=1,Sinken
  3. scriptkey=2,Sprinten
  4. scriptkey=3,Spezialtaste 1
  5.  
In my case, the first free key was scriptkey 4, yours might be different.
Code: (text) [Auswählen]
  1. scriptkey=4,Freie Taste
replace "Freie Taste" with:
Code: (text) [Auswählen]
  1. scriptkey=4,Cancelbuild
  2.  
Now, hitting key 4 launches fk_hit02 (nothing to edit here, just see which number the event gets)
Code: (text) [Auswählen]
  1. on:keyhit04 { event "fk_hit02","global"; }
  2.  
So, I declare fk_hit02 (paste after the on:keyrelease11)
Code: (text) [Auswählen]
  1. on:fk_hit02 {
  2.     $cancelbuild=1;
  3. }
  4.  
 
Now the game setup->keys(2) should have a key for "Cancelbuild". Remember to configure it!

Next, open objects_buildings.inf and replace the script part for buildingsites.
Code: (text) [Auswählen]
  1. script=start
  2.     local $hasbeenhit,$howmanymsecleft;
  3.     on:start { if (count("object",500)>0) { skip; }
  4.         if ($building>0) {
  5.             addstate "self",52;
  6.             statesize "self",52,$building;
  7.         }
  8.     }
  9.  
  10.     on:use {
  11.           exchange "self";
  12.         }
  13.  
  14. on:hit {
  15.         if (getplayerweapon()==30){
  16.             //msg "Klicke mit der rechten Maustaste,",3;
  17.             //msg "um hier zu bauen!",3;
  18.             $cancelbuild=0;
  19.             if($hasbeenhit==0) {
  20.                 $hasbeenhit=1;
  21.                 $buildhit=impact_id();           
  22.                 $buildparts= count_stored("object", $buildhit);            
  23.                 if($buildparts==0) {
  24.                     $hasbeenhit=0;
  25.                 }
  26.                 // 30s/50items=0.6s/item   
  27.                 $howmanymsecleft=$buildparts*600;               
  28.             }  
  29.             if($howmanymsecleft<=0) {
  30.                 if($hasbeenhit==0) {                   
  31.                     msg "Put the raw materials in first!";
  32.                 }
  33.                 else {
  34.                     msg "Finish the building",3;
  35.                     msg "with the right mousebutton!",3;
  36.                 }
  37.             }
  38.             else {
  39.                 play "build.wav";
  40.                 process "Building $howmanymsecleft",1000;
  41.                 timer "self",1000;
  42.             }
  43.         }
  44.     }
  45.  
  46.  
  47.  
  48. on:timer {
  49.        
  50.         if($cancelbuild==0) {
  51.             if($howmanymsecleft<=0) {
  52.                 msg "Finish building With right click";            
  53.             }
  54.             elseif ($howmanymsecleft<=1000) {
  55.                  timer "self",$howmanymsecleft;
  56.                  play "build.wav";
  57.                  process "building",$howmanymsecleft;
  58.                  $howmanymsecleft=0;
  59.             }
  60.             else {
  61.                 $howmanymsecleft-=1000;
  62.                 play "build.wav";
  63.                 process "Building $howmanymsecleft",1000;
  64.                 timer "self",1000;
  65.             }
  66.         }
  67.         else {
  68.             msg "Build interrupted!";
  69.         }
  70.     }
  71. script=end
  72.  


This does not build any faster, but with a lot less clicking!  :hooray:



edit: added sound effects
« Letzte Änderung: März 15, 2010, 19:16:14 Nachmittag von timooh »
Gespeichert
I can usually guess what you are writing about in german.
I could also write in german, but then you would have to guess, too.

Anonymous

  • Newbie
  • *
  • Beiträge: 1.610
Re: Schneller Bauen
« Antwort #8 am: März 05, 2010, 13:39:21 Nachmittag »

O.K. da meine Englisch Kenntnisse nicht gerade hervorragend sind, was genau steht im 2. Beitrag }:?
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

timooh

  • Newbie
  • *
  • Beiträge: 6
Re: Schneller Bauen
« Antwort #9 am: März 05, 2010, 16:08:56 Nachmittag »

Das war meine "mit ein hammer hit bauen"-script. Du musst ein scriptkey definieren (fur "cancelbuild"). Wenn du das baustellen mit hammer schlagst, ein timer loop lauft. Das loop lauft, bis der bauen komplett ist oder mit der "cancelbuild"-tasten interruptet.

In "game.inf", replace
Code: (text) [Auswählen]
  1. scriptkey=4,Freie Taste
  2.  
(oder der erste freie tasten) mit
Code: (text) [Auswählen]
  1. scriptkey=4,Cancelbuild
  2.  
nach on:keyrelease11, paste
Code: (text) [Auswählen]
  1. on:fk_hit02 {
  2.      $cancelbuild=1;
  3.  }
  4.  
du musst der tasten ins optioner->steuerung(2) konfigueren!

Das lange script war fuer objects_buildings.inf, neue version fuer der script teilen da oben ^ fur IDs 150 und 151.

I hope you can guess what I said :)
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert
I can usually guess what you are writing about in german.
I could also write in german, but then you would have to guess, too.

GerriKo

  • Newbie
  • *
  • Beiträge: 28
Re: Schneller Bauen
« Antwort #10 am: März 05, 2010, 17:50:31 Nachmittag »

Zitat von: "chosun"
O.K. da meine Englisch Kenntnisse nicht gerade hervorragend sind, was genau steht im 2. Beitrag }:?

Na komm, so schwer war das ja jetzt nicht...

Wir heißen hier ja nicht alle Oettinger
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

Anonymous

  • Newbie
  • *
  • Beiträge: 1.610
Re: Schneller Bauen
« Antwort #11 am: März 05, 2010, 21:40:30 Nachmittag »

Der Erste lange funzt, bei dem mit den Cancelbuild Kommt eine Meldung

Zitat
Error!

Invalid Object ID for BUILDING (0)

Keine Ahnung woher!!

MfG

chosun
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

Anonymous

  • Newbie
  • *
  • Beiträge: 1.610
Re: Schneller Bauen
« Antwort #12 am: März 06, 2010, 17:34:59 Nachmittag »

Ersetzt, mit dem oberen geht's aber wenn ich bei ID 150 + 151 den skript von
von...bis
Code: (text) [Auswählen]
  1. script start
  2.  
  3. script end
Teil estetze und stranded starte, dann kommt die Fehlermeldung
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert

timooh

  • Newbie
  • *
  • Beiträge: 6
Re: Schneller Bauen
« Antwort #13 am: März 08, 2010, 10:47:36 Vormittag »

Zitat von: "chosun"
Ersetzt, mit dem oberen geht's aber wenn ich bei ID 150 + 151 den skript von
von...bis
Code: (text) [Auswählen]
  1. script start
  2.  
  3. script end
Teil estetze und stranded starte, dann kommt die Fehlermeldung

Restore the "objects_buildings.inf" from the backup, and see if it works. Maybe something went wrong during the copy-paste?

Funktionert es mit der original objects_buildings.inf?
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert
I can usually guess what you are writing about in german.
I could also write in german, but then you would have to guess, too.

Aljna

  • Newbie
  • *
  • Beiträge: 111
Re: Schneller Bauen
« Antwort #14 am: März 09, 2010, 20:50:44 Nachmittag »

Hi, und danke für die Idee und Umsetzung timooh,

Es funktioniert eigentlich gut, - nur wenn man z.B. mehr Baustämme
als nötig sind ins Bauinventar lagert, sind sie nach dem Bauen wech...

Irgendwie fehlt mir aber doch der Baueffekt mit den Hammerschlägen -
ich würde eine Version bevorzugen, in der wie gewohnt gebaut wird,
in der aber die Maustaste dauernd gedrückt wird, also nicht dauernd
einzeln geklickt werden muss.. (..eben wie z.B. beim Baumfällen..)

In der Bedienung finde ich Stranded wie es jetzt ist einfach und genial..  8)
.. bis eben auf das lästige "dutzende-male-Geklicke"  :x  .. - mlg Aljna
« Letzte Änderung: Januar 01, 1970, 01:00:00 Vormittag von Guest »
Gespeichert