GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi
18 Kasım 2025, 10:48:37

Zar oyunu

Başlatan Alimşah, 03 Mart 2017, 16:58:51

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Alimşah

2011 yılında yazdığım oyuncular arasında oynanan zevkli bir zar oyunu. :)

PAWN Kodu: Seç

/*

Zar atma sistemi - (Alimsah Yildirim)


Kurallar:
-----------

* Oyun 2 kişi ile oynanmaktadir.En küçük zari atan oyuncu, en büyük sayiyi atan oyuncuya para vermek zorundadir.
* Para miktari iki oyuncu arasinda kararlaştirilir.Her oyuncu sadece bir kere zar atabilirler.

iyi eglenceler :)

*/

#include <a_samp>

#define Kirmizi 0xFF0000FF
#define Yesil   0x00FF00FF
#define Mor     0x9C00D4FF

new Sayilar[][99] =
{
1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36 ,37 ,38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99
};

public OnFilterScriptInit()
{
printf("*********************************************");
printf("* Zar Oyun Sistemi: (Alimşah Yildirim)*");
printf("*********************************************");
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/zar", true) == 0)
{
    new OyuncuIsmi[MAX_PLAYER_NAME], // Zari atan oyuncunun ismi
        Float:OyuncuX, // Oyun gereği sadece oyuncunun çevresinde bulunan oyuncular atilan zari görebilirler.
        Float:OyuncuY,
        Float:OyuncuZ,
        alan = 10, // Alan ne kadar arttirilsa, atilan zari oyuncunun yakininda bulunan oyuncularin görmesi o kadar artar.
        atilanZar[150],
        sayigonder = random(sizeof(Sayilar)) // 99 sayi arasindan rastgele bir sayi seçer ve gönderir.
       
;
GetPlayerName(playerid, OyuncuIsmi,sizeof(OyuncuIsmi));
GetPlayerPos(playerid, OyuncuX, OyuncuY, OyuncuZ);
for(new oyuncular; oyuncular<MAX_PLAYERS; oyuncular++) // Sunucudaki tüm oyuncular için geçerli...
{
    if(IsPlayerConnected(oyuncular))
    {
        if(IsPlayerInRangeOfPoint(oyuncular, alan, OyuncuX, OyuncuY, OyuncuZ)) // sadece oyuncunun çevresinde bulunanlar atilan zari görebilirler.
        {
            format(atilanZar,sizeof(atilanZar), "** %s - *[%s] Atilan Zar: %d",OyuncuIsmi, OyuncuIsmi, Sayilar[sayigonder][0]);
            SendClientMessage(oyuncular, Mor, atilanZar);
}
}
}
return 1;
}
// Eğer sunucunuzda para gönderme komutu yoksa, yazdiğim komutu kullanabilirsiniz.
if(strcmp(cmdtext, "/paraver", true) == 0)
{
    new OyuncuIsmi[MAX_PLAYER_NAME],
        GonderilenIsim[MAX_PLAYER_NAME],
        oyuncuID[128],
gonderilen_para[200],
mesaj[200],
mesaj2[200],
sayi
;
GetPlayerName(playerid, OyuncuIsmi,sizeof(OyuncuIsmi));
oyuncuID = strtok(cmdtext, sayi);
gonderilen_para = strtok(cmdtext, sayi);
new oyuncu = strval(oyuncuID),
    para = strval(gonderilen_para),
    _para = GetPlayerMoney(playerid)
;
if(!strlen(gonderilen_para)) return SendClientMessage(playerid, Kirmizi, "<(Kullanim)>: /paraver [Oyuncu ID] [Para Miktari]");
if(!strlen(oyuncuID)) return SendClientMessage(playerid, Kirmizi, "<(Kullanim)>: /paraver [Oyuncu ID] [Para Miktari]");
if(_para < para) return SendClientMessage(playerid, Kirmizi, "<!> Paraniz yetersiz.Cebinizde daha az para var");
if(IsPlayerConnected(oyuncu))
{
    GetPlayerName(oyuncu, GonderilenIsim,sizeof(GonderilenIsim));
    format(mesaj,sizeof(mesaj), "<(Bilgi)>: Oyuncu %s(ID: %d) ye %d$ para gönderdiniz.", GonderilenIsim, oyuncu, para);
    SendClientMessage(playerid, Yesil, mesaj);
format(mesaj2,sizeof(mesaj2), "<(Bilgi)>: Oyuncu %s(ID: %d) size %d$ para gönderdi.", OyuncuIsmi, playerid, para);
SendClientMessage(oyuncu, Yesil, mesaj2);
GivePlayerMoney(oyuncu, para);
}
else return SendClientMessage(playerid, Kirmizi, "<!> Oyuncu bulunamadi!");
{
}
return 1;
}
    return 0;
}

strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <=    ))
{
index++;
}

new offset = index;
new result[20];
while ((index < length) && (string[index] >    ) && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
Son düzenlenme: 03 Mart 2017, 17:01:46 Hwang
Senior Software Engineer

Quintel

Etkileyici bir sistem, paylaşımlarının devamını bekliyoruz.


trabzon

Eline sağlık başarılar.


Xaviere


FalafelÇorba