Pavel Tuček 1 Odesláno: 2. Březen, 2016 Share Odesláno: 2. Březen, 2016 Zdravím! Delám si jednoduchej script na pohyb balonu,ale balon furt stojí a nehejbe se. forward CheckObj(); public CheckObj() { new Float:x, Float:y, Float:z; if(GetDynamicObjectPos(balonek, x, y, z)) { if(x == -2608.14600) if(y == -235.46602) if(z == -25.70728) { if(baloneknaspawnu == 0) { baloneknaspawnu = 1; SetTimer("JdiVis", 5000, 0); SendClientMessageToAll(-1, "balon přistal, odléta za 5 vteřin"); } } } else if(GetDynamicObjectPos(balonek, x, y, z)) { if(x == -2640.5615) if(y == -215.1547) if(z == 52.8805) { MoveDynamicObject(balonek, -2608.14600, -235.46602, 25.70728, 25.00); } } return 1; } forward JdiVis(); public JdiVis() { MoveDynamicObject(balonek, -2640.5615,-215.1547, 52.8805, 25.00); baloneknaspawnu = 0; return 1; } Link to comment Share on other sites More sharing options...
0 Mattsy 29 Odesláno: 2. Březen, 2016 Share Odesláno: 2. Březen, 2016 Ukáž kde vytváraš object a kde používaš JdiVis aj CheckObj, prípadne aj timer 1 Link to comment Share on other sites More sharing options...
0 Pavel Tuček 1 Odesláno: 2. Březen, 2016 Author Share Odesláno: 2. Březen, 2016 JdiVis máš hned nad textem SendClientMessageToAll(-1, "balon přistal, odléta za 5 vteřin"); SetTimer("CheckBalon", 1000, 0); mám v ongamemodeinit. balonek = CreateDynamicObject(19336, -2608.14600, -235.46602, 25.70728, 0.00000, 0.00000, 0.00000); Link to comment Share on other sites More sharing options...
0 RmT_Kjuba 10 Odesláno: 2. Březen, 2016 Share Odesláno: 2. Březen, 2016 Nemají byt ty podminky na xyz byt v jedné a ne takto pod sebou? Link to comment Share on other sites More sharing options...
0 Mattsy 29 Odesláno: 2. Březen, 2016 Share Odesláno: 2. Březen, 2016 Tiež mám pocit na tie podmienky máme na to operátora &&, skús si to aj vyprintovať keď tak Link to comment Share on other sites More sharing options...
0 Lukasz 336 Odesláno: 2. Březen, 2016 Share Odesláno: 2. Březen, 2016 Ty podminky by mu takto jit mely. if(GetDynamicObjectPos(balonek, x, y, z)) spis tato podminka bude delat problemy, kterou tam mas dvakrat. Tak ji smaz a nech tam jen getnuti pozice. 1 Link to comment Share on other sites More sharing options...
0 Mattsy 29 Odesláno: 2. Březen, 2016 Share Odesláno: 2. Březen, 2016 (upraveno) To som akosi prehliadol To je blbosť, nedávaj to do podmienky Lenže malo by to vrátiť true a tým pádom pustiť ďalej nie? Edited 2. Březen, 2016 by Mattsy Link to comment Share on other sites More sharing options...
0 Pavel Tuček 1 Odesláno: 2. Březen, 2016 Author Share Odesláno: 2. Březen, 2016 (upraveno) Zmenil jsem to na tohle a furt se nehejbe... forward CheckBalon(); public CheckBalon() { new Float:x, Float:y, Float:z; if(GetDynamicObjectPos(balonek, x, y, z)) { if(x == -2608.14600 && y == -235.46602 && z == -25.70728) { if(baloneknaspawnu == 0) { baloneknaspawnu = 1; SetTimer("JdiVis", 5000, 0); SendClientMessageToAll(-1, "balon přistal, odléta za 5 vteřin"); } } else if(x == -2640.5615 && y == -215.1547 && z == 52.8805) { MoveDynamicObject(balonek, -2608.14600, -235.46602, 25.70728, 25.00); } } return 1; } //SRY FOR TAB ALE CTRL+V TO NEJAK KU*VI Edited 2. Březen, 2016 by Pavel Tuček Link to comment Share on other sites More sharing options...
0 Mattsy 29 Odesláno: 2. Březen, 2016 Share Odesláno: 2. Březen, 2016 Skus este vymazat podmienku na GetObjectPos ako hovoril lukas a ked to neppjde tak pouzi print, za kazdu podmiebku si daj print("cislo"); a uvidis ktore cislo pojde posledne Link to comment Share on other sites More sharing options...
0 Pavel Tuček 1 Odesláno: 2. Březen, 2016 Author Share Odesláno: 2. Březen, 2016 Vymazat? V tom případe jak zjistím pozici balonu? Link to comment Share on other sites More sharing options...
0 Lukasz 336 Odesláno: 2. Březen, 2016 Share Odesláno: 2. Březen, 2016 if(GetDynamicObjectPos(balonek, x, y, z)) Myslí toto, ale teď, když jsem si přečetl dokumentaci tak by to vadit nemělo (měla by se ti podmínka splnit) Chybu jsem našel if(x == -2608.14600 && y == -235.46602 && z == -25.70728) Testuješ pro z = -25.70728 ale vytváříš balón na +25.70728 Link to comment Share on other sites More sharing options...
0 Globální moderátor HighPrint 177 Odesláno: 2. Březen, 2016 Globální moderátor Share Odesláno: 2. Březen, 2016 Jde vůbec porovnávat takhle floaty? o.O Link to comment Share on other sites More sharing options...
0 vladasavel 26 Odesláno: 2. Březen, 2016 Share Odesláno: 2. Březen, 2016 HP: jop porovnávst to jde. Když jsem dělal střelnici tak mi s tím lukasz pomáhal. Zde jak to porovnával já: new Float:ox,Float:oy,Float:oz; GetPlayerObjectPos(playerid,targets[10], ox, oy, oz);//targets[10] je jeden objkt terče if(ox,oy,oz == tarx,tary,tarz + 15)//tar floaty jsou puvodní pozice kde vytvářím targets[10]; Link to comment Share on other sites More sharing options...
0 Lukasz 336 Odesláno: 2. Březen, 2016 Share Odesláno: 2. Březen, 2016 if(ox,oy,oz == tarx,tary,tarz + 15) O tomhle jsme se dohadovali snad dlouho, že je to kravina ne? Že to ignoruje všechno až na tarz + 15 takže se to vlastně rovná if(tarz + 15) což je vždy pravda, pokud tarz není -15. Klasicky se to porovnává tak, jak to už má a je to tím mínusem Link to comment Share on other sites More sharing options...
0 Pavel Tuček 1 Odesláno: 2. Březen, 2016 Author Share Odesláno: 2. Březen, 2016 if(GetDynamicObjectPos(balonek, x, y, z)) Myslí toto, ale teď, když jsem si přečetl dokumentaci tak by to vadit nemělo (měla by se ti podmínka splnit) Chybu jsem našel if(x == -2608.14600 && y == -235.46602 && z == -25.70728) Testuješ pro z = -25.70728 ale vytváříš balón na +25.70728 To jsem opravil. Ted balon vykoná JdiVis ale pak se nedostaví na další pozici, která tam je. Link to comment Share on other sites More sharing options...
0 Globální moderátor HighPrint 177 Odesláno: 2. Březen, 2016 Globální moderátor Share Odesláno: 2. Březen, 2016 SetTimer("CheckBalon", 1000, 0); mám v ongamemodeinit. Změň na SetTimer("CheckBalon", 1000, 1); mám v ongamemodeinit. 1 Link to comment Share on other sites More sharing options...
0 vladasavel 26 Odesláno: 2. Březen, 2016 Share Odesláno: 2. Březen, 2016 Lukasz: o to mi vlastně i šlo aby to porovnávalo jen tarz protože já terčem hábal jen do strany A dá se říct že princip je stejnej jak u balonu kde on porovnává jen pohyb nahoru. Link to comment Share on other sites More sharing options...
0 Lukasz 336 Odesláno: 2. Březen, 2016 Share Odesláno: 2. Březen, 2016 Ou, tak to sis asi nevšiml, že jím hýbe i do stran Navíc tarz je pozice na ose Z tzn. v jaké výšce se objekt nachází, a protože jí máš vždy nenulovou (a nehýbeš sním po této ose), tak vždy se ti pokaždé podmínka splní. To z té podmínky dělá zbytečnou podmínku, a navíc to neomlouvá ten bullshit který máš před tarz. Link to comment Share on other sites More sharing options...
0 Pavel Tuček 1 Odesláno: 2. Březen, 2016 Author Share Odesláno: 2. Březen, 2016 Funguje to.. díky moc.. vubec mi to nedošlo že timer se neopakuje. Díky! Link to comment Share on other sites More sharing options...
Dotaz
Pavel Tuček 1
Zdravím! Delám si jednoduchej script na pohyb balonu,ale balon furt stojí a nehejbe se.
Link to comment
Share on other sites
18 odpovědí na tuto otázku
Recommended Posts