need my speed Geplaatst: 1 november 2005 Rapport Geplaatst: 1 november 2005 Zal iemand uit kunnen leggen hoe ik de volgende missie maak? Je neemt de groene telefoon van de Zaibatsu op, na een leuke tekst moet je de moord op de brug onderzoeken en het geld-item op pakken, je zal te horen krijgen dat je een weg naar Greasy Plains moet zoeken, aangezien door de moord bij de brug de brug is opgeblazen...Als je eenmaal op Greasy Plains bent moet je een paar mannetjes vermoorden en een Tank stelen, vervolgens neem je de specale ontsnappings route om hem op het dak van een gebouw midden in Z-City te dumpen. Reageren
Daedalus Geplaatst: 1 november 2005 Rapport Geplaatst: 1 november 2005 Ik heb zelf nog geen enkele missie gemaakt. Ik zit nog te hannessen met het plaatsen van poppetjes en powerups en zo. Ik wil je er wel mee helpen, maar ik heb zo gauw even geen idee waar te beginnen. Reageren
ReinierK Geplaatst: 2 november 2005 Rapport Geplaatst: 2 november 2005 Zal iemand uit kunnen leggen hoe ik de volgende missie maak? Je neemt de groene telefoon van de Zaibatsu op, na een leuke tekst moet je de moord op de brug onderzoeken en het geld-item op pakken, je zal te horen krijgen dat je een weg naar Greasy Plains moet zoeken, aangezien door de moord bij de brug de brug is opgeblazen...Als je eenmaal op Greasy Plains bent moet je een paar mannetjes vermoorden en een Tank stelen, vervolgens neem je de specale ontsnappings route om hem op het dak van een gebouw midden in Z-City te dumpen. Als ik je mag adviseren: begin met wt simpels, het is al moeilijk genoeg... Mijn eerste missie was een 'gewone' telefoon beantwoorden en dan vervolgens binnen 5 minten 4 taxi's jatten en in een garage zetten... Je krijgt $1000 per taxi en als je de missie haalt ook een multiplier... Je wanted level gaat per taxi omhoog (wordt dus steeds moeilijker) en als je faalt verlies je $1000... Ik ben er nog steeds niet helemaal uit hoe ik dit het beste kan scripten, maar in principe werkt het wel... De WHILE en WHILE_EXEC loops zijn verwarrend voor mij, ik weet niet wanneer je nou welke moet gebeuiken... Advies is dus: doe wat makkelijks en breid het dan uit... Dus bijv: 1. Maak een Zaibatsu Phone en zorg ervoor dat je hem pas kan gebruiken bij een bepaalde Gang Rating. 2. Na het beantwoorden laat een arrow wijzen naar de brug. 3. Als je op de brug bent, laat de arrow verdijnen en geef een nieuwe briefing. etc. etc. Reageren
need my speed Geplaatst: 2 november 2005 Auteur Rapport Geplaatst: 2 november 2005 Dan doe ik dat je simpelweg een tank moet stelen en hem op het dak van de CIA moet dumpen. Maar hoe script ik dat? Reageren
ReinierK Geplaatst: 2 november 2005 Rapport Geplaatst: 2 november 2005 Dan doe ik dat je simpelweg een tank moet stelen en hem op het dak van de CIA moet dumpen. Maar hoe script ik dat? Ok, je moet van te voren heel gestructureerd tewerk gaan... Ik zou het volgende doen: /* declareer alle objecten etc */ PLAYER_PED player1 = (49.5, 46.5, 255.0) 25 0 //maak de speler aan (pas de locatie aan) CAR_DATA mission1_tank = ( 100.0 , 100.0 , 255.0 ) -1 0 TANK //dit maakt een tank op locatie 100.0 , 100.0 en bepaalt zelf de hoogte... Verander de locatie natuurlijk even naar jouw eigen locatie ARROW_DATA arrow1 //maak een pijltje dat je gaat gebruiken COUNTER mission1_passed = 0 //de missie is nog niet voltooid COUNTER got_tank = 0 //je hebt de tank nog niet COUNTER tank_on_roof = 0 //de tank staat nog niet op het dak /* Start de eerste missie Jat een tank en zet op het dak */ mission1_start: POINT_ARROW_AT ( arrow1 , mission1_tank ) DISPLAY_BRIEF ( 0001 ) //laat een berichtje zien, deze moet wel goed in je berichten bestand staan. Je kan het natuurlijk eerst weglaten WHILE_EXEC ( got_tank = 0 ) //zolang je de tank nog niet hebt, blijf je in deze loop IF ( IS_CHARACTER_IN_CAR ( player1 , mission1_tank ) ++got_tank CLEAR-ARROW ( arrow1) POINT_ARROW_AT ( arrow1 , 200.0 , 200.0 , 5.0 ) //laat de pijl naar het dak van het CIA wijzen (verander de locatie) ENDIF ENDWHILE WHILE_EXEC ( tank_on_roof = 0 ) //zolang de tank niet op het dak staat, doe je deze loop IF ( IS_CAR_IN_BLOCK ( mission1_tank , 200.0 , 200.0 , 5.0 , 4.0 , 4.0 ) //laat deze naar het midden van het dak wijzen en zet de laatste twee cijfers (4.0 & 4.0) op de breedte en lengte van je dak (een dak van 3 bij 6 blokken wordt dan: 3.0 , 6.0 ) ++tank_on_roof ENDIF ENDWHILE IF ( ( got_tank = 1 ) AND ( tank_on_roof = 1 ) ) //je hebt de missie gehaald! ++mission1_passed ADD_SCORE ( player1 , 4000 ) //geef de speler $4000 CLEAR_WANTED_LEVEL ( player1 ) //geen politie meer MISSION_HAS_FINISHED () ENDIF RETURN LEVELSTART GOSUB mission1_start: LEVELEND En dan moet je natuurlijk nog telefoons toevoegen en briefings etc. Dit is heel basic allemaal Reageren
need my speed Geplaatst: 2 november 2005 Auteur Rapport Geplaatst: 2 november 2005 Mmm, sommige dingen dacht ik al (ik heb natuurlijk Lantyz z'n missie script gezien enz), maar erg bedankt. Moet ik dit trouwens ook invoeren: /* Start de eerste missie Jat een tank en zet op het dak */ Da's zeker info wat je moet doen in die missie? Gewoon voor jezelf? Reageren
ReinierK Geplaatst: 2 november 2005 Rapport Geplaatst: 2 november 2005 Mmm, sommige dingen dacht ik al (ik heb natuurlijk Lantyz z'n missie script gezien enz), maar erg bedankt. Moet ik dit trouwens ook invoeren:/* Start de eerste missie Jat een tank en zet op het dak */ Da's zeker info wat je moet doen in die missie? Gewoon voor jezelf? Dat is meer voor jezelf... het is erg verstandig om bij zo'n beetje alles een comment te geven, want na verloop van tijd weet je niet meer precies wat nou wat doet P.S. ik zie dat het script niet goed compiled door een typfout, maar die vind je zelf wel Reageren
need my speed Geplaatst: 3 november 2005 Auteur Rapport Geplaatst: 3 november 2005 (bewerkt) Wat moet ik trouwens met dat declarateer (ofzo) alle objecten? Gewoon zo laten en invoegen in m'n script? Bewerkt: 3 november 2005 door need my speed Reageren
ReinierK Geplaatst: 3 november 2005 Rapport Geplaatst: 3 november 2005 Wat moet ik trouwens met dat declarateer (ofzo) alle objecten? Gewoon zo laten en invoegen in m'n script? Dat zijn alle objecten, auto's, characters etc die je in de missie gaat gebruiken. Deze moeten altijd buiten je missie script staan, dus: OBJ_ARROW arrow1 missie_start: //hier code RETURN LEVELSTART //hier code LEVELEND Ze mogen niet in je missiescript of in je LEVELSTART script staan Reageren
need my speed Geplaatst: 3 november 2005 Auteur Rapport Geplaatst: 3 november 2005 Wat moet dan bij 'hier de code', gewoon OBJECT_DECLARE ofzo iets in die buurt? Reageren
ReinierK Geplaatst: 3 november 2005 Rapport Geplaatst: 3 november 2005 Wat moet dan bij 'hier de code', gewoon OBJECT_DECLARE ofzo iets in die buurt? Ok... even voor de duidelijkheid... Het Engelse 'to declare' betekent 'aangeven'... In een programmeertaal wordt dit meestal als term gebruikt voor het 'reserveren' van bijvoorbeeld objecten of variabelen (je weet wel wat een variabele is hè?) In het geval van GTA2script moet je alle variabelen en objecten 'aangeven' voordat de missie en het level echt begint. In je script bestand staan dus eerst alle objecten die je wilt gaan gebruiken en dan pas de missies en de LEVELSTART en LEVELEND commando's... Als je nu denkt "maar moet ik dan eerst bedenken wat ik allemaal wil gaan gebruiken. En kan ik dan pas m'n missies maken?"... Ja en nee... Je kan natuurlijk tijdens het werken aan een missie merken dat je bijvoorbeeld nog een Arrow nodig hebt. Wat je dan gaat doen is boven in je bestand een nieuwe Arrow 'declareren', zodat je deze in je missie kan gebruiken. Ik zal een voorbeeld geven waarbij ik 2 missies heb gemaakt. De eerste missie is goed gescript, de tweede fout. Overigens: je kan in je code 'comments' (opmerkingen) plaatsen waardor het overzichtelijk wordt... Dit doe je met '//' of met '/*' en '*/'... de eerste gebruik je voor 1 regel. De tweede gebruik je voor meerdere regels. Voorbeeld: /* Hier staat een opmerking die over meerdere regels verspreid staat */ PLAYER_PED player1 = (51.5, 182.5, 255.0) 25 0 //hier 'declareer' je de speler OBJ_ARROW arrow1 //hier 'declareer' je een pijltje COUNTER score = 0 //dit is een variabele met waarde 0 mission1_start: //deze missie is goed, hij gebruikt alleen objecten en variabelen die al 'gedeclareerd' zijn POINT_ARROW_AT ( arrow1 , 10.0 , 10.0 , 1.0 ) //laat het pijltje naar de coordinaten (10 , 10 , 1) wijzen WHILE ( NOT ( HAS_CHARACTER_DIED ( player1 ) ) ) //zolang de speler in leven is, tel 1 op bij de counter ++ score IF ( score = 1000 ) ADD_SCORE ( player1 , 1000 ) REMOVE_ARROW ( arrow1 ) RETURN ENDIF ENDWHILE RETURN mission2_start: //deze missie is fout, want je mag niet in een missie iets declareren OBJ_ARROW ( arrow2 ) //DIT MAG DUS NIET! deze declaratie had boven in je file moeten staan! POINT_ARROW_AT ( arrow2 , 10.0 , 10.0 , 1.0 ) RETURN Reageren
need my speed Geplaatst: 3 november 2005 Auteur Rapport Geplaatst: 3 november 2005 Dus ik moet 2 pijlen (een naar de tank en eentje naar het dak van de CIA) maken, een Tank en natuurlijk me zelf. Reageren
ReinierK Geplaatst: 3 november 2005 Rapport Geplaatst: 3 november 2005 (bewerkt) Dus ik moet 2 pijlen (een naar de tank en eentje naar het dak van de CIA) maken, een Tank en natuurlijk me zelf. Minimaal ja Je kan trouwens een pijl wel 'hergebruiken', dus: POINT_ARROW_AT ( arrow1 , mytank ) //laat de pijl naar de tank wijzen WHILE ( NOT ( IS_CHARACTER_IN_CAR ( player1 , mytank ) ) ) DO_NOWT ENDWHILE IF ( IS_CHARACTER_IN_CAR ( player1 , mytank ) ) REMOVE_ARROW ( arrow1 ) //verwijder de pijl POINT_ARROW_AT ( arrow1 , 100.0 , 100.0 , 5.0 ) //en gebruik hem opnieuw voor het gebouw ENDIF etc 'mytank' is natuurlijk zomaar een naam, dat is de tank en die moet je natuurlijk wel eerst declareren Net zoals de arrow1 en de player1 Bewerkt: 3 november 2005 door ReinierK Reageren
need my speed Geplaatst: 3 november 2005 Auteur Rapport Geplaatst: 3 november 2005 Oke, bedankt, en gewoon de missie onder het declareren, (ofzo) toch? Reageren
ReinierK Geplaatst: 3 november 2005 Rapport Geplaatst: 3 november 2005 (bewerkt) Oke, bedankt, en gewoon de missie onder het declareren, (ofzo) toch? Jep! Dus: //hier al je declaraties PLAYER_PED player1 = ..... etc CAR_DATA mytank = ...... etc ARROW_DATA arrow1 //dit is voldoende voor een arrow //hier begint je missie missie1: //zet hier al je missiecode RETURN //hier begint het level LEVELSTART GOSUB missie1: //als het spel start, begint nu meteen missie1, handig voor het testen van je missies! LEVELEND Bewerkt: 3 november 2005 door ReinierK Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.