Lordis Opublikowano 17 Kwietnia 2008 Udostępnij Opublikowano 17 Kwietnia 2008 Witam! Mam kilka pytań. 1.Jak zrobić efekt przy uderzeniu (krew) a przy pudle (dymek,chmórke) 2. Jak zrobic żeby liczbowe obrarzenia były na celua nie na bohaterze obj_damage: CREATE: image_alpha=10; value=0; tekst=-1; vspeed=-1; DRAW: draw_set_font(font_damage); draw_set_color(c_red) draw_text(x,y,string(value)); draw_set_font(-1); image_alpha-=0.3; if(image_alpha<0) { instance_destroy(); } Atak mojego bohatera obj_HERO: ALARM[0]: var i; if distance_to_object(atak_npc) <= 32 { i=instance_create(x,y,obj_damage); i.value = damage i.tekst=font_damage } i mam pytanko gdzie wpisać współrzędne celu(potworka) ? 3. Jak zrobić atak w którym nie bede walil ciągle po tyle samo np. mam global.player_atack = 2 i wale ciągle po dwa jak to zrobic żeby było że jak mam np. 50 ataku to wale od 0 do 70? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 17 Kwietnia 2008 Udostępnij Opublikowano 17 Kwietnia 2008 ehhh... raz jeszcze: miniRPG, przeciez tam jest wszystko o co dotad pytales o_0 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lordis Opublikowano 17 Kwietnia 2008 Autor Udostępnij Opublikowano 17 Kwietnia 2008 ej ale tam jest strasznie namieszane ja nie wiem co do czego tam jest zadużo tego i ja niemoge sie tam połapać (jestem początkujący :) ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 17 Kwietnia 2008 Udostępnij Opublikowano 17 Kwietnia 2008 ok prosciej: GML //jesli trafil { //kod trafienia itd jaki tam masz instance_create(xx,yy,o_hit); } //jesli nie trafil { instance_create(xx,yy,o_miss); } animacje mozesz sobie wziasc z miniRPG ale lepiej zrob swoje jest to bardzo proste. Jak zrobic obiekty zajrzyj do ich kodu obiekty o_miss i o_hit. Sa tam poustawiane alarmy itd. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lordis Opublikowano 17 Kwietnia 2008 Autor Udostępnij Opublikowano 17 Kwietnia 2008 OO dzieki bo właśnie rozkminiłem jak to zrobić ale nie wiedziałem jaka jest ta konemda (skrypt) ja dawałem object_add(obj_hit) ale error mi wyskakiwał :) dzięki juz se chyba poradze :] aa i jeszcze na te pytanie nikt nie odpowiedział ;p 3. Jak zrobić atak w którym nie bede walil ciągle po tyle samo np. mam global.player_atack = 2 i wale ciągle po dwa jak to zrobic żeby było że jak mam np. 50 ataku to wale od 0 do 70? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 17 Kwietnia 2008 Udostępnij Opublikowano 17 Kwietnia 2008 to juz zalezy od ciebie, musisz sobie wymyslic jakas mechanike mozesz np dac cos takiego: GML obrazenia = round(random(atak.gracza)) + 20 - obrona.potworka round(random()) sluzy do generowania losowej liczby. Mozesz dac tam jakas liczbe np. 20 albo jakas zmienna. Jesli atak gracza wynosi 50 to wylosuje liczbe on 0 do 50 doda 20 i odejmie obrone potworka. Mozesz kombinowac do woli ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lordis Opublikowano 18 Kwietnia 2008 Autor Udostępnij Opublikowano 18 Kwietnia 2008 ooo dobre nie wpadł bym na to xD dzieki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 18 Kwietnia 2008 Udostępnij Opublikowano 18 Kwietnia 2008 pamietaj ze musisz tez dac po tym godzie cos w stylu GML if (obrazenia < 0) { obrazenia = 0 } Jesli obrazenia beda mniejsze niz 0 to potworkowi doda sie zycie a tego nie chcesz, ten kodzik temu zapobiega. Nikt nie zdrowieje od tego ze jest okladany mieczem po glowie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lordis Opublikowano 18 Kwietnia 2008 Autor Udostępnij Opublikowano 18 Kwietnia 2008 Znowu problem :( już zrobiłem losowy atak ale coś jest on mało rozbudowany bo gry wale npca to dostaje po 0 albo 4,80 albo 5,80 i nic wiecej a czemu nie dostaje np. 0,1,2,3,4,5,6 ? napście mi przykładowy random atak mój wygląda tak może mam cos źle: if distance_to_object(atak_npc) <= 32 { damage = round(random(1)); //--SIŁA_ATAKU_GRACZA--// if damage = 1 { damage = round(random(global.player_atack)) -(atak_npc.defens * 0.2) +5; } if (damage < 0) { damage = 0 } if (damage > -1) { atak_npc.hp -= damage; } } gdzie global.player_atack to: global.player_atack = 2 * (global.player_level * 0.35) no a global.palyer_level to sie można domyślić ;) (poziom gracza) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 18 Kwietnia 2008 Udostępnij Opublikowano 18 Kwietnia 2008 musisz zaokraglic cale obliczenie daj round( cale to dzialanie na obrazenia ) bo jak narazie round dziala tylko na ta liczbe ktora losujesz, dalej juz sie mnozy przez 0.2 i moga wychodzi niepelne wyniki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lordis Opublikowano 18 Kwietnia 2008 Autor Udostępnij Opublikowano 18 Kwietnia 2008 Kolejne pytanko jak zrobić że gdy hity są wyższe od np. 100 to są pomarańczowe albo jakiś bajer żeby było wiadomo że to Kritikal hit I gdy walne za zero to pokazuje sie napis block albo cos takiego Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 18 Kwietnia 2008 Udostępnij Opublikowano 18 Kwietnia 2008 daj caly skrypt ataku wraz z tworzeniem napisu obrazen to ci powiem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lordis Opublikowano 18 Kwietnia 2008 Autor Udostępnij Opublikowano 18 Kwietnia 2008 OK :D ATAK GRACZA: ALARM[0]: //--ATAK--// var atak; if distance_to_object(atak_npc) <= 32 { damage = round(random(1)); //--SIŁA_ATAKU_GRACZA--// if damage = 1 { damage = round(random(global.player_atack -(atak_npc.defens * 0.2) +2 )) } else { damage = round(random(global.player_atack -(atak_npc.defens * 0.2) +3 )) } if (damage < 0) { damage = round(random(global.player_atack -(atak_npc.defens * 0.2) +1)) } //--OBRARZENIA_NPC--// if (damage > -1) { atak_npc.hp -= damage; instance_create(atak_npc.x,atak_npc.y,obj_hit); } } //--DAMAGE--// var i; if distance_to_object(atak_npc) <= 32 { i=instance_create(atak_npc.x,atak_npc.y,obj_damage); i.value = damage i.tekst=font_damage } alarm[0] = room_speed*1; //atak co 1 sekunde obj_damage: CREATE: image_alpha=10; value=0; tekst=-1; vspeed=-1; i DRAW: draw_set_font(font_damage); draw_set_color(c_red) draw_text(x,y,string(value)); draw_set_font(-1); image_alpha-=0.3; if(image_alpha<0) { instance_destroy(); } ja próbowałem w obj_damage w DRAW zrobić cos takiego if damage > 100 { draw_set_color(c_orange) } ale nie dziala ;p a i mam jeszcze jedno pytanko działa mi to że jak udeże npcka to jeci krew ale jak zrobić właśnie ze jak dostanie kritikala? bo block to wiem i zwykły tez a kritikal? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 18 Kwietnia 2008 Udostępnij Opublikowano 18 Kwietnia 2008 to daj w DRAW obj_damage GML if value > 100 { draw_set_color(c_yellow) } else draw_set_color(c_red) w o_damage nie masz czegos takiego jakz mienna damage, jest ona zamieniana na value;) Krew powinna sie pokazac i przy krytyku, to narmalny cios jest, zmieniasz tylko kolorek napisu. nie ma kolorku c_orange :P w helpie Gma masz jakie sa dostepne. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lordis Opublikowano 18 Kwietnia 2008 Autor Udostępnij Opublikowano 18 Kwietnia 2008 ERROR in action number 1 of Draw Event for object obj_damage: Error in code at line 7: if damage > 100 at position 5: Unknown variable damage ... i tak wyskakuje błąd ;/ aaa dobra to narazie tego nie rabie ;p może puźniej zrobie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 18 Kwietnia 2008 Udostępnij Opublikowano 18 Kwietnia 2008 normalnie odpowiedz masz w bledzie xD zapomnialem zmienic. Skopiuj kod teraz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lordis Opublikowano 18 Kwietnia 2008 Autor Udostępnij Opublikowano 18 Kwietnia 2008 OK dzieki :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lordis Opublikowano 18 Kwietnia 2008 Autor Udostępnij Opublikowano 18 Kwietnia 2008 mam znów problem :( dla was jest pewnie banalny ale ja nie wiem jak sie to nazywa a wiec tak w STEP pisze if (keyboard_check(....)) i właśnie tu gdzie są kropki ma być litera "s" ale nie wiem jaki jest początek bo w takich jak szczałki albo spacja to vk_... a przy literach? szukałem w helpie gma ale tam są tylko vk_... :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 18 Kwietnia 2008 Udostępnij Opublikowano 18 Kwietnia 2008 GML keyboard_check(ord'A')) literka musi byc DUZA, niezapomnij 2 nawiasow na koncu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lordis Opublikowano 18 Kwietnia 2008 Autor Udostępnij Opublikowano 18 Kwietnia 2008 nie chodzi ;/ if (keyboard_check(ord'S')) { instance_create(x+500,y+350,obj_panel_skill); } ale to może odrazu sie zapytam jak zrobić panel ze skillami (atak, def, armor, hp, mp, exp i takie tam) żeby jak nacisne "S" to sie pojawia a jak już jest i nacisne "S" to znika? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 18 Kwietnia 2008 Udostępnij Opublikowano 18 Kwietnia 2008 if (keyboard_check_pressed(ord'S')) { instance_create(view_xwiev[0],view_yview[0],obj_panel_skill); } moze tak? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się