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

forward vs stock

Başlatan cyberkid, 01 Temmuz 2017, 20:31:44

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

cyberkid

PAWN Kodu: Seç
forward uyari(oyuncuid, str[]);
public uyari(oyuncuid, str[])
{
    new string[256];
    format(string, sizeof(sunucu),"{A9C4E4}-!- {FFFFFF}%s", str);
    SendClientMessage(oyuncuid, -1, string);
    return 1;
}

PAWN Kodu: Seç

stock uyari(oyuncuid, str[])
{
    new string[256];
    format(string, sizeof(sunucu),"{A9C4E4}-!- {FFFFFF}%s", str);
    SendClientMessage(oyuncuid, -1, string);
    return 1;
}


Aradaki fark ne olur? Hız yada verimli çalışması mı? Bilen aydınlatsın  :allaalla:


NexoR

Yanlış bilmiyorsam forward biraz daha hızlı çalışıyor. Ayrıca timerler için kullanılıyor.
Stockları da istediğin yerde kullanabiliyorsun.


Backup

publicler sürekli hafızada kaldığı için hızlı çalışır ve timerlerde kullanılır. Önemli bir function kullanmıyorsanız stock kullanmanızı öneririm ön belleği doldurmaya gerek yok. Stocklar ise basit kullanımlar için vardır diyebiliriz , timerlerde kullanılmaz ve sürekli hafızada kalmaz bu yüzden ön belleği pek etkilemez.


cyberkid

PAWN Kodu: Seç
stock Olusumrutbe(oyuncuid, rutbe)
{
if(!(KBilgi[oyuncuid][ORutbe] >= rutbe)){SendClientMessage(playerid, C_RED, "Komut için rütbeniz yetmiyor!");}
}

CMD:odavetet(playerid, params[])
{
new davetid, string[170], strdavet[256];
if(sscanf(params, "us[100]", davetid)) return SendClientMessage(playerid, C_GREEN, "-KULLANIM-: /odavetet -ID- ");
Olusumrutbe(playerid, 5);
if(!IsPlayerConnected(davetid)) return SendClientMessage(playerid, C_RED, "Hatalı ID!");
if(KBilgi[davetid][Olusum] == 1) return SendClientMessage(playerid, C_RED, "Bu kişi oluşumda!");
format(strdavet, sizeof(strdavet), "%s adlı kişi seni Polis oluşumuna davet ediyor, kabul etmek için /tamam yaz.", GetN(playerid));
SendClientMessage(davetid, C_WHITE, strdavet);
Kbilgi[davetid][Olusumdavet] = 1;
format(strdavet, sizeof(strdavet), "Oluşuma yeni üye katıldı! [Katılan: %s] [Davet Eden: %s]", GetN(playerid), GetN(davetid));
Olusummesaj(strdavet);
return 1;
}


bu şekilde neden çalışmıyor? diğer türlü kullanabilirim ama bu kolayıma geliyor.
edit > rütbesi 5 olmasa bile davet ediyor?


Excision

Alıntı yapılan: cyberkid - 02 Temmuz 2017, 18:53:28

PAWN Kodu: Seç
stock Olusumrutbe(oyuncuid, rutbe)
{
if(!(KBilgi[oyuncuid][ORutbe] >= rutbe)){SendClientMessage(playerid, C_RED, "Komut için rütbeniz yetmiyor!");}
}

CMD:odavetet(playerid, params[])
{
new davetid, string[170], strdavet[256];
if(sscanf(params, "us[100]", davetid)) return SendClientMessage(playerid, C_GREEN, "-KULLANIM-: /odavetet -ID- ");
Olusumrutbe(playerid, 5);
if(!IsPlayerConnected(davetid)) return SendClientMessage(playerid, C_RED, "Hatalı ID!");
if(KBilgi[davetid][Olusum] == 1) return SendClientMessage(playerid, C_RED, "Bu kişi oluşumda!");
format(strdavet, sizeof(strdavet), "%s adlı kişi seni Polis oluşumuna davet ediyor, kabul etmek için /tamam yaz.", GetN(playerid));
SendClientMessage(davetid, C_WHITE, strdavet);
Kbilgi[davetid][Olusumdavet] = 1;
format(strdavet, sizeof(strdavet), "Oluşuma yeni üye katıldı! [Katılan: %s] [Davet Eden: %s]", GetN(playerid), GetN(davetid));
Olusummesaj(strdavet);
return 1;
}


bu şekilde neden çalışmıyor? diğer türlü kullanabilirim ama bu kolayıma geliyor.
edit > rütbesi 5 olmasa bile davet ediyor?

stock Olusumrutbe(oyuncuid, rutbe)
{
if(!(KBilgi[oyuncuid][ORutbe] >= rutbe)) return SendClientMessage(playerid, C_RED, "Komut için rütbeniz yetmiyor!");
}


Böyle dener misiniz ?


cyberkid


NexoR

stock Olusumrutbe(oyuncuid, rutbe)
{
if(KBilgi[oyuncuid][ORutbe] < rutbe) return SendClientMessage(playerid, C_RED, "Komut için rütbeniz yetmiyor!");
}

CMD:odavetet(playerid, params[])
{
new davetid, string[170], strdavet[256];
if(sscanf(params, "us[100]", davetid)) return SendClientMessage(playerid, C_GREEN, "-KULLANIM-: /odavetet -ID- ");
if(Olusumrutbe(playerid, 5)) return 1;
if(!IsPlayerConnected(davetid)) return SendClientMessage(playerid, C_RED, "Hatalı ID!");
if(KBilgi[davetid][Olusum] == 1) return SendClientMessage(playerid, C_RED, "Bu kişi oluşumda!");
format(strdavet, sizeof(strdavet), "%s adlı kişi seni Polis oluşumuna davet ediyor, kabul etmek için /tamam yaz.", GetN(playerid));
SendClientMessage(davetid, C_WHITE, strdavet);
Kbilgi[davetid][Olusumdavet] = 1;
format(strdavet, sizeof(strdavet), "Oluşuma yeni üye katıldı! [Katılan: %s] [Davet Eden: %s]", GetN(playerid), GetN(davetid));
Olusummesaj(strdavet);
return 1;
}


cyberkid

if ile yapabiliyorum zaten alternatif olarak bir şeyler aramıştım teşekkürler yinede NexoR.