GTAMulti - GTA Türkiye

San Andreas Multiplayer => Yardım Talepleri => PAWN Kodlama => Kilitli Konular => Konuyu başlatan: haylazadam - 28 Mayıs 2017, 12:25:31

Başlık: If şartının doğru çalışmaması
Gönderen: haylazadam - 28 Mayıs 2017, 12:25:31
Selam arkadaslar bir sart baglamam gerekiyo ama if dogru calismiyor dogru mantik yuruttugumden eminim ama bir turlu calismiyor. yaptigim kod ayni asagidaki gibi

PAWN Kodu: Seç
if(degisken[playerid] < 3) return SendClientMessage(playerid, ...);


Burada degisken 3ten dusukte olacaklari returnla belirttim. return olmayinca su yolu denedim.

PAWN Kodu: Seç
if(degisken[playerid] >= 3)
{
olaylar
}
else
{
hata
}


ama buda olmadi bir yerde hata falanmi yaptim

buna sebep olan nedir sizce
Başlık: Ynt: If şartının doğru çalışmaması
Gönderen: Hwang - 28 Mayıs 2017, 12:46:09
PAWN Kodu: Seç

if(degisken[playerid] < 3)
{
//üçten düşükse olacaklar
}
else
{
//değilse olacaklar
}
Başlık: Ynt: If şartının doğru çalışmaması
Gönderen: haylazadam - 28 Mayıs 2017, 12:51:27
Alıntı yapılan: Hwang - 28 Mayıs 2017, 12:46:09

PAWN Kodu: Seç

if(degisken[playerid] < 3)
{
//üçten düşükse olacaklar
}
else
{
//değilse olacaklar
}



benim burada yapmak istedigim su:

PAWN Kodu: Seç
if(degisken[playerid] >= 3)
üç ve yukarısındaysa olacaklar yani örneğin bir admin komutu yapiyoruz burada komut islemleri
}
else
{
verilecek hata
}


bu yaptığım kodun neresi yanlis teknik olarak ikiside ayni kapiya cikiyor ayrica neden return ile calismadigini da anlamis degilim admin komutu haricinde dogal bir sekilde calisiyor
Başlık: Ynt: If şartının doğru çalışmaması
Gönderen: Hwang - 28 Mayıs 2017, 12:54:58
Alıntı yapılan: haylazadam - 28 Mayıs 2017, 12:48:17

Alıntı yapılan: Hwang - 28 Mayıs 2017, 12:46:09

PAWN Kodu: Seç

if(degisken[playerid] < 3)
{
//üçten düşükse olacaklar
}
else
{
//değilse olacaklar
}



benim burada yapmak istedigim su:

PAWN Kodu: Seç
if(degisken[playerid] >= 3)
üç ve yukarısındaysa olacaklar yani örneğin bir admin komutu yapiyoruz burada komut islemleri
}
else
{
verilecek hata
}


bu yaptığım kodun neresi yanlis


Yukarıda gönderdiğin kodda 3 ve üstü değere sahipse olacakları ayarlamışsın yazdığın gibi. Bir hata yok.

Böyle kullanmak yerine ilk gönderdiğin kod gibi
PAWN Kodu: Seç
if(degisken[playerid] < 3) return SendClientMessage(playerid, -1, "Admin leveliniz 3 olmali!");

olarak kullanman daha mantıklı. Return verdirdiğin için zaten komut 3'ün altındakilere çalışmaz. Bu değişkenin 3 ve üstü değere sahip olan oyuncular kullanabilir.

Return'u komutun en altına ekle, yani:
PAWN Kodu: Seç

CMD:komut(playerid)
{
if(degisken[playerid] < 3) return SendClientMessage(playerid, -1, "Admin leveliniz 3 olmali!");
//3 levelse calisacak fonksiyonlar
return true;
}


Öbür türlü de
PAWN Kodu: Seç

CMD:komut(playerid)
{
if(degisken[playerid] >= 3)
{
//üç level ve üstüyse çalışacak fonksiyonlar
}
else
{
//değilse verilecek hata
SendClientMessage(playerid, -1, "3 level olmalisiniz!");
}
return true;
}
Başlık: Ynt: If şartının doğru çalışmaması
Gönderen: haylazadam - 28 Mayıs 2017, 12:58:58
Alıntı yapılan: Hwang - 28 Mayıs 2017, 12:54:58

Alıntı yapılan: haylazadam - 28 Mayıs 2017, 12:48:17

Alıntı yapılan: Hwang - 28 Mayıs 2017, 12:46:09

PAWN Kodu: Seç

if(degisken[playerid] < 3)
{
//üçten düşükse olacaklar
}
else
{
//değilse olacaklar
}



benim burada yapmak istedigim su:

PAWN Kodu: Seç
if(degisken[playerid] >= 3)
üç ve yukarısındaysa olacaklar yani örneğin bir admin komutu yapiyoruz burada komut islemleri
}
else
{
verilecek hata
}


bu yaptığım kodun neresi yanlis


Yukarıda gönderdiğin kodda 3 ve üstü değere sahipse olacakları ayarlamışsın yazdığın gibi. Bir hata yok.

Böyle kullanmak yerine ilk gönderdiğin kod gibi
PAWN Kodu: Seç
if(degisken[playerid] < 3) return SendClientMessage(playerid, -1, "Admin leveliniz 3 olmali!");

olarak kullanman daha mantıklı. Return verdirdiğin için zaten komut 3'ün altındakilere çalışmaz. Bu değişkenin 3 ve üstü değere sahip olan oyuncular kullanabilir.

Return'u komutun en altına ekle, yani:
PAWN Kodu: Seç

CMD:komut(playerid)
{
if(degisken[playerid] < 3) return SendClientMessage(playerid, -1, "Admin leveliniz 3 olmali!");
//3 levelse calisacak fonksiyonlar
return true;
}


Öbür türlü de
PAWN Kodu: Seç

CMD:komut(playerid)
{
if(degisken[playerid] >= 3)
{
//üç level ve üstüyse çalışacak fonksiyonlar
}
else
{
//değilse verilecek hata
SendClientMessage(playerid, -1, "3 level olmalisiniz!");
}
return true;
}



fakat bende bu dogal olarak calismiyor. setlevel komutuna bakalim ornegin

PAWN Kodu: Seç
if(!IsPlayerAdmin(ıd) || Degisken < 5) return Hatamesaji...

burada rcon olmama ragmen hata ile karsilasiyorum
Başlık: Ynt: If şartının doğru çalışmaması
Gönderen: Hwang - 28 Mayıs 2017, 13:05:19
Alıntı yapılan: haylazadam - 28 Mayıs 2017, 12:58:58

Alıntı yapılan: Hwang - 28 Mayıs 2017, 12:54:58

Alıntı yapılan: haylazadam - 28 Mayıs 2017, 12:48:17

Alıntı yapılan: Hwang - 28 Mayıs 2017, 12:46:09

PAWN Kodu: Seç

if(degisken[playerid] < 3)
{
//üçten düşükse olacaklar
}
else
{
//değilse olacaklar
}



benim burada yapmak istedigim su:

PAWN Kodu: Seç
if(degisken[playerid] >= 3)
üç ve yukarısındaysa olacaklar yani örneğin bir admin komutu yapiyoruz burada komut islemleri
}
else
{
verilecek hata
}


bu yaptığım kodun neresi yanlis


Yukarıda gönderdiğin kodda 3 ve üstü değere sahipse olacakları ayarlamışsın yazdığın gibi. Bir hata yok.

Böyle kullanmak yerine ilk gönderdiğin kod gibi
PAWN Kodu: Seç
if(degisken[playerid] < 3) return SendClientMessage(playerid, -1, "Admin leveliniz 3 olmali!");

olarak kullanman daha mantıklı. Return verdirdiğin için zaten komut 3'ün altındakilere çalışmaz. Bu değişkenin 3 ve üstü değere sahip olan oyuncular kullanabilir.

Return'u komutun en altına ekle, yani:
PAWN Kodu: Seç

CMD:komut(playerid)
{
if(degisken[playerid] < 3) return SendClientMessage(playerid, -1, "Admin leveliniz 3 olmali!");
//3 levelse calisacak fonksiyonlar
return true;
}


Öbür türlü de
PAWN Kodu: Seç

CMD:komut(playerid)
{
if(degisken[playerid] >= 3)
{
//üç level ve üstüyse çalışacak fonksiyonlar
}
else
{
//değilse verilecek hata
SendClientMessage(playerid, -1, "3 level olmalisiniz!");
}
return true;
}



fakat bende bu dogal olarak calismiyor. setlevel komutuna bakalim ornegin

PAWN Kodu: Seç
if(!IsPlayerAdmin(ıd) || Degisken < 5) return Hatamesaji...

burada rcon olmama ragmen hata ile karsilasiyorum


Şu şekilde kullan:
PAWN Kodu: Seç

if(Degisken < 5 && !IsPlayerAdmin(id)) return SendClientMessage(playerid, -1, "5 level veya rcon degilsin!");
Başlık: Ynt: If şartının doğru çalışmaması
Gönderen: haylazadam - 28 Mayıs 2017, 13:07:48
Alıntı yapılan: Hwang - 28 Mayıs 2017, 13:05:19
Şu şekilde kullan:
PAWN Kodu: Seç

if(Degisken < 5 && !IsPlayerAdmin(id)) return SendClientMessage(playerid, -1, "5 level veya rcon degilsin!");



ama burada 5 levelden kucukse ve rcon admin degilse diye sart girilmemismi? yani 5 level olmadigim icin rcon olsamda fayda etmez?
Başlık: Ynt: If şartının doğru çalışmaması
Gönderen: Hwang - 28 Mayıs 2017, 13:10:35
Alıntı yapılan: haylazadam - 28 Mayıs 2017, 13:07:48

Alıntı yapılan: Hwang - 28 Mayıs 2017, 13:05:19
Şu şekilde kullan:
PAWN Kodu: Seç

if(Degisken < 5 && !IsPlayerAdmin(id)) return SendClientMessage(playerid, -1, "5 level veya rcon degilsin!");



ama burada 5 levelden kucukse ve rcon admin degilse diye sart girilmemismi? yani 5 level olmadigim icin rcon olsamda fayda etmez?


Hayır sen tam tersini kullanmışsın. :)
Başlık: Ynt: If şartının doğru çalışmaması
Gönderen: haylazadam - 28 Mayıs 2017, 13:12:08
Alıntı yapılan: Hwang - 28 Mayıs 2017, 13:10:35

Alıntı yapılan: haylazadam - 28 Mayıs 2017, 13:07:48

Alıntı yapılan: Hwang - 28 Mayıs 2017, 13:05:19
Şu şekilde kullan:
PAWN Kodu: Seç

if(Degisken < 5 && !IsPlayerAdmin(id)) return SendClientMessage(playerid, -1, "5 level veya rcon degilsin!");



ama burada 5 levelden kucukse ve rcon admin degilse diye sart girilmemismi? yani 5 level olmadigim icin rcon olsamda fayda etmez?


Hayır sen tam tersini kullanmışsın. :)


ups. yardimlarin icin tesekkurler suan oldu  :kahkaha: