Pawn'da Işınlanma Yapımı

Pawn'da Işınlanma Yapımı

Selamlar, bugün SetPlayerPos fonksiyonunun nasıl kullanıldığını anlatacağım. Bu yazıda üç başlık altında anlatmaya çalışacağım.

1-) SetPlayerPos Fonksiyonu:


SetPlayerPos(playerid, Koordinat X, Koordinat Y, Koordinat Z);


  • Playerid, hangi oyuncunun ışınlanacağını belirtmede kullanacağımız id oluyor.
  • Koordinat mantığını bilirsiniz. Kodlamada zaten sıkça matematik mantığı yürütmemiz gereken noktalar olur. Tabi bu daha en basiti. X, Y, Z koordinatları oyuncunun konumu belirlemeye yarar. Onları ise oyun içerisinde ikinci başlıktaki iki farklı şekilde alabiliriz.


2-) Koordinat Almak:

Koordinat almak için iki alternatif yöntemimiz bulunmaktadır. Bunların birisi uzun yoldan diğeri ise kısa yoldan almaktır. Önce uzundan başlayıp sonra kısaya geçelim.

Uzun Yöntem:

Oyun içerisinde koordinatını alacağımız noktaya giderek "/save" komutunu kullanıyoruz. Daha sonra bu /save komutu ile kaydettiğimiz koordinatları almak için belgelerime girerek Gta San Andreas User Files > SAMP > savedpositions.txt yolunu izleyerek metin belgemizi açıyoruz. En son satırdaki koordinatlar son kaydettiğimiz koordinatlar olacaktır. Fakat bu kodlar çok karışıktır. Onun için sizin koordinat olarak alacağınız kısım aşağıda kırmızı ile gösterilmiş kısımdır. Turuncu kısım ise oyuncunun yönünü belirlemeye yarar.

AddPlayerClass(0, 343.5225, 7753.341, 66.8878, 1000.3445, 0, 0, 0, 0, 0, 0);

Örnek olarak bir ışınlanma komutu elde etmiş olacaksak:

SetPlayerPos(playerid, 343.5225, 7753.341, 66.8878);

Kısa Yöntem:

Bu yöntem ise en kısa şekilde oyun içerisinden /koordinat komutları ile direkt önümüze çıkartabileceğimiz yöntem oluyor. Ne ayırmamız gereken kısım var, ne de başka bir şey var. Direkt koordinatları veriyor.

if(!strcmp(cmdtext,"/koordinat",true))
{
new Float:X, Float:Y, Float:Z, string[128];
GetPlayerPos(playerid, X, Y, Z);
format(string,sizeof(string), "Koordinatlar:  %f, %f, %f",X, Y, Z);
SendClientMessage(playerid, 0xFA9A34FF, string);
return 1;
}


Yukarıdaki komutu OnPlayerCommandText bölümüne atarsanız oyun içerisinde /koordinat yazdığınızda sohbet kısmında koordinatlar karşınıza gelecektir.

Eğer ZCMD kullanıyorsanız aşağıdaki komutu kullanabilirsiniz.

CMD:koordinat(playerid, params[])
{
new Float:X, Float:Y, Float:Z, string[128];
GetPlayerPos(playerid, X, Y, Z);
format(string,sizeof(string), "Koordinatlar:  %f, %f, %f",X, Y, Z);
SendClientMessage(playerid, 0xFA9A34FF, string);
return 1;
}

Yorum Gönder

0 Yorumlar