[Open-Sourced Development] Gavutu Zombies: Timeline Disorder - Learn how to create missions here together

but it lags before the chi-nu even spawns. and the game freezes for 0.01 second whenever a tank spawns (by 0.01 second i mean really a tiny lag spike thats unnoticeable)

Fixed it, idk what happened. Perhaps it had something to do with the ctrl+v that i pressed day before yesterday at 3.45 am (brain cell probably decomposing lol)

image

Check your console output, there may be a lot of error logs looply spawning

I have none tho

err if you loaded up my map, it should have no new errors. It might be old error cached on your log console because i clearly dont have such player_profile entity

Lags starts when you destroy tank. Hmmm… And on my map everything is fine.

The game lags when the 6th tank spawns and start path finding
maybe because the other tanks are in their way so they are constantly trying to go around that
F. Why did the devs touch that. They didn’t have to, its tank ai thats just for us to play not the main game. And i dont care about the human bots(for now)

So its clearly not a “me” issue. Hmmmm path finding maybe? I also added the cleanup body thingy that count down for 30 seconds. See if thats the problem

Edit: Omg you are right. The lag intensifies a ton when the tank is destroyed
Edit#2: But the lag stops when all tanks are blown up
Edit#3: The original pz4j wont work now so wave 25 tanks dont move now sadly

Probably you choose bad spots for aim & destinations.

the devs did change something, it wasn’t killing the game before update
got to sleep now so reply tomorrow

How did i miss that

ok i have fixed it
Btw the aim position is there with id = 0

Updated the 2 blks above.

Or it’s because of ta se.

One ta-se wont kill the game
In my final map it would be like 1 or 2 tanks per 3 waves or so, so it really dont matter unless players store them to crash the game
and kinda want the ta-se cuz its so funny to see players get killed by the one of the most underrated tanks in the whole game (well people dont know how to use it so they call it bad, it shreds stuarts so i love it(also people in this case with the fast moving turret))

For tnt you create medkit box. Everything is same, but in useful_box__giveItem you use ger_tnt_block (or any other tnt_block). Also it would be good to set satchel_charge_char in animchar__res and items/tnt_block in useful_box__hintFull property. You also can change image. For that you can set tnt_charge_icon in hud_icon__image.

And then nearby with fake medkit box you need to put tnt_block_exploder with +item_in_world+paid_loot_item with postfix templates. Better to set 0 in paid_loot__cost.


For mines… Probably better to make seperate entities. Here is code:

base_antipersonnel_mine_item{
  _use:t="tnt_block_exploder"
  _use:t="item_gun"
  animchar__res:t="satchel_charge_char"
  item__template:t="ger_antipersonnel_mine+disable_item_drop"
  item__weapTemplate:t="ger_antipersonnel_mine+disable_item_drop"
  item__name:t="items/antipersonnel_mine"
  gun__locName:t="antipersonnel_mine"
}

ger_antipersonnel_mine_item{
  _use:t="base_antipersonnel_mine_item"
  animchar__res:t="sprengmine_35_char"
  item__template:t="ger_antipersonnel_mine+disable_item_drop"
  item__weapTemplate:t="ger_antipersonnel_mine+disable_item_drop"
}

ussr_antipersonnel_mine_item{
  _use:t="base_antipersonnel_mine_item"
  animchar__res:t="pomz_2_mine_char"
  item__template:t="ussr_antipersonnel_mine+disable_item_drop"
  item__weapTemplate:t="ussr_antipersonnel_mine+disable_item_drop"
}

usa_antipersonnel_mine_item{
  _use:t="base_antipersonnel_mine_item"
  animchar__res:t="m2a3_mine_char"
  item__template:t="usa_antipersonnel_mine+disable_item_drop"
  item__weapTemplate:t="usa_antipersonnel_mine+disable_item_drop"
}

uk_antipersonnel_mine_item{
  _use:t="base_antipersonnel_mine_item"
  animchar__res:t="uk_ap_mine_mk1_char"
  item__template:t="uk_antipersonnel_mine+disable_item_drop"
  item__weapTemplate:t="uk_antipersonnel_mine+disable_item_drop"
}

it_antipersonnel_mine_item{
  _use:t="base_antipersonnel_mine_item"
  animchar__res:t="ita_vaudagna_b4_mine_char"
  item__template:t="it_antipersonnel_mine+disable_item_drop"
  item__weapTemplate:t="it_antipersonnel_mine+disable_item_drop"
}

jp_antipersonnel_mine_item{
  _use:t="base_antipersonnel_mine_item"
  animchar__res:t="type_3_mine_char"
  item__template:t="jp_antipersonnel_mine+disable_item_drop"
  item__weapTemplate:t="jp_antipersonnel_mine+disable_item_drop"
}

base_antitank_mine_item{
  _use:t="tnt_block_exploder"
  _use:t="item_gun"
  animchar__res:t="antitank_mine_char"
  item__template:t="ger_antitank_mine+disable_item_drop"
  item__weapTemplate:t="ger_antitank_mine+disable_item_drop"
  item__name:t="items/antitank_mine"
  gun__locName:t="antitank_mine"
}

ger_antitank_mine_item{
  _use:t="base_antitank_mine_item"
  animchar__res:t="tellermine_35_char"
  item__template:t="ger_antitank_mine+disable_item_drop"
  item__weapTemplate:t="ger_antitank_mine+disable_item_drop"
}

ussr_antitank_mine_item{
  _use:t="base_antitank_mine_item"
  animchar__res:t="tm_41_char"
  item__template:t="ussr_antitank_mine+disable_item_drop"
  item__weapTemplate:t="ussr_antitank_mine+disable_item_drop"
}

usa_antitank_mine_item{
  _use:t="base_antitank_mine_item"
  animchar__res:t="m1_antitank_mine_char"
  item__template:t="usa_antitank_mine+disable_item_drop"
  item__weapTemplate:t="usa_antitank_mine+disable_item_drop"
}

uk_antitank_mine_item{
  _use:t="base_antitank_mine_item"
  animchar__res:t="uk_at_mine_gs_mark_v_char"
  item__template:t="uk_antitank_mine+disable_item_drop"
  item__weapTemplate:t="uk_antitank_mine+disable_item_drop"
}

it_antitank_mine_item{
  _use:t="base_antitank_mine_item"
  animchar__res:t="ita_pignone_type_II_at_mine_char"
  item__template:t="it_antitank_mine+disable_item_drop"
  item__weapTemplate:t="it_antitank_mine+disable_item_drop"
}

jp_antitank_mine_item{
  _use:t="base_antitank_mine_item"
  animchar__res:t="type_93_mine_char"
  item__template:t="jp_antitank_mine+disable_item_drop"
  item__weapTemplate:t="jp_antitank_mine+disable_item_drop"
}

And then you will able find them in weapons. Need add only create them with +paid_loot_item postfix template.


Keep in mind that mines and exploder can be only one in slot (for mines I added +disable_item_drop, because else you will able accidently pickup another one and lost old one mine). TNT is unlimited. Later I’ll try make mines too unlimited in slot, but I’m not sure that I can really do it.

1 Like

btw how to fix the tank ai problem for the event tank? I think it also broke

And just to ask if there is a way to make custom briefing

Wait what are point 2,3 and 4
image

The halftrack is moving and shooting!.. but only left mg is firing (and somehow only the right mg is going red hot)

What do you mean? I tested on your map yesterday and they worked fine.

Yeah… You can write your text instead wave_briefing/welcome.

Data types. That allows to use info like “0.1, 12.3” (p2) in properties.

With these new options… Now we can add custom weather inside level__weatherChoice in editor without editing scene file.

Could you show vehicle seats code? You can just screenshot properties panel.

Oh… thats way more convenient than i have ever thought

Good! (Even though i delete everything except one to make the time of day of my map static)

...



"vehicle_seats__seats:shared:array"{

    "seats:object"{
	  directTurretControl:b=yes
      name:t="main_gunner"
      locName:t="vehicle_seats/gunner"
      attachNode:t="gunner"
      ignoreAttachNodeRotation:b=yes
      attachTm:m=[[0.90628, 0.4227, 8.74272e-16] [-0.4227, 0.906281, 5.83326e-09] [2.4657e-09, -5.28653e-09, 1.00001] [-0.21, -0.3, 0.0]]
      seatComponent:t="isGunner"
      nextSeat:t="driver"
      shouldHideOwner:b=no
      receiveDamageFromDMPart:t="gunner"
      cameraNodeName:t="bone_camera_gunner"
      cockpitTemplate:t="us_halftrack_m13_gunner_cockpit"
      directTurretControl:b=yes
      cameraOffset:p3=-0.35, 0.2, 0.0
      maxPosWithOpenHatch:r=0.0
      hatchRotationAxis:p3=0.0, 0.0, 0.0
      canLoadInHatch:b=yes
      isHoldGunModeAllowed:b=no
      useHatchEffectors:b=yes

      "turretNames:array"{
        turretNames:t="turret_01"
        turretNames:t="turret_02"
      }

      "hatchTurretNames:array"{
        turret:t="turret_01"
        turret:t="turret_02"
      }

      "hatchNodes:array"{
        node:t="hatch_01"
      }

      "loaderTurretNames:array"{
        turret:t="turret_01"
        turret:t="turret_02"
      }

      "effectors:object"{

        "l.hand:object"{
          rel_tm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.0, -0.0, 0.0]]
          node:t="lefthand_2"
        }

        "r.hand:object"{
          rel_tm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.0, -0.0, 0.0]]
          node:t="righthand_2"
        }

        "l.foot:object"{
          rel_tm:m=[[1.0, -0.000134336, 0.00109565] [0.000133743, 1.0, 0.000674367] [-0.00109572, -0.000674196, 0.999999] [-0.02948, -0.0187607, 0.00164175]]
          node:t="pedal_lfoot_2"
        }

        "r.foot:object"{
          rel_tm:m=[[0.999999, 3.96237e-06, 0.00119497] [-4.91767e-06, 1.0, 0.000759456] [-0.00119502, -0.000759482, 0.999999] [-0.0288086, -0.0186996, -0.000524521]]
          node:t="pedal_rfoot_2"
        }
      }
    }

    "seats:object"{
      name:t="driver"
      locName:t="vehicle_seats/driver"
      seatOwnsEntityControl:b=yes
      attachNode:t="driver"
      ignoreAttachNodeRotation:b=yes
      attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.07, 0.21, -0.15]]
      seatComponent:t="isDriver"
      nextSeat:t="main_gunner"
      shouldHideOwner:b=no
      receiveDamageFromDMPart:t="driver"
      cameraNodeName:t="bone_camera_driver"
      cockpitTemplate:t="us_halftrack_m13_driver_cockpit"
      seatAnimUpper:t="drive_passenger"
      seatAnimLower:t="drive_passenger"

      "effectors:object"{

        "l.hand:object"{
          rel_tm:m=[[0.808712, -0.032106, -0.587329] [0.571561, 0.278741, 0.771765] [0.138934, -0.95983, 0.243772] [0.0898285, 0.0626068, -0.117208]]
          node:t="lefthand_1"
        }

        "r.hand:object"{
          rel_tm:m=[[0.457613, -0.734383, -0.501273] [0.536842, 0.67761, -0.502639] [0.708796, -0.0390896, 0.704329] [0.0498199, 0.0408497, 0.0346947]]
          node:t="righthand_1"
        }

        "l.foot:object"{
          rel_tm:m=[[0.978776, 0.185353, 0.0874309] [-0.177178, 0.979724, -0.0935323] [-0.102995, 0.0760563, 0.99177] [-0.0876465, 0.0129089, 0.0589943]]
          node:t="pedal_lfoot_1"
        }

        "r.foot:object"{
          rel_tm:m=[[0.916721, 0.39311, -0.0713319] [-0.389451, 0.919087, 0.0600619] [0.0891712, -0.0272797, 0.995643] [-0.0805817, 0.0190582, -0.018856]]
          node:t="pedal_rfoot_1"
        }
      }
    }

    "seats:object"{
      name:t="machine_gunner"
      locName:t="vehicle_seats/commander"
      attachNode:t="commander"
      shouldHideOwner:b=no
      ignoreAttachNodeRotation:b=yes
      attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.12, 0.36, 0.11]]
      seatComponent:t="isPassenger"
      isHoldGunModeAllowed:b=no
      receiveDamageFromDMPart:t="commander"
      seatAnimUpper:t="drive_passenger"
      seatAnimLower:t="drive_passenger"
      canPlaceManually:b=yes

      "effectors:object"{

        "l.hand:object"{
          rel_tm:m=[[-0.0140025, -0.992501, 0.121439] [0.999274, -0.0095886, 0.0368515] [-0.0354104, 0.121867, 0.991914] [-0.208267, -0.674889, -0.117278]]
          node:t="lefthand_3"
        }

        "r.hand:object"{
          rel_tm:m=[[0.512722, 0.185274, -0.838326] [0.215913, 0.917232, 0.334765] [0.830962, -0.352646, 0.430281] [-0.151245, -0.0606141, 0.0719528]]
          node:t="righthand_3"
        }

        "l.foot:object"{
          rel_tm:m=[[0.988051, 0.152243, 0.024008] [-0.150694, 0.98695, -0.0567607] [-0.0323361, 0.0524647, 0.9981] [-0.104599, -0.033783, 0.0100501]]
          node:t="pedal_lfoot_3"
        }

        "r.foot:object"{
          rel_tm:m=[[0.959544, 0.273328, 0.067583] [-0.273181, 0.961893, -0.0115871] [-0.0681747, -0.00734403, 0.997647] [-0.0914841, -0.0504913, 0.00846291]]
          node:t="pedal_rfoot_3"
        }
      }
    }
  }
}
us_halftrack_m13_common{
  _override:b=yes

  gunner_cam_limit__useCockpitDir:b=yes
  commanderCockpitFpsCamMaxAngle:p2=40.0, 5.0
}


halftrack_m13_turret_01_12_7mm_m2_hb_user_machinegun_for_m15{
  _override:b=yes

  _group{
    _tags:t="server"
    tank_turret_ai__maxBurstCount:i=250
    tank_turret_ai__longPauseWaitTime:r=0.0
    tank_turret_ai__attackDist:r=100.0
  }
}

halftrack_m13_turret_02_12_7mm_m2_hb_user_machinegun_for_m15{
  _override:b=yes

  _group{
    _tags:t="server"
    tank_turret_ai__maxBurstCount:i=250
    tank_turret_ai__longPauseWaitTime:r=0.0
    tank_turret_ai__attackDist:r=100.0
  }
}

Btw the update messed some minor thing up. The victory message now dont go away unless i close mod editor (i.e. using restart button dont clear it anymore so the hud is gone if i dont restart the editor)

No idea. Later I’ll try to do something, but i’m not sure that I can.

Have you updated to the latest version? Opening scoreboard will “fix” this problem.