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..
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
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.
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!
Admin == -1 yerine 0 daha sağlıklı olabilir. Fakat güzel anlatım.
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
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.
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.
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:
Umarım birisinin işine yarar :helal:
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.
Alıntı yapılan: RPawn - 22 Ağustos 2017, 21:48:26
şimdi oyuncu girdiğinde bu değerin resetlenmesini istiyorsanız OnPlayerConnect'e
Admin[playerid] = -1;
Bu şekilde sunucuya giren (adminler dahil) herkesi kapsar? Herhangi bir ayrım göremedim?
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
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.
Sıkıntılı bir şey gibi duruyor.
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
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
Bu komutu kullanabilmek için yetkili değilsiniz!
mesajını alacaktır. Bunu anlatmaya çalışıyorum.
Alıntı yapılan: FrankTR - 24 Ağustos 2017, 12:02:55Yanlış 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
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.
Alıntı yapılan: Jawié - 27 Ağustos 2017, 12:26:44
Alıntı yapılan: FrankTR - 24 Ağustos 2017, 12:02:55Yanlış 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
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
Alıntı yapılan: FrankTR - 27 Ağustos 2017, 12:32:45Ben 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ı. (http://wiki.sa-mp.com/wiki/Keywords:Initialisers#enum)
Alıntı yapılan: Jawié - 27 Ağustos 2017, 12:48:51
Alıntı yapılan: FrankTR - 27 Ağustos 2017, 12:32:45Ben 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ı. (http://wiki.sa-mp.com/wiki/Keywords:Initialisers#enum)
Nicke özel nasıl yapılır? Anlatır mısın
Alıntı yapılan: DeliOqlan - 28 Ağustos 2017, 00:27:42
Alıntı yapılan: Jawié - 27 Ağustos 2017, 12:48:51
Alıntı yapılan: FrankTR - 27 Ağustos 2017, 12:32:45Ben 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ı. (http://wiki.sa-mp.com/wiki/Keywords:Initialisers#enum)
Nicke özel nasıl yapılır? Anlatır mısın
Komuta ekle şunu
new name[24];
GetPlayerName(playerid,name,24);
if(!strcmp(name,"Nicki yaz buraya",true)) return SendClientMessage(playerid,-1,"Hebele hübele");
Yararlı.
dini halini anlatırmısın lütfen
Alıntı yapılan: Lé Spîke - 28 Ağustos 2017, 00:27:42Alıntı yapılan: Jawié - 27 Ağustos 2017, 12:48:51Alıntı yapılan: FrankTR - 27 Ağustos 2017, 12:32:45Ben 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ı. (http://wiki.sa-mp.com/wiki/Keywords:Initialisers#enum)
Nicke özel nasıl yapılır? Anlatır mısın
stock ReturnName(playerid)
{
new oyuncuName[MAX_PLAYER_NAME];
GetPlayerName(playerid, oyuncuName, MAX_PLAYER_NAME);
return oyuncuName;
}
CMD:kisiyeozel(playerid, params[])
{
new ismin[24];
if(sscanf(params, "s", ismin)) return SendClientMessage(playerid, -1, "Kullanım: /kisiyeozel [ismin]");
new isim2[24];
foreach(new i: Player)
{
format(isim2, sizeof(isim2), "%s", ReturnName(i));
if(isequal(ismin, isim2)) return SendClientMessage(playerid, -1, "Selam nasılsın?");
}
return 1;
}
foreach ve isequal kullanılarak yapılabilir sanki