Home   Help Search Login Register  

Author Topic: Have you ever played FTA Life Simulation mission? I'd like to finish it  (Read 3612 times)

0 Members and 1 Guest are viewing this topic.

Offline NiTuS

  • Members
  • *
This one is a very old OFP mission (from 2005) created by the FTA Team, where you can do things like working as a bus driver, taxi driver, repairman, you can eat, drink, sleep, etc. I'm very happy with it, but the developers aren't working on it anymore and there are lots of bugs which I'd like to repair. I don't know anything about OFP scripting, so I'd to know if someone would be able to help me to finish this awesome mission; I would be able to play as a beta gamer and blablablah.
Here you have a download link:
www.ftamod.wz.cz/kestazenieng.htm

Thanks.
« Last Edit: 26 Jun 2009, 13:44:55 by NiTuS »

Offline NiTuS

  • Members
  • *
I'm sorry by the double-posting: I'd like to add that I could extract the PBO file, but I can't edit any script with any OFP scripting program which I've found in this site.  :dunno:
« Last Edit: 03 Jul 2009, 13:34:49 by NiTuS »

Walter_E_Kurtz

  • Guest
I have downloaded the mission, but not the required addons, to have a brief look at it.

Scripts are basically text files just with an unusual suffix, usually .sqs, so they do not need any special program to edit them - Windows NotePad will do just fine.

It's probably too complex for anyone other than the creator to make bug-free and some faults may not be due to the mission at all, but rather 'features' of OFP. Also it appears to be made with Multiplayer in mind. So it depends - what is causing you most trouble about it?

Offline NiTuS

  • Members
  • *
Well, there are some serious bugs like these:

- Sometimes, some cinks don't want to move even if you push them a few meters.
- If you are a taxi driver, passenger cinks don't get into the car if you're near them.
- Cinks take a lot of time to think if they have to get in and out of the bus.
- Cinks often crash their cars and/or leave them in the middle of the street and hardly never call to the repairman.
- Policemen sometimes kill cinks (I don't know why yet :blink:) and the corpses stay there forever. It's not a bug actually, but it would be better to remove this corpses after 3 or 5 minutes.

And there are lots of translation errors. It's not so important like the other bugs, but I think it'd be better to fix them.

EDIT: I've achieved opening script files with OFP Manager and PBO Patcher and now it's possible to play on-line. I'm traslating the mission to Spanish too. :good:

Thanks for reading.

PD: Here you have the Addons link: http://www.ftamod.wz.cz/FTAddons.zip
« Last Edit: 07 Jul 2009, 15:43:11 by NiTuS »

Walter_E_Kurtz

  • Guest
I trust I didn't get your hopes up - I don't mind lending an opinion when invited, but I would not like to take it on as a project - it is too complex and I am doubtful whether I'd be able to make (m)any improvements.

The mission is intended for single players and should be installed in the <OFP>\Missions\ folder. I find it odd, then, that some scripts use publicVariable commands (eg. Cmis.sqs). Also, I've no idea what a cink is - sounds like slang for something.


Quote
- Sometimes, some cinks don't want to move even if you push them a few meters.
May be an OFP problem - units don't like being instructed to move large distances as their path-finding can't handle it.


Quote
- Cinks often crash their cars and/or leave them in the middle of the street and hardly never call to the repairman.
It depends what the condition for calling the repairman is - it would be best to use canMove as even small amounts of damage can render vehicles undriveable, particularly if it happens to the tyres.


Quote
- Policemen sometimes kill cinks (I don't know why yet) and the corpses stay there forever. It's not a bug actually, but it would be better to remove this corpses after 3 or 5 minutes.
Can be done through an eventHandler, but applying it to spawned units is somewhat trickier. First, see this post for the corpse removal script, deaddude.sqs
The civilians are spawned in init.sqs using the createUnit command. Comment out the current version by adding a semicolon to the front of the line, then add the new. It should look like this:
Code: [Select]
;_cintyp2 CreateUnit [(getpos mistoh),grouptempcivleader,"",1,"PRIVATE"]
_cintyp2 CreateUnit [(getpos mistoh), grouptempcivleader, "this addEventHandler [""killed"", {_this exec ""deaddude.sqs""}]", 1, "PRIVATE"]
(I hope I've got the correct number of speech-marks).

Offline NiTuS

  • Members
  • *
Thank you very much for your help :good:; I'll try to do my best (even without having any OFP scripting experience) fixing many bugs as possible.
I've been reading the EventHandlers tutorial written by Igor Drukov and I also noticed that if you choose a job like, for example, bus driver, a cink (FTA Kalighat citizen) loses its job, but keeps inside the bus if he/she was working in it. My idea is to make this cink get out of the car if he is the driver (or if he is the passenger and there isn't any driver inside) using, I think, the function _this select 1 : in/from what position (driver, gunner, commander, cargo). It'd be like this:

cink->with job->as driver inside a bus or taxi->keep inside the car
cink->no job->as driver inside a bus or taxi->get out
cink->don't care about job->as passenger inside a bus or taxi->there's a driver->keep inside the car
cink->don't care about job->as passenger inside a bus or taxi->no driver->get out after 30 seconds


I know it's very complex, but it's essential because, if not, you can't work as a bus driver or taxi driver. :dunno:

Walter_E_Kurtz

  • Guest
Complex hasn't started yet.

You have to consider to whom you are proposing to apply the EventHandler (EH). The EH you are referring to is GetIn / GetOut, and they are only checked when a unit performs that action. If it was applied to a cink who was already aboard as driver, it would have no effect until he got out of his own accord.

The following questions need answering before a solution can be determined:
do cinks keep their jobs? - it makes no sense to apply EHs to all cinks if only a handful are ever affected
what do unemployed cinks do? - to make sure anyone the player replaces does what they ought to


BTW there is some mechanism for cinks to become criminals (Czech: zlodej), which may be why cops occasionally shoot them. Regarding the crashing of cars: so far as I can see, the state of the car is only checked when the cink goes to get in it; if it has even the slightest damage then, he calls for it to be repaired. It does not seem to check the condition of the vehicle while driving.


Corrections

1. Corpse removal
My idea won't work because the bodies you see are not actual cinks. Dead cinks are revived, and a doppelganger spawned and killed. Ignore my additions to init.sqs, the script you need to edit is ugdcd.sqs. The section of interest is #smrt (Czech for 'death'), add a line as follows:
Code: [Select]
_mrtvo=_typ2 createvehicle getpos _cinjme
_mrtvo setdamage 1
[_mrtvo] exec "deaddude.sqs"   <--- line to be added

2. Typo in script
I hope this may partially solve the problem of non-moving cinks. In the script cmis.sqs there is a section #cestaautem (Czech 'journey by car') with an incorrectly spelled variable - the next but one line should read:
_cinjme stop false

Offline NiTuS

  • Members
  • *
Wow, thank you very much! :clap: I had thought I was doing something incorrectly, but the corpses removal script works now fine. :good:

Yea, cinks lose their job: I've chosen the work "repairman" and the mechanic cink, who was inside the truck working, was now unemployed. The problem was that I wasn't able to get into the truck and work because he was inside and he was not going to get out.

Quote from: Walter_E_Kurtz
what do unemployed cinks do? - to make sure anyone the player replaces does what they ought to
Before fixing the cinjme error, cinks used to stay quiet and doing nothing. I don't know what they do now; I'll have to take a look.



I often see this error while I'm playing, but I don't know the reason... :dunno:

Thanks again.
« Last Edit: 10 Jul 2009, 22:47:52 by NiTuS »

Walter_E_Kurtz

  • Guest
An extra pair of brackets are required. It's near the end of dodavka.sqs and should look like this:

cinkpenize set [(pocetcinku+pocethracu+15),(cinkpenize select (pocetcinku+pocethracu+15))+300]