B&BMapping Designs

Mapping & Modding seit 2005
Medal of Honor · Battlefield · bbmd.de

Forum · Medal of Honor

(SP) objectiv

Archiv. Das Forum ist seit Dezember 2019 geschlossen. Antworten sind nicht mehr möglich.

FlikFlak09. Januar 2007bearbeitet 09. Januar 2007

Mein Objektive: Man sieht auf dem bild einen Raum. Sagen wir mal das soll ne waffenkammer sein. Das Objektiv soll lauten: "finden sie die waffenkammer " Wie muss ich nun vorgehen damit ich die objectiv liste mit "TAB" anschauen kann und das beim betreten des raumes das objektiv als komplett angezeigt wird.

Script:

main:

exec global/ai.scr
exec global/loadout.scr maps/test_singelplayer.scr
level.script = "maps/test_singelplayer.scr"

//_____________________________________________________

level waittill prespawn

setcvar g_playermodel "german_elite_sentry"

//_____________________________________________________

level waittill spawn

//_____________________________________________________

doorlocked:
self playsound door_metal_locked
end

cubus09. Januar 2007bearbeitet 10. Januar 2007

gut.......... ne klare aufgabe und recht einfach zu lösen.........

füge bitte in deine kammer einen brush ein. so das er nicht den kompletten raum ausfüllt . setlicher abstand zu den wänden etwa 32 einheiten.....

mache daraus einen trigger_multiple: 2d-fenster 2xRMT trigger - > multiple

trage im entitymenü ein
key: $targetname
value: ziel

key: setthread
value: meine_aufgabe

dieser trigger muß vom player berührt werden und löst dann per eintrag setthread eine aktion im zugehörenden mapscript aus.

soweit zur map. compilen und dann kommt das script dran........

FlikFlak09. Januar 2007

OK, soweit habe ich alles gemacht.

cubus09. Januar 2007

im mapscript bitte in dem abschnitt level waittill spawn folgendes eintragen:

exec global/obj.scr 1 current "Finde die Waffenkammer." $ziel.origin
iprintlnbold "Finde die Kammer"

im einzelnen bedeuten die einträge:

exec global/obj.scr
- hiermit wird das zur obj-steuerung relevante global-script obj.scr aufgerufen und aktiviert

1
- die kennziffer des objetives - hier das erste, deshalb 1, dies wird per [TAB] dann vor den Auftragstext dargestellt

current
- wie das wort schon sagt " gegenwärtig" also das aktuelle ziel wichtig für die hud-steuerung

"Finde die Waffenkammer."
- dies wird als erläuterungstext im fenster mit der [TAB]-taste hinter der zuvor erwähnten 1 geschrieben

$ziel
- der name deines triggers, der ja dein ziel darstellt

.origin
- der urpsrung deines ziel, der mittelpunkt. hierauf wird dann der richtungspfeil des hud und die balls ausgerichtet

iprintlnbold
der befehl ans game, irgendwas auf den bildschirm zu schreiben

"Finde die Kammer"
der text, der auf den bildschirm als hinweis zur aufgabe geschrieben werden soll

soweit mal zum ersten teil im script. ich sehe du hast ja dein wirken bereits gepostet...... so hab ich mir das gedacht! prima

FlikFlak09. Januar 2007

OK, hier ist nun das script.

Script

main:

exec global/ai.scr
exec global/loadout.scr maps/test_singelplayer.scr
level.script = "maps/test_singelplayer.scr"

//_____________________________________________________

level waittill prespawn

setcvar g_playermodel "german_elite_sentry"

//_____________________________________________________

level waittill spawn

exec global/obj.scr 1 current "Finde die Waffenkammer." $ziel.origin
iprintlnbold "Finde die Kammer"

//_____________________________________________________

doorlocked:
self playsound door_metal_locked
end

cubus09. Januar 2007bearbeitet 09. Januar 2007

jetzt zum zweiten teil im script............. dem abzuarbeitenden thread,"meine_aufgabe", der durch das berühren des triggers aufgerufen wird......

füge hierzu am besten am ende des scriptes folgendes ein:

meine_aufgabe:
$ziel waittill trigger
$ziel nottriggerable
exec global/obj.scr 1 complete "Finde die Waffenkammer." $ziel.origin
iprintlnbold "Nehme eine Waffe und befreie die Welt"

end

auch hier zur erläuterung

meine_aufgabe:
- der name des abzuarbeitenden threads. wichtig ist der doppelpunkt........ extrem wichtig

$ziel waittill trigger
- hiermit wird der trigger ziel mit waittill = warten bis deffinitiv auf warten gestellt, solange bis er berührt/ ausgelöst wird = trigger ...... sonst rennt das script bereits durch, bevor ihr richtig in der map drinnen seid.

$ziel nottriggerable
- dein trigger wird mit nottriggerable = deaktiviert, sonst würde dieser thread immer wieder erneut aufgerufen werden, solange du den trigger berührst

die nächste zeile ist bereits erläutert worden bis auf den wechsel im befehl von current auf complete
- complete........ selbsterklärend. im [TAB]-fenster wird nun dein auftrag mit einem kreuz versehen sein. deine aufgabe ist gelößt.

iprintlnbold "Nehme eine Waffe und befreie die Welt"
- wie vor............ nur das du jetzt eine neue bildschirmmausgabe erhälst.

end
das ende, der abschluß dieses threads. wenn das vergessen wird :-o kann das gesamte script nicht korrekt abgearbeitet werden.......... und nix geht wirklich....

soweit zum zweiten teil des scriptes....

dies müßte bereits schon langen, um in deiner minimap ein sp-objektiv einzubinden..... mit allem was dazu gehört.......

jetzt gibt es noch zwei mögliche optionen..........

1. wechsel zu einem neuen obj
2. die map ist fertig und der sucsses-screen soll erscheinen....... und die nächste map soll starten oder das menü soll kommen.

doch soweit sind wir noch nicht...... erstmal zur kontrolle das gesamte script

main:

exec global/ai.scr
exec global/loadout.scr maps/test_singelplayer.scr
level.script = "maps/test_singelplayer.scr"

//_____________________________________________________

level waittill prespawn

setcvar g_playermodel "german_elite_sentry"

//_____________________________________________________

level waittill spawn

exec global/obj.scr 1 current "Finde die Waffenkammer." $ziel.origin
iprintlnbold "Finde die Kammer"

//_____________________________________________________

doorlocked:
self playsound door_metal_locked
end

meine_aufgabe:

$ziel waittill trigger
$ziel nottriggerable
exec global/obj.scr 1 complete "Finde die Waffenkammer." $ziel.origin
iprintlnbold "Nehme eine Waffe und befreie die Welt"

end

cubus09. Januar 2007

ich muß zugeben............... ich bin selbst gespannt obs geht...........

FlikFlak09. Januar 2007bearbeitet 09. Januar 2007

Yoa, des funzt wunderbar.

Vor der Kammer:

In der Kammer:

cubus09. Januar 2007
:freude
cubus09. Januar 2007

wie ich schon sagte......... hier wäre noch reichlich spielraum, um ein zweites obj anzeigen zu lassen............. oder eben die map zu beenden! ganz nach belieben und nach wunsch......... und was natürlich die map hergibt!