HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing (https://hx3.de/editing-139/)
-   -   Avgani-Life editinghilfe (https://hx3.de/editing-139/avgani-life-editinghilfe-16002/)

Virility92 30.03.2009 14:23

Avgani-Life editinghilfe
 
also hab wie gesagt das ganze zeug von Sahrani Life v1 in die avgani map kopiert und mal grob verteilt. hab ein paar infos mit markern hingesetzt was noch geändert werden muss undso...

hier ist der download link
benötigte addons:
ACE1.06/avgani/SLaddons/

es liegt noch viel zeug auf der map rum was gelöscht werden muss. aber ich bin da lieber vorsichtig wegen den scripts... nicht das irgend etwas nicht mehr funktioniert^^

ich würde gerne einige zusätzliche fahrzeuge in die mission einbringen und wenn möglich ein paar features die in dieser SL version noch nicht da waren.
da das ganze ja im irak spielt sollte man waffen nicht legal kaufen können und erst recht keine panzer... die US-truppen (cops) müssen dann durch die stadt patrouillieren. und die soldaten sollten ihre ausrüstung und fahrzeuge nicht kaufen müssen (nicht wie in SL).
in SL kann man einen auftragsmord bekommen, wo man dann ein spieler als ziel bekommt. stattdessen könnte man ja einen bombenanschlag oder sowas machen...
und damit in der stadt einfach mehr los ist kann man ja ein paar ki zivilisten (mehr oder weniger sinnlos) rumlaufen lassen damit die cops mehr aufpassen müssen.

die ganze mission muss auch nicht unbedingt ein rpg werden... aber damit nicht gleich jeder civ ein terrorist wird muss man denen auch eine andere beschäftigung geben.

die mission ist ursprünglich auch nur für 16 spieler ausgelegt (10 civs 6 cops). ich hab jetzt um die 60 slots eingebaut was natürlich auch wieder probleme mit den scripts bereitet. die cops sind normal auf der blufor seite und jetzt hab ich noch ein paar iraker auf der unabhängigen seite die mit den us-soldaten zusammen arbeiten sollen.

Garstiger Hobbit 30.03.2009 15:11

Ich schau mir das mal an was man machen kann bzw wie man dies machen kann.

Virility92 30.03.2009 17:38

danke!

in SL ist der bereich der cop basis für civs gesperrt und genauso ist für cops das terroristen versteck. wenn man den bereich betritt wird man getötet. als ich die mission mal getestet habe und im westen der stadt wo man mariuhana verkaufen kann war, kam die warnung das ich einen gesperrten bereich betrete. also ist der bereich irgendwie per script definiert^^ weil im editor kann ich dort nichts finden.

Virility92 30.03.2009 21:48

hab noch einen fehler festgestellt. manche blufor slots werden als zivilisten gezählt^^ gleich am anfang bekomme eine nachricht "keine civs in der cop basis erlaubt" und werde dann beim civ spawn gespawnt.

Redfish 31.03.2009 11:00

Nicht schlecht deine Idee mit dem virtuellen Irak. Bin gespannt ob du was auf die Beine kriegst. Könnte was gutes draus werden...

Virility92 31.03.2009 11:16

ja hoff ich auch^^ alleine warscheinlich nicht, aber mit eurer hilfe:daumen:

Virility92 31.03.2009 14:17

Zitat:

Zitat von Virility92 (Beitrag 223905)
hab noch einen fehler festgestellt. manche blufor slots werden als zivilisten gezählt^^ gleich am anfang bekomme eine nachricht "keine civs in der cop basis erlaubt" und werde dann beim civ spawn gespawnt.

das hab ich jetzt einigermaßen gefixt. manche soldaten werden immer noch als civs erkannt aber spawnen schonmal an der cop basis. in der datei @roles.sqf sind die ganzen spieler folgendermaßen definiert:
Code:

if (civ1 == player) then {role = civ1; rolestring = "Civ1"; rolenumber = 1; longrolenumber = 1001;};
da hab ich jetzt dann einfach die zahlen entsprechen geändert...
also hier die @roles.sqf wie sie vorher war (3,28KB):
Code:

rolecop = 0;iscop = FALSE;playerarray = [civ1, civ2, civ3, civ4, civ5, civ6, civ7, civ8, civ9, civ10, civ11, civ12, civ13, civ14, civ15, civ16, civ17, civ18, civ19, civ20, civ21, civ22, civ23, civ24, civ25, civ26, civ27, civ28, civ29, civ30, civ31, civ32, civ33, civ34, civ35, civ36, civ37, civ38, civ39, civ40, civ41, cop1, cop2, cop3, cop4, cop5, cop6, cop7, cop8, cop9, cop10, cop11, cop12, cop13, cop14, cop15, cop16, cop17, cop18, cop19, cop20, cop21, cop22, cop23, cop24, cop25];playerstringarray = ["Civ1", "Civ2", "Civ3", "Civ4", "Civ5", "Civ6", "Civ7", "Civ8", "Civ9", "Civ10", "Cop1", "Cop2", "Cop3", "Cop4", "Cop5", "Cop6"];civarray = [civ1,civ2,civ3,civ4,civ5,civ6,civ7,civ8,civ9,civ10];civstringarray = ["Civ1", "Civ2", "Civ3", "Civ4", "Civ5", "Civ6", "Civ7", "Civ8", "Civ9", "Civ10"];coparray = [cop1, cop2,cop3,cop4,cop5,cop6];copstringarray = ["Cop1", "Cop2", "Cop3", "Cop4", "Cop5", "Cop6"];wantedarray = [civ1_wanted, civ2_wanted, civ3_wanted, civ4_wanted, civ5_wanted, civ6_wanted, civ7_wanted, civ8_wanted, civ9_wanted, civ10_wanted];handsuparray = [civ1_handsup, civ2_handsup, civ3_handsup, civ4_handsup, civ5_handsup, civ6_handsup, civ7_handsup, civ8_handsup, civ9_handsup, civ10_handsup];if (civ1 == player) then {role = civ1; rolestring = "Civ1"; rolenumber = 1; longrolenumber = 1001;};if (civ2 == player) then {role = civ2; rolestring = "Civ2"; rolenumber = 2; longrolenumber = 1002;};if (civ3 == player) then {role = civ3; rolestring = "Civ3"; rolenumber = 3; longrolenumber = 1003;};if (civ4 == player) then {role = civ4; rolestring = "Civ4"; rolenumber = 4; longrolenumber = 1004;};if (civ5 == player) then {role = civ5; rolestring = "Civ5"; rolenumber = 5; longrolenumber = 1005;};if (civ6 == player) then {role = civ6; rolestring = "Civ6"; rolenumber = 6; longrolenumber = 1006;};if (civ7 == player) then {role = civ7; rolestring = "Civ7"; rolenumber = 7; longrolenumber = 1007;};if (civ8 == player) then {role = civ8; rolestring = "Civ8"; rolenumber = 8; longrolenumber = 1008;};if (civ9 == player) then {role = civ9; rolestring = "Civ9"; rolenumber = 9; longrolenumber = 1009;};if (civ10 == player) then {role = civ10; rolestring = "Civ10"; rolenumber = 10; longrolenumber = 1010;};if (cop1 == player) then {role = cop1; rolestring = "Cop1"; rolecop = 1; iscop = TRUE; rolenumber = 11; rolecopnumber = 1; longrolenumber = 1101;};if (cop2 == player) then {role = cop2; rolestring = "Cop2"; rolecop = 1; iscop = TRUE; rolenumber = 12; rolecopnumber = 2; longrolenumber = 1102;};if (cop3 == player) then {role = cop3; rolestring = "Cop3"; rolecop = 1; iscop = TRUE; rolenumber = 13; rolecopnumber = 3; longrolenumber = 1103;};if (cop4 == player) then {role = cop4; rolestring = "Cop4"; rolecop = 1; iscop = TRUE; rolenumber = 14; rolecopnumber = 4; longrolenumber = 1104;};if (cop5 == player) then {role = cop5; rolestring = "Cop5"; rolecop = 1; iscop = TRUE; rolenumber = 15; rolecopnumber = 5; longrolenumber = 1105;};if (cop6 == player) then {role = cop6; rolestring = "Cop6"; rolecop = 1; iscop = TRUE; rolenumber = 16; rolecopnumber = 6; longrolenumber = 1106;};copscount = 6;civscount = 10;playercount = 16;if (rolecop == 0) then {PublicStringNumber = 1000 + rolenumber};if (rolecop == 0) then {PublicStringNumber = 1100 + rolecopnumber};dedicatedServer = 1;if ((local server) AND (alive player)) then {dedicatedServer = 0};
und so hab ich sie dann geändert (11,2KB)=crash:
Code:

rolecop = 0;iscop = FALSE;playerarray = [civ1, civ2, civ3, civ4, civ5, civ6, civ7, civ8, civ9, civ10, civ11, civ12, civ13, civ14, civ15, civ16, civ17, civ18, civ19, civ20, civ21, civ22, civ23, civ24, civ25, civ26, civ27, civ28, civ29, civ30, civ31, civ32, civ33, civ34, civ35, civ36, civ37, civ38, civ39, civ40, civ41, cop1, cop2, cop3, cop4, cop5, cop6, cop7, cop8, cop9, cop10, cop11, cop12, cop13, cop14, cop15, cop16, cop17, cop18, cop19, cop20, cop21, cop22, cop23, cop24, cop25];playerstringarray = ["Civ1", "Civ2", "Civ3", "Civ4", "Civ5", "Civ6", "Civ7", "Civ8", "Civ9", "Civ10", "Civ11", "Civ12", "Civ13", "Civ14", "Civ15", "Civ16", "Civ17", "Civ18", "Civ19", "Civ20", "Civ21", "Civ22", "Civ23", "Civ24", "Civ25", "Civ26", "Civ27", "Civ28", "Civ29", "Civ30", "Civ31", "Civ32", "Civ33", "Civ34", "Civ35", "Civ36", "Civ37", "Civ38", "Civ39", "Civ40", "Civ41", "Cop1", "Cop2", "Cop3", "Cop4", "Cop5", "Cop6", "Cop7", "Cop8", "Cop9", "Cop10", "Cop11", "Cop12", "Cop13", "Cop14", "Cop15", "Cop16", "Cop17", "Cop18", "Cop19", "Cop20", "Cop21", "Cop22", "Cop23", "Cop24", "Cop25"];civarray = [civ1,civ2,civ3,civ4,civ5,civ6,civ7,civ8,civ9,civ10,civ11,civ12,civ13,civ14,civ15,civ16,civ17,civ18,civ19,civ20,civ21,civ22,civ23,civ24,civ25,civ26,civ27,civ28,civ29,civ30,civ31,civ32,civ33,civ34,civ35,civ36,civ37,civ38,civ39,civ40,civ41];civstringarray = ["Civ1", "Civ2", "Civ3", "Civ4", "Civ5", "Civ6", "Civ7", "Civ8", "Civ9", "Civ10", "Civ11", "Civ12", "Civ13", "Civ14", "Civ15", "Civ16", "Civ17", "Civ18", "Civ19", "Civ20", "Civ21", "Civ22", "Civ23", "Civ24", "Civ25", "Civ26", "Civ27", "Civ28", "Civ29", "Civ30", "Civ31", "Civ32", "Civ33", "Civ34", "Civ35", "Civ36", "Civ37", "Civ38", "Civ39", "Civ40", "Civ41"];coparray = [cop1, cop2,cop3,cop4,cop5,cop6,cop7,cop8,cop9,cop10,cop11,cop12,cop13,cop14,cop15,cop16,cop17,cop18,cop19,cop20,cop21,cop22,cop23,cop24,cop25];copstringarray = ["Cop1", "Cop2", "Cop3", "Cop4", "Cop5", "Cop6, cop7, cop8, cop9, cop10, cop11, cop12, cop13, cop14, cop15, cop16, cop17, cop18, cop19, cop20, cop21, cop22, cop23, cop24, cop25"];wantedarray = [civ1_wanted, civ2_wanted, civ3_wanted, civ4_wanted, civ5_wanted, civ6_wanted, civ7_wanted, civ8_wanted, civ9_wanted, civ10_wanted, civ11_wanted, civ12_wanted, civ13_wanted, civ14_wanted, civ15_wanted, civ16_wanted, civ17_wanted, civ18_wanted, civ19_wanted, civ20_wanted, civ21_wanted, civ22_wanted, civ23_wanted, civ24_wanted, civ25_wanted, civ26_wanted, civ27_wanted, civ28_wanted, civ29_wanted, civ30_wanted, civ31_wanted, civ32_wanted, civ33_wanted, civ34_wanted, civ35_wanted, civ36_wanted, civ37_wanted, civ38_wanted, civ39_wanted, civ40_wanted, civ41_wanted];handsuparray = [civ1_handsup, civ2_handsup, civ3_handsup, civ4_handsup, civ5_handsup, civ6_handsup, civ7_handsup, civ8_handsup, civ9_handsup, civ10_handsup, civ11_handsup, civ12_handsup, civ13_handsup, civ14_handsup, civ15_handsup, civ16_handsup, civ17_handsup, civ18_handsup, civ19_handsup, civ20_handsup, civ21_handsup, civ22_handsup, civ23_handsup, civ24_handsup, civ25_handsup, civ26_handsup, civ27_handsup, civ28_handsup, civ29_handsup, civ30_handsup, civ31_handsup, civ32_handsup, civ33_handsup, civ34_handsup, civ35_handsup, civ36_handsup, civ37_handsup, civ38_handsup, civ39_handsup, civ40_handsup, civ41_handsup];if (civ1 == player) then {role = civ1; rolestring = "Civ1"; rolenumber = 1; longrolenumber = 1001;};if (civ2 == player) then {role = civ2; rolestring = "Civ2"; rolenumber = 2; longrolenumber = 1002;};if (civ3 == player) then {role = civ3; rolestring = "Civ3"; rolenumber = 3; longrolenumber = 1003;};if (civ4 == player) then {role = civ4; rolestring = "Civ4"; rolenumber = 4; longrolenumber = 1004;};if (civ5 == player) then {role = civ5; rolestring = "Civ5"; rolenumber = 5; longrolenumber = 1005;};if (civ6 == player) then {role = civ6; rolestring = "Civ6"; rolenumber = 6; longrolenumber = 1006;};if (civ7 == player) then {role = civ7; rolestring = "Civ7"; rolenumber = 7; longrolenumber = 1007;};if (civ8 == player) then {role = civ8; rolestring = "Civ8"; rolenumber = 8; longrolenumber = 1008;};if (civ9 == player) then {role = civ9; rolestring = "Civ9"; rolenumber = 9; longrolenumber = 1009;};if (civ10 == player) then {role = civ10; rolestring = "Civ10"; rolenumber = 10; longrolenumber = 1010;};if (civ11 == player) then {role = civ11; rolestring = "Civ11"; rolenumber = 11; longrolenumber = 1011;};if (civ12 == player) then {role = civ12; rolestring = "Civ12"; rolenumber = 12; longrolenumber = 1012;};if (civ13 == player) then {role = civ13; rolestring = "Civ13"; rolenumber = 13; longrolenumber = 1013;};if (civ14 == player) then {role = civ14; rolestring = "Civ14"; rolenumber = 14; longrolenumber = 1014;};if (civ15 == player) then {role = civ15; rolestring = "Civ15"; rolenumber = 15; longrolenumber = 1015;};if (civ16 == player) then {role = civ16; rolestring = "Civ16"; rolenumber = 16; longrolenumber = 1016;};if (civ17 == player) then {role = civ17; rolestring = "Civ17"; rolenumber = 17; longrolenumber = 1017;};if (civ18 == player) then {role = civ18; rolestring = "Civ18"; rolenumber = 18; longrolenumber = 1018;};if (civ19 == player) then {role = civ19; rolestring = "Civ19"; rolenumber = 19; longrolenumber = 1019;};if (civ20 == player) then {role = civ20; rolestring = "Civ20"; rolenumber = 20; longrolenumber = 1020;};if (civ21 == player) then {role = civ21; rolestring = "Civ21"; rolenumber = 21; longrolenumber = 1021;};if (civ22 == player) then {role = civ22; rolestring = "Civ22"; rolenumber = 22; longrolenumber = 1022;};if (civ23 == player) then {role = civ23; rolestring = "Civ23"; rolenumber = 23; longrolenumber = 1023;};if (civ24 == player) then {role = civ24; rolestring = "Civ24"; rolenumber = 24; longrolenumber = 1024;};if (civ25 == player) then {role = civ25; rolestring = "Civ25"; rolenumber = 25; longrolenumber = 1025;};if (civ26 == player) then {role = civ26; rolestring = "Civ26"; rolenumber = 26; longrolenumber = 1026;};if (civ27 == player) then {role = civ27; rolestring = "Civ27"; rolenumber = 27; longrolenumber = 1027;};if (civ28 == player) then {role = civ28; rolestring = "Civ28"; rolenumber = 28; longrolenumber = 1028;};if (civ29 == player) then {role = civ29; rolestring = "Civ29"; rolenumber = 29; longrolenumber = 1029;};if (civ30 == player) then {role = civ30; rolestring = "Civ30"; rolenumber = 30; longrolenumber = 1030;};if (civ31 == player) then {role = civ31; rolestring = "Civ31"; rolenumber = 31; longrolenumber = 1031;};if (civ32 == player) then {role = civ32; rolestring = "Civ32"; rolenumber = 32; longrolenumber = 1032;};if (civ33 == player) then {role = civ33; rolestring = "Civ33"; rolenumber = 33; longrolenumber = 1033;};if (civ34 == player) then {role = civ34; rolestring = "Civ34"; rolenumber = 34; longrolenumber = 1034;};if (civ35 == player) then {role = civ35; rolestring = "Civ35"; rolenumber = 35; longrolenumber = 1035;};if (civ36 == player) then {role = civ36; rolestring = "Civ36"; rolenumber = 36; longrolenumber = 1036;};if (civ37 == player) then {role = civ37; rolestring = "Civ37"; rolenumber = 37; longrolenumber = 1037;};if (civ38 == player) then {role = civ38; rolestring = "Civ38"; rolenumber = 38; longrolenumber = 1038;};if (civ39 == player) then {role = civ39; rolestring = "Civ39"; rolenumber = 39; longrolenumber = 1039;};if (civ40 == player) then {role = civ40; rolestring = "Civ40"; rolenumber = 40; longrolenumber = 1040;};if (civ41 == player) then {role = civ41; rolestring = "Civ41"; rolenumber = 41; longrolenumber = 1041;};if (cop1 == player) then {role = cop1; rolestring = "Cop1"; rolecop = 1; iscop = TRUE; rolenumber = 57; rolecopnumber = 1; longrolenumber = 1101;};if (cop2 == player) then {role = cop2; rolestring = "Cop2"; rolecop = 1; iscop = TRUE; rolenumber = 58; rolecopnumber = 2; longrolenumber = 1102;};if (cop3 == player) then {role = cop3; rolestring = "Cop3"; rolecop = 1; iscop = TRUE; rolenumber = 59; rolecopnumber = 3; longrolenumber = 1103;};if (cop4 == player) then {role = cop4; rolestring = "Cop4"; rolecop = 1; iscop = TRUE; rolenumber = 60; rolecopnumber = 4; longrolenumber = 1104;};if (cop5 == player) then {role = cop5; rolestring = "Cop5"; rolecop = 1; iscop = TRUE; rolenumber = 61; rolecopnumber = 5; longrolenumber = 1105;};if (cop6 == player) then {role = cop6; rolestring = "Cop6"; rolecop = 1; iscop = TRUE; rolenumber = 62; rolecopnumber = 6; longrolenumber = 1106;};if (cop7 == player) then {role = cop7; rolestring = "Cop7"; rolecop = 7; iscop = TRUE; rolenumber = 63; rolecopnumber = 7; longrolenumber = 1107;};if (cop8 == player) then {role = cop8; rolestring = "Cop8"; rolecop = 8; iscop = TRUE; rolenumber = 64; rolecopnumber = 8; longrolenumber = 1108;};if (cop9 == player) then {role = cop9; rolestring = "Cop9"; rolecop = 9; iscop = TRUE; rolenumber = 65; rolecopnumber = 9; longrolenumber = 1109;};if (cop10 == player) then {role = cop10; rolestring = "Cop10"; rolecop = 10; iscop = TRUE; rolenumber = 66; rolecopnumber = 10; longrolenumber = 1110;};if (cop11 == player) then {role = cop11; rolestring = "Cop11"; rolecop = 11; iscop = TRUE; rolenumber = 42; rolecopnumber = 11; longrolenumber = 1111;};if (cop12 == player) then {role = cop12; rolestring = "Cop12"; rolecop = 12; iscop = TRUE; rolenumber = 43; rolecopnumber = 12; longrolenumber = 1112;};if (cop13 == player) then {role = cop13; rolestring = "Cop13"; rolecop = 13; iscop = TRUE; rolenumber = 44; rolecopnumber = 13; longrolenumber = 1113;};if (cop14 == player) then {role = cop14; rolestring = "Cop14"; rolecop = 14; iscop = TRUE; rolenumber = 45; rolecopnumber = 14; longrolenumber = 1114;};if (cop15 == player) then {role = cop15; rolestring = "Cop15"; rolecop = 15; iscop = TRUE; rolenumber = 46; rolecopnumber = 15; longrolenumber = 1115;};if (cop16 == player) then {role = cop16; rolestring = "Cop16"; rolecop = 16; iscop = TRUE; rolenumber = 47; rolecopnumber = 16; longrolenumber = 1116;};if (cop17 == player) then {role = cop17; rolestring = "Cop17"; rolecop = 17; iscop = TRUE; rolenumber = 48; rolecopnumber = 17; longrolenumber = 1117;};if (cop18 == player) then {role = cop18; rolestring = "Cop18"; rolecop = 18; iscop = TRUE; rolenumber = 49; rolecopnumber = 18; longrolenumber = 1118;};if (cop19 == player) then {role = cop19; rolestring = "Cop19"; rolecop = 19; iscop = TRUE; rolenumber = 50; rolecopnumber = 19; longrolenumber = 1119;};if (cop20 == player) then {role = cop20; rolestring = "Cop20"; rolecop = 20; iscop = TRUE; rolenumber = 51; rolecopnumber = 20; longrolenumber = 1120;};if (cop21 == player) then {role = cop21; rolestring = "Cop21"; rolecop = 21; iscop = TRUE; rolenumber = 52; rolecopnumber = 21; longrolenumber = 1121;};if (cop22 == player) then {role = cop22; rolestring = "Cop22"; rolecop = 22; iscop = TRUE; rolenumber = 53; rolecopnumber = 22; longrolenumber = 1122;};if (cop23 == player) then {role = cop23; rolestring = "Cop23"; rolecop = 23; iscop = TRUE; rolenumber = 54; rolecopnumber = 23; longrolenumber = 1123;};if (cop24 == player) then {role = cop24; rolestring = "Cop24"; rolecop = 24; iscop = TRUE; rolenumber = 55; rolecopnumber = 24; longrolenumber = 1124;};if (cop25 == player) then {role = cop25; rolestring = "Cop25"; rolecop = 25; iscop = TRUE; rolenumber = 56; rolecopnumber = 25; longrolenumber = 1125;};copscount = 25;civscount = 41;playercount = 66;if (rolecop == 0) then {PublicStringNumber = 1000 + rolenumber};if (rolecop == 0) then {PublicStringNumber = 1100 + rolecopnumber};dedicatedServer = 1;if ((local server) AND (alive player)) then {dedicatedServer = 0};

ansonsten hab ich noch das gefängnis bearbeitet damit man jetzt nicht mehr fliehen kann... und noch ein paar kleinigkeiten.

Virility92 02.04.2009 12:49

ok 4 mal wurde die mission schon runtergeladen... irgendwelches feedback?^^

Virility92 08.04.2009 14:18

welche scripts muss ich jetzt eigentlich ändern damit es mehr fahrzeuge zu kaufen gibt??

Langer 08.04.2009 21:46

glaub in der "variablen.sqf" wird festgelegt, was für wieviel Geld zu kaufen is...
hab das nur kurz überflogen..

Mfg
Langer


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:27 Uhr.

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias


SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119