
Kazik1
Użytkownicy-
Postów
119 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Kazik1
-
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);
-
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!!!
-
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/
-
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???
-
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.
-
Przydałyby się jakieś pagórki,drzewka itd. jak w fallout new vegas :D
-
Czy dało by się w jakiś sposób w gm zrobić grę a następnie przekonwerterować ją na komórkę?
-
Dobra już nie trzeba znalazłem bardzo fajny przykład w którym mam pokazane wszystko http://www.yoyogames.com/games/63223-3d-tutorials
-
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.
-
Jak zrobić kamerkę w 3d żeby się obracała wokuł bochatera obj_man (coś jak w gta sa) kamera musi być zza pleców.
-
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??
-
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.
-
ok masz racje, zaczynam od podstaw
-
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.
-
no i miałeś rację.... :jezor:
-
cóż mam sprawdzić? nie
-
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....
-
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!!!
-
Faktycznie pomogło dzięki (^_^)
-
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));
-
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.
-
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...
-
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.
-
Też to miałem jak zmieniałem w notatniku :/ nop dobra spróbujcie programem Free Hex Editor Neo :] powinno działać
-
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.