Skocz do zawartości

Kazik1

Użytkownicy
  • Postów

    119
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Kazik1

  1. w evencie kolizji być nie może bo wywala,musiało by być to jakoś w step zrobione np. GML /*obj_Player STEP: */ if(kolizja_z_obj_przejscie) { room_goto(castle2) } tam gdzie kolizja_z_obj_przejscie potrzebuje kodu (lub skryptu) z biblioteki 3DGmOgre. Szukałem w helpie dołączonym do biblioteki ale znalazłem tylko jakieś funkcję których nie wiem jak użyć i czy w ogóle działają ;[ w tym szukałem: NewtonContactFunction: Overview Newton contacts cannot be created manually. Instead they are generated automatically by GMOgre3D whenever a Newton material collision occurs. If a collision does occur, and you have a callback setup using the SetNewtonMaterialPairContactCallback function, then a Newton contact object will be passed to the callback script. For more information on this process, see SetNewtonMaterialPairContactCallback. GetNextNewtonContact(real newton_contact_id) -------------------------------------------------------------------------------- Returns the ID of the next Newton contact object in a collision, if any. Parameters newton_contact_id - The ID of the Newton contact object. są jeszcze inne funkcję to była jedna z nich ale nie działa. Przypominam że chcę zrobić tak że obj_player po kolizji z obj_przejście przeniosło go do innego roomu. Mogę jeszcze dodać dane obj_player & obj_przejście: GML //Obj Player //Create global.can_id=1; can=0; // Set initial position, yaw, and velocity x = 0; y = 0; z = 1; forward_speed = 0; side_speed = 0; dir = 0; // Create ellipsoid entity to represent the player ent_id = CreateEntity("ellipsoid.mesh"); node_id = CreateRootChildSceneNode(); AttachEntityToSceneNode(ent_id, node_id); SetSceneNodeScale(node_id, 1, 1, 2.5); SetEntityMaterial(ent_id, "Simple/dirt01"); // Hide ellipsoid so player doesn't look down and see it HideEntity(ent_id); // Create the collision mesh for the player col_id = CreateNewtonEllipsoidCollision(global.world2, 0.5, 0.5, 1.0); body_id = CreateNewtonBody(global.world2, col_id); CalculateNewtonConvexCollisionInertia(col_id); SetNewtonBodyMassMatrix(body_id, 50, 50*GetX(), 50*GetY(), 50*GetX()); CalculateNewtonConvexCollisionCenterOfMass(col_id); SetNewtonBodyCenterOfMass(body_id, GetX(), GetY(), GetZ()); DestroyNewtonCollision(col_id); // Attach Newton body to scene node for auto updates AttachNewtonBodyToSceneNode(body_id, node_id); // Attach scene node to this object for auto updates AttachSceneNodeToGMInstance(node_id, id); SetNewtonBodyPosition(body_id, x, y, z); EnableNewtonBodyAutoSleep(body_id, false); // The Newton PlayerController handles all interaction with // the body and the environment (ie, hitting walls, walking // up stairs, etc)! controller_id = CreateNewtonPlayerController(body_id); //Step // Set new velocity for our player SetNewtonPlayerControllerVelocity(controller_id, forward_speed, side_speed, dir); //BeginStep // Get new direction dir = GetCameraYaw(obj_camera.camera_id); // Reset velocity forward_speed = 0; side_speed = 0; GML //Obj_przejscie //CREATE /* Create floor entity floor_id = CreateFloorEntity(75, 75, 50, 50, 10, 10); SetEntityMaterial(floor_id, "Examples/Rockwall"); EnableEntityCastShadows(floor_id, false); /Attach floor entity to scene node and position it node_id = CreateRootChildSceneNode(); AttachEntityToSceneNode(floor_id, node_id); */ ent_id = CreateEntity("przejscie.mesh"); node_id = CreateRootChildSceneNode(17,-36,0.5); AttachEntityToSceneNode(ent_id, node_id); SetSceneNodeScale(node_id, 0.4.3, 0.4.3, 0.4.3); EnableEntityCastShadows(ent_id, true); col_id = CreateNewtonTreeCollisionFromEntity(global.world2, ent_id, true); body_id = CreateNewtonBody(global.world2, col_id); DestroyNewtonCollision(col_id); AttachNewtonBodyToSceneNode(body_id, node_id); YawSceneNode(node_id,90);
  2. Robię swoją pierwszą grę w gmogre,mam już 2 lvl,modele z 3dsmaxa i nawet 1 obiekt z animacją. Gra jest FPS'em mam kolizję ze ścianami i innymi obiektami ale mam problem.Ponieważ chcę zrobić tak aby obj_player po zetknięciu się z obj_przejscie przeniosło go do innego room'a.Proszę o pomoc!!!
  3. Skorzystałem z pierwszego przykładu i teraz mam inny problem dałem w step hero GML direction = point_direction( x , y , mouse_x , mouse_y ) i po wejściu do mapy gracz nie obraca się a spirit jest wyświetlony (gracz w okienku obiektu nie ma spirita pewnie dla tego) ale gdy dam spirita w okienku obiektu hero to wyświetlone są 2 spirity jeden na drugim ten pod to subimage spirita spirit1 i przy wyborze się zmienia a ten na górze to spirit1 jeden i ten sam się nie zmienia,jak chodzę to niekiedy prześwituje :/ Wrzucam Scrrena: http://imageshack.us/photo/my-images/33/screenmb.jpg/
  4. Zacznę od tego co mam,no więc mam w menu przed wejściem do lvl pokoje z wyborem różnych postaci a w pokoju z lvl obiekt "hero" bez spirita i chcę zrobić tak aby po naciśnięciu obiektu "hero1" czy tam innego przy wyborze postaci to w lvl obiekt (gracz) "hero" miał spirita "spirit28" a jak wybiorę np. "hero2" to miał zaś innego spirita "spirit29" po wejściu do gry. Próbowałem ale nie wychodziło, zrobiłem na 2 sposoby: I: w "hero1" create: idi=0; Left Button: ifi+=1; w "hero" draw: if(idi=1) { draw_sprite(sprite28,sprite28,hero,hero); } else if(idi=2) { draw_sprite(sprite29,sprite29,hero,hero); } II: To to samo tylko dodawałem script0: idi=0; Jak wy byście to zrobili???
  5. Witam, Jest tak że mam dane obiekty Obj_Camera,Obj_blok i skript o to zawartość: Obj_Camera: END STEP GML z_collision(obj_blok,10,global.footstep_tiles) /////////////////////////////////////////////////////////// Obj_blok: CREATE GML z = (instance_number(obj_block)*0)-0 iks=5; igr=5; STEP GML if(keyboard_check(ord('V'))) { iks+=1; } if(keyboard_check(ord('B'))) { iks-=1; } if(keyboard_check(ord('N'))) { igr+=1; } if(keyboard_check(ord('M'))) { igr-=1; } DRAW GML draw_set_color(c_white); d3d_draw_block(x-iks,y-igr,0,x+iks,y+igr,z+10,background_get_texture(tex),0.3,1+(z/30)) d3d_draw_block(x-iks,y-igr,z+10.01,x+iks,y+igr,z+10.01,background_get_texture(tex),0.3,0.3) ///////////////////////////////////////////////////////////////////////////// SKRIPT GML //Poruszanie if(keyboard_check(vk_right)) { y+=0.2; x+=0.2; } if(keyboard_check(vk_left)) { y-=0.2; x-=0.2; } if(keyboard_check(vk_down)) { y-=0.2; x+=0.2; } if(keyboard_check(vk_up)) { y+=0.2; x-=0.2; } //Wysokosc //Obracanie</span> 1.No i jest tak że jak postawię blok to mogę nim poruszać zmieniać jego proporcję X,Y i Z ale z tym Z to jest tak że blok się nie podnosi tylko 'wydłuża'! i obniża i pytanie jak zrobić aby się podniósł z ziemi. 2.Gdy zmieniam X,Y bloku na klawiszach to kolizja mi się nie zmienia,trzeba by to zrobić jakoś na zmiennych tyle że nie wiem jak próbowałem różnych sposobów np. kol=iks+igr; i dawałem z_collision(obj_blok,kol,global.footstep_tiles) jak macie jakiś pomysł to proszę podawać,to będzie już wszystko.
  6. Przydałyby się jakieś pagórki,drzewka itd. jak w fallout new vegas :D
  7. Czy dało by się w jakiś sposób w gm zrobić grę a następnie przekonwerterować ją na komórkę?
  8. Dobra już nie trzeba znalazłem bardzo fajny przykład w którym mam pokazane wszystko http://www.yoyogames.com/games/63223-3d-tutorials
  9. no na razie mam taką kamerkę GML d3d_set_projection(64,64,32,obj_man.x,obj_man.y,10,0,0,1); ale to jeszcze nie taka o jaką mi chodzi.
  10. Jak zrobić kamerkę w 3d żeby się obracała wokuł bochatera obj_man (coś jak w gta sa) kamera musi być zza pleców.
  11. Jak wykonać taką animacje jak tutaj http://www.yoyogames.com/games/153809-stic...movement-system nie chcę się męczyć z wieloma spritami bo później jedna noga jest wyżej druga niżej chce to inaczej zrobić ale jak?? słyszałem coś o animacji szkieletowej ale wtedy chyba będe musiał ucinać części ciała. Jakieś pomysły na płynną animacje 2D??
  12. Ale jest też taki program do modelowania on ci od razu przekształci to w kod do Gm możesz w nim zrobić podstawowe obiekty jak ściany,jakieś kolumny itp.
  13. ok masz racje, zaczynam od podstaw
  14. Witam Robię gierkę platformówkę (dragon balla) ale nie potrafię zrobić dobrego AI, przeciwnik musiałby umieć np.kopać,puszczać jakieś moce,blokować ataki,latać w różnych kierunkach itd.
  15. no i miałeś rację.... :jezor:
  16. Mam 3 controle control,control2,control3 taki obiekt który włącza fizyke w grze. Więc we wszystkich przy starcie pokoju gdzie one są wyskakuje taki oto błąd (np.pokaże wam control3) ERROR in action number 1 of Draw Event for object control3: Trying to draw non-existing sprite. no a teraz wam pokaże w obiekcie control3 DRAW: //Draw some information draw_text(10,10,"FPS: " + string(fps) + " Bodies: " + string(get_num_bodies())); draw_text(10,30,"Click Left MB to Create Body"); draw_text(10,50,"Click Right MB to Create Static Block"); draw_sprite(sprite_index,0,x,y); draw_text(view_xview[0] + 6, view_yview[0] + 6, "s: " + string(kostki)); window_set_cursor( cr_none ); draw_sprite( sprite739, -1, mouse_x, mouse_y ); Wcześniej błąd mi nie wyskakiwał a w tych 3 obiektach nic nie grzebałem....
  17. Powiedzmy że jest sobie obiekt A i obiekt B są od siebie oddalone, obiekt B stoi w miejscu ale obiekt A zbliża się do niego po zetknięciu z obiektem B automatycznie włącza się niewidzialny stoper odliczający 5 sekund, jeżeli obiekt A nadal dotyka obiekt B a 5 sekund mineło przenosi go do innego roomu.Natomiast gdy obiekt A w czasie 5 sekund odejdzie od obiektu B stoper się wyłącza zrozumiałe?? to teraz pomóżcie!!!
  18. Faktycznie pomogło dzięki (^_^)
  19. Zrobiłem obiekt 3d jest to chudy prostokąt o nazwie obj_solider i nadałem mu texture tex_solider1 ale po sprawdzeniu, ta textura się powtarza: A ma być tylko raz, nie wiem w czym jest problem może za mały obrazek ma on rozmiar 225x225. Może się też przydać: CREATE global.model_solider1 = d3d_model_create(); d3d_model_block(global.model_solider1,-10.0000,-80.0000,-10.0000,-10.0000,20.0000,130.0000,10.0000,10.0000); DRAW draw_set_color(c_white); d3d_model_draw(global.model_solider1,x,y,argument2,background_get_texture(tex_so lider1));
  20. Model 3d zrobiłem w create: global.model_znak = d3d_model_create(); d3d_model_block(global.model_znak,-1540.0000,160.0000,-10.0000,1550.0000,680.0000,1000.0000,10.0000,10.0000); d3d_model_block(global.model_znak,160.0000,-860.0000,-10.0000,600.0000,160.0000,1000.0000,10.0000,10.0000); d3d_model_block(global.model_znak,-440.0000,-1300.0000,-10.0000,1490.0000,-870.0000,1000.0000,10.0000,10.0000); d3d_model_block(global.model_znak,-1000.0000,-2750.0000,-10.0000,2160.0000,-1960.0000,800.0000,10.0000,10.0000); DRAW: texture_set_interpolation(1); texture_set_repeat(1); draw_set_color(c_white); d3d_model_draw(global.model_znak,argument0,argument1,argument2,background_get_te xture(bg_znak)); Po wstawieniu na środku rooma, i po włączeniu testu on pojawia się na krawędzi. Tak jak inne obiekty, kiedyś miałem taki projekt w którym wstawiłem obiekt, tam gdzie chce i on się tam pojawiał ale gdzieś mi się zapodział.Proszę o szybką odp.
  21. W takim razie w tej sytuacji spolszczenie wcale nie będzie potrzebne, bo tylko utrudni pracę nad grą i nauką gml. Temat do zamknięcia...
  22. Nie no jeszcze nie myślałem żeby spolszczać kod. Tylko np.Pomoc i menu czyli plik>>otwórz a w pomocy wiecie, wszystko jest po angielsku a jak przetłumaczyć po polsku to początkujący nie będą się musieli trudzić z tłumaczeniem tekstu tam zawartego.
  23. Też to miałem jak zmieniałem w notatniku :/ nop dobra spróbujcie programem Free Hex Editor Neo :] powinno działać
  24. OK pozbyłem się tych kresek i kropek nie ma tam nic spacja. Myśle że z innymi wersjami byłoby tak samo łatwo zrobić spolszczenie.
×
×
  • Dodaj nową pozycję...