Merhabalar,
bu konuda sizlere kamera ile bir nokta nasıl ayarlanır onun hakkında bir anlatım, açıklayıcı tanım yapacağım. İyi Forumlar!İlk öncelikle bir kamera noktası ayarlamak için hangi sistemler lazım?Mesela Spawn Ayarlama Noktası sistemi yapacağız. Birim çember üzerinde şu şekilde gösterebiliriz.Birim Çember Formülleri : 1.Formül[X2 + Y2 = 1] 2.Formül[(X,Y)
Şimdi nedir bu birim çember diyeceksiniz?
Arkadaşlar burada işte matematiğimizi konuşturacağız. Koordinat üzerinde bunu gösterebilirdik ama şöyle bir hata çıkabilirdi. Sağ Üst tarafa bakmasını istiyoruz ama bakmıyor koordinat'da böyledir.
Birim çemberde ise şöyle oluyor mesela siz bir spawna ayarlama noktası yaptınız. Ama oranın sağ üst'e bakarak durmasını istiyorsunuz. Bu yüzden birim çember üzerinde göstermemiz lazım. Örnek Resim;(https://i.imgyukle.com/2019/10/02/EPd2xj.jpg)
Şimdi bunu map editor ve yaptığım komutla yapacağız. Map editor üzerinde spawn noktamızı ayarlıyoruz ben sizin için hazırladım.
SetPlayerPos(playerid, 1996.4093,1544.1047,15.2913);
SetPlayerFacingAngle(playerid, 272.4439);
SetPlayerCameraPos(playerid, 2003.9183, 1543.9656, 17.2248);
SetPlayerCameraLookAt(playerid, 2002.9135, 1543.9508, 16.8846);
Resim;
(https://i.imgyukle.com/2019/10/02/EkkbBs.md.png)
Spawn sistemi üzerinde birim çember nasıl yapılır?
Şimdi formülleri önceden sizlere vermiştim. İlk önce 1.Formül'den gideceğiz X2 + Y2 = 1 mesela olarak çıktı yani burada pozitif durum olarak o zaman 2.Formüle göre şunu diyebiliriz. 360 derece (1,0), 1 = cosx(kosinüs), sinx(sinüs) şeklinde cevaplayabiliriz. Yani şimdi demek istediğim Doğu'nun kosinüsü = 1, sinüsü = 0 olarak çıkıyor bu yüzdende spawn noktasını ayarlarken (1,0) birim çember üzerinde ama biz direk pawno'da A(X,Y), B(X,Y) şeklinde ayarlayacağız. if == A(X,Y) else için B(X,Y) yapacağız şimdi komutu sizlere sunuyorum. Bir de bir şey demeyi unutmuşum Birim çemberde olan en alt yer kosinüs alfadır. (Resimdeki Yer)
Komut ZCMD üzerine yapılmıştır.CMD:spawnisinlan(playerid)
{
new BirimCember, aPosX, aPosY, aPosZ, bPosX, bPosY, bPosZ;
new taktak1, taktak2;
if(BirimCember == taktak1) SetPlayerPos(playerid, aPosX, aPosY, aPosZ); // Eğer +1 yönündeyse
else if(BirimCember == taktak2) SetPlayerPos(playerid, bPosX, bPosY, bPosZ); // Eğer -1 yönündeyse
return 1;
}
[/size]
ZCMD : http://www.mediafire.com/file/moy96fyls9gua3d/zcmd.inc/file
VIRUS TOTAL : https://www.virustotal.com/gui/url/b41652e99b09e7ab61c71fb44bc1a94fa954298198def0d52fd2c771a16b8732/detection
Konu anlatımımız bu kadardı iyi forumlar!
Paylaşım için teşekkürler, yararlı.
Alıntı yapılan: Escapist - 03 Ekim 2019, 17:00:56Paylaşım için teşekkürler, yararlı.
Güzel yorumunuz için teşekkür ederim.
Biliyormusun? Öğretmenim bana böyle anlatmadı.
Alıntı yapılan: AyazDuru - 04 Ekim 2019, 06:46:08Biliyormusun? Öğretmenim bana böyle anlatmadı.
Anladıysanız ne mutlu bana :)
Paylaşım için teşekkürler, yararlı.
Alıntı yapılan: LaexTR - 05 Ekim 2019, 22:59:41Paylaşım için teşekkürler, yararlı.
Teşekkürler.
tam olarak anlamak zor yanlış anlama yıkıcı değil yapıcı bir eleştiri , ve koordinatlar integer veri tipinde mi ?
Alıntı yapılan: ThePosition - 07 Ekim 2019, 21:01:15tam olarak anlamak zor yanlış anlama yıkıcı değil yapıcı bir eleştiri , ve koordinatlar integer veri tipinde mi ?
Şöyle (X,Y,Z,T) şeklinde "Pos" dediğimiz olayındadır. Yani (X,Y,Z,T) ama ben bunu matematik ile anlatmak istediğim için öyle daha ayrıntılı ve detaylı oluyor yani mantıklı bir anlatım konusudur.
Sanırım bu fonksiyon ile daha kolay olabilirdi anlatım , bu arada güzel konu ^^
stock GetXYInDirection(& Float: X, & Float: Y, Float: Angle, Float: distance = 1.0) {
X -= (floatsin(Angle, degrees) * distance);
Y += (floatcos(Angle, degrees) * distance);
}
Alıntı yapılan: ThePosition - 07 Ekim 2019, 22:58:39Sanırım bu fonksiyon ile daha kolay olabilirdi anlatım , bu arada güzel konu ^^
stock GetXYInDirection(& Float: X, & Float: Y, Float: Angle, Float: distance = 1.0) {
X -= (floatsin(Angle, degrees) * distance);
Y += (floatcos(Angle, degrees) * distance);
}
Bunu anlatarak aslında haklısın ama ben sadece mantığını anlatmak istemiştim yani pawnoda matematiksel işlemlerde var onu anlatmak istedim.
Biliyorum kaç ay olmuş paylaşım yapmısın birşey demek istiyorum bence 'Texture Studio' ile nasıl yapılır onu göstersen güzel olurdu.