GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi

Kişiye özel komut yapmak

Başlatan cngznNN, 22 Ağustos 2017, 21:48:26

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

cngznNN

Merhabalar, bu konunun aynısından bulunduğunu biliyorum fakat ben daha detaylı ve daha güzel anlatacağımı düşündüğüm için bu konuyu açma gereğini duydum umarım işinize yarar...


Arkadaşlar ilk önce bir değer belirlememiz gerekiyor. bizim değerimiz bu olsun..

PAWN Kodu: Seç
new Admin[MAX_PLAYERS];

NOT: yukarıdaki admin kısmını istediğiniz gibi değiştirebilirsiniz. MAX_PLAYERS kısmı ise server açıldığı zaman player limiti vardırya hani bu komutun değerini o kadar kullanmanıza işe yarar örneğin: Admin[playerid] = 999;
Fakat bu değer player limitini geçerse hata verir.

şimdi oyuncu girdiğinde bu değerin resetlenmesini istiyorsanız OnPlayerConnect'e

PAWN Kodu: Seç
Admin[playerid] = -1;

kayıtlı olmasını istiyorsanız yorumda belirtin tekrardan mysqlli ve dinili halini anlatırım.

gelelim bu değeri komuta özel yapmaya..

Ben zcmd anlatıcam istek gelirse OnPlayerCommandText'li halinide koyarım.

PAWN Kodu: Seç
CMD:/arepair(playerid, params[])
{
  if(Admin[playerid] == -1)
  return SendClientMessage(playerid, -1, "Bu komutu kullanabilmek için yetkili değilsiniz!");

  if(!IsPlayerInAnyVehicle(playerid))
  return SendClientMessage(playerid, -1, "Bu komutu kullanabilmek için araçta olmalısınız!);

  RepairVehicle(GetPlayerVehicleID(playerid));
  SendClientMessage(playerid, -1, "İçinde bulunduğunuz araç tamir edildi!);

  return 1;
}


Şimdiden kodlardan hata varsa özür dilerim altta belirtirseniz hemen düzeltirim, sağlıcakla kalın!

Developer
Ücretli script.

Bliss

Admin == -1 yerine 0 daha sağlıklı olabilir. Fakat güzel anlatım.


cngznNN

Alıntı yapılan: lostmode - 22 Ağustos 2017, 23:08:08

Admin == -1 yerine 0 daha sağlıklı olabilir. Fakat güzel anlatım.


Ben genellikle bütün functionlarımda ve değerlerimde varsayılanı -1 olarak atıyorum, alışkanlık  :D :D

Developer
Ücretli script.

Backup

Alıntı yapılan: lostmode - 22 Ağustos 2017, 23:08:08

Admin == -1 yerine 0 daha sağlıklı olabilir. Fakat güzel anlatım.

integrer değerler için tamsayı olması yeterli isterse -999999 yapsın değişen bir şey yok.


Bliss

Alıntı yapılan: _Backup - 22 Ağustos 2017, 23:17:33

Alıntı yapılan: lostmode - 22 Ağustos 2017, 23:08:08

Admin == -1 yerine 0 daha sağlıklı olabilir. Fakat güzel anlatım.

integrer değerler için tamsayı olması yeterli isterse -999999 yapsın değişen bir şey yok.


Bende 0 alışkanlık daha sağlıklı gibi geliyor.


cngznNN

Arkadaşlar şimdi şöyle bir durum var adam diyelimki 0'ı varsayılan yapmak istemiyor 0'ıda ayrıca bir level yapmak istiyor bunlar önemli işte o yüzden -1  :evet:

Developer
Ücretli script.

Lé Spîke

Umarım birisinin işine yarar  :helal:

         

cngznNN

Alıntı yapılan: DeliOqlan - 22 Ağustos 2017, 23:31:53

Umarım birisinin işine yarar  :helal:


Umarım indirmeye bıraktım visual studio pawnoyuda anlatıcam.

Developer
Ücretli script.

FrankTR

Alıntı yapılan: RPawn - 22 Ağustos 2017, 21:48:26


şimdi oyuncu girdiğinde bu değerin resetlenmesini istiyorsanız OnPlayerConnect'e

PAWN Kodu: Seç
Admin[playerid] = -1;



Bu şekilde sunucuya giren (adminler dahil) herkesi kapsar? Herhangi bir ayrım göremedim?







cngznNN

Alıntı yapılan: FrankTR - 23 Ağustos 2017, 15:20:53

Alıntı yapılan: RPawn - 22 Ağustos 2017, 21:48:26


şimdi oyuncu girdiğinde bu değerin resetlenmesini istiyorsanız OnPlayerConnect'e

PAWN Kodu: Seç
Admin[playerid] = -1;



Bu şekilde sunucuya giren (adminler dahil) herkesi kapsar? Herhangi bir ayrım göremedim?


Yanlış anlamışsınız herkezi admin yapmaz bu değeri kullanacağız şekile bağlı varsayılan değer olarak kastettim orda iyi okuyun lütfen.

Developer
Ücretli script.

Kronos

Sıkıntılı bir şey gibi duruyor.


FrankTR

Alıntı yapılan: RPawn - 23 Ağustos 2017, 21:17:52

Alıntı yapılan: FrankTR - 23 Ağustos 2017, 15:20:53

Alıntı yapılan: RPawn - 22 Ağustos 2017, 21:48:26


şimdi oyuncu girdiğinde bu değerin resetlenmesini istiyorsanız OnPlayerConnect'e

PAWN Kodu: Seç
Admin[playerid] = -1;



Bu şekilde sunucuya giren (adminler dahil) herkesi kapsar? Herhangi bir ayrım göremedim?


Yanlış anlamışsınız herkezi admin yapmaz bu değeri kullanacağız şekile bağlı varsayılan değer olarak kastettim orda iyi okuyun lütfen.



Ben herkesi admin yapar demedim ki asıl siz iyi okuyun!

Bu sunucuya giren herkes için admin değerini (-1) yapar. Dolayısıyla senin komutunun özel yanı kalmaz, herkesin varsayılan değeri (-1) olacağından herkes bu komuttan


PAWN Kodu: Seç

Bu komutu kullanabilmek için yetkili değilsiniz!


mesajını alacaktır. Bunu anlatmaya çalışıyorum.
Son düzenlenme: 24 Ağustos 2017, 14:50:03 FrankTR






Jawié

Alıntı yapılan: FrankTR - 24 Ağustos 2017, 12:02:55
Yanlış anlamışsınız herkezi admin yapmaz bu değeri kullanacağız şekile bağlı varsayılan değer olarak kastettim orda iyi okuyun lütfen.

Ben herkesi admin yapar demedim ki asıl siz iyi okuyun!

Bu sunucuya giren herkes için admin değerini (-1) yapar. Dolayısıyla senin komutunun özel yanı kalmaz, herkesin varsayılan değeri (-1) olacağından herkes bu komuttan

PAWN Kodu: Seç

Bu komutu kullanabilmek için yetkili değilsiniz!


mesajını alacaktır. Bunu anlatmaya çalışıyorum.


Değeri -1 olan herkes bu komutu kullanamaz. Farkındaysan örnek olarak vermiş.

if(Admin[playerid] == -1) return SendClientMessage(playerid, -1, "Bu komutu kullanabilmek için yetkili değilsiniz!");

Bir komut oluşturur ve bu komutla istediği kişinin değişken değerini 0 veya 1 yapar, -1 dışında herhangi bir sayı yani.

Fakat bunu yapacağına nicke özel yapsın daha iyi. Değişken kullanmak anlamsız burada.


FrankTR

Alıntı yapılan: Jawié - 27 Ağustos 2017, 12:26:44

Alıntı yapılan: FrankTR - 24 Ağustos 2017, 12:02:55
Yanlış anlamışsınız herkezi admin yapmaz bu değeri kullanacağız şekile bağlı varsayılan değer olarak kastettim orda iyi okuyun lütfen.

Ben herkesi admin yapar demedim ki asıl siz iyi okuyun!

Bu sunucuya giren herkes için admin değerini (-1) yapar. Dolayısıyla senin komutunun özel yanı kalmaz, herkesin varsayılan değeri (-1) olacağından herkes bu komuttan

PAWN Kodu: Seç

Bu komutu kullanabilmek için yetkili değilsiniz!


mesajını alacaktır. Bunu anlatmaya çalışıyorum.


Değeri -1 olan herkes bu komutu kullanamaz. Farkındaysan örnek olarak vermiş.

if(Admin[playerid] == -1) return SendClientMessage(playerid, -1, "Bu komutu kullanabilmek için yetkili değilsiniz!");

Bir komut oluşturur ve bu komutla istediği kişinin değişken değerini 0 veya 1 yapar, -1 dışında herhangi bir sayı yani.

Fakat bunu yapacağına nicke özel yapsın daha iyi. Değişken kullanmak anlamsız burada.



Ben de o komutun oluşturulması gerektiğini anlatmaya çalışıyorum. Bu haliyle eksik kalacaktır.

Nicke özel yaparken Enum mu kullanmak gerekir? Merak ettiğimden soruyorum
Son düzenlenme: 27 Ağustos 2017, 12:34:21 FrankTR






Jawié

Alıntı yapılan: FrankTR - 27 Ağustos 2017, 12:32:45
Ben de o komutun oluşturulması gerektiğini anlatmaya çalışıyorum. Bu haliyle eksik kalacaktır.

Nicke özel yaparken Enum mu kullanmak gerekir? Merak ettiğimden soruyorum


Hayır gerekmiyor. Enumun görevi farklı. (https://wiki.sa-mp.com/wiki/Keywords:Initialisers#enum)