GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi
18 Kasım 2025, 02:27:09

Kar System

Başlatan Ceto., 08 Nisan 2019, 23:10:01

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Ceto.

Merhaba arkadaşlar, ufak bir kar systemi tanıtacağım. Umarım işinizi görür  :helal:


Modun en başına ;
new kar kısmı; 0 değer yaptığınız zaman , sunucu açıldığında kar yagmıcaktır. 1 yaparsanız sunucu açıldı andan itibaren yagmaya başlıcaktır.

new karseviye kısmı; 1,2,3 seviye olmak üzere 3 çeşit kar tipi vardır. 1 sade, 2 normal, 3 yoğun olarak geçmektedir. Sunucu içerisinden komut yardımı ile ayarlayabilirsiniz. /karseviye
PAWN Kodu: Seç
new Kar = 1;
new KarSeviye = 2;

new Obje[MAX_PLAYERS][6];
new Silindi[MAX_PLAYERS];
new OyuncuTimer[MAX_PLAYERS];
new Girdi[MAX_PLAYERS];
forward KarGuncelle(playerid);


OnPlayerDisconnect kısmına ;
PAWN Kodu: Seç
if(Kar == 1)
{
DestroyPlayerObject(playerid,Obje[playerid][0]);
DestroyPlayerObject(playerid,Obje[playerid][1]);
DestroyPlayerObject(playerid,Obje[playerid][2]);
DestroyPlayerObject(playerid,Obje[playerid][3]);
DestroyPlayerObject(playerid,Obje[playerid][4]);
DestroyPlayerObject(playerid,Obje[playerid][5]);
Silindi[playerid] = 0;
KillTimer(OyuncuTimer[playerid]);
        return 1;
    }


OnPlayerSpawn kısmına ;
PAWN Kodu: Seç
if(Kar == 1)
    {
        OyuncuTimer[playerid] = SetTimerEx("KarGuncelle",500,true,"i",playerid);
        return 1;


OnPlayerCommandText kısmına ;
PAWN Kodu: Seç
new cmd[256];
new tmp[248],idx;
cmd = strtok(cmdtext, idx);
if(strcmp(cmd,"/kar",true) == 0)
{
    if(IsPlayerAdmin(playerid))
    {
if(Kar == 1)
{
    Kar = 0;
    SendClientMessageToAll(-1,"{638AB6}SİSTEM:{DCDCDC} Kar sistemi {AF0000}kapalı {DCDCDC}hale getirildi.");
    for(new pl; pl < MAX_PLAYERS; pl++)
    {
        DestroyPlayerObject(pl,Obje[playerid][0]);
        DestroyPlayerObject(pl,Obje[playerid][1]);
        DestroyPlayerObject(pl,Obje[playerid][2]);
        DestroyPlayerObject(pl,Obje[playerid][3]);
        DestroyPlayerObject(pl,Obje[playerid][4]);
        DestroyPlayerObject(pl,Obje[playerid][5]);
KillTimer(OyuncuTimer[pl]);
}
}
else
{
    Kar = 1;
    SendClientMessageToAll(-1,"{638AB6}SİSTEM:{DCDCDC} Kar sistemi {83C800}aktif {DCDCDC}hale getirildi.");
    for(new pl; pl < MAX_PLAYERS; pl++)
    {
            new Float:X,Float:Y,Float:Z;
            GetPlayerPos(pl,X,Y,Z);
            if(KarSeviye == 1)
            {
            Obje[pl][0] = CreatePlayerObject(pl,18864,X,Y,Z-15,0,0,-45,0);
            }
            if(KarSeviye == 2)
            {
            Obje[pl][0] = CreatePlayerObject(pl,18864,X,Y,Z-15,0,0,-45,0);
            Obje[pl][1] = CreatePlayerObject(pl,18864,X-3.5,Y-1.5,Z-15.5,0,0,45,0);
            }
            if(KarSeviye == 3)
            {
            Obje[pl][0] = CreatePlayerObject(pl,18864,X,Y,Z-15,0,0,-45,0);
            Obje[pl][1] = CreatePlayerObject(pl,18864,X-3.5,Y-2.5,Z-17,0,0,45,0);
            Obje[pl][2] = CreatePlayerObject(pl,18864,X-7,Y-5,Z-19,0,0,135,0);
            }
OyuncuTimer[pl] = SetTimerEx("KarGuncelle",500,true,"i",pl);
    }
}
return 1;
}
}

if(strcmp(cmd,"/karseviye",true) == 0)
{
    if(IsPlayerAdmin(playerid))
    {
        if(Kar == 0)
        {
            SendClientMessage(playerid,-1,"{F60000}HATA:{DCDCDC} Kar sistemi kapalı durumdayken seviye değişemezsiniz.");
            return 1;
        }
        else
        {
            tmp = strtok(cmdtext,idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid,-1,"{F60000}HATA:{DCDCDC} Geçerli bir seviye girin!");
                SendClientMessage(playerid,-1,"{DCDCDC}1: Ortalama altı - 2: Ortalama - 3: Ortalama Üstü");
                return 1;
            }
            else
            {
                new seviye; seviye = strval(tmp);
                if(seviye < 1 || seviye > 3) { SendClientMessage(playerid,-1,"{F60000}HATA:{DCDCDC} Geçerli bir kar seviyesi seçin."); SendClientMessage(playerid,-1,"{DCDCDC}1: Ortalama altı - 2: Ortalama - 3: Ortalama Üstü"); return 1; }
KarSeviye = seviye;
for(new pl; pl < MAX_PLAYERS; pl++)
{
        new Float:X,Float:Y,Float:Z;
        GetPlayerPos(pl,X,Y,Z);
DestroyPlayerObject(pl,Obje[playerid][0]);
DestroyPlayerObject(pl,Obje[playerid][1]);
        DestroyPlayerObject(pl,Obje[playerid][2]);
        DestroyPlayerObject(pl,Obje[playerid][3]);
        DestroyPlayerObject(pl,Obje[playerid][4]);
        DestroyPlayerObject(pl,Obje[playerid][5]);
        if(KarSeviye == 1)
          {
          Obje[pl][0] = CreatePlayerObject(pl,18864,X,Y,Z-15,0,0,-45,0);
            }
            if(KarSeviye == 2)
            {
          Obje[pl][0] = CreatePlayerObject(pl,18864,X,Y,Z-15,0,0,-45,0);
          Obje[pl][1] = CreatePlayerObject(pl,18864,X-3.5,Y-1.5,Z-15.5,0,0,45,0);
            }
            if(KarSeviye == 3)
            {
          Obje[pl][0] = CreatePlayerObject(pl,18864,X,Y,Z-15,0,0,-45,0);
          Obje[pl][1] = CreatePlayerObject(pl,18864,X-3.5,Y-1.5,Z-15.5,0,0,45,0);
          Obje[pl][2] = CreatePlayerObject(pl,18864,X-7,Y-3,Z-16,0,0,135,0);
            }
}
if(seviye == 1)
{
SendClientMessageToAll(-1,"{638AB6}SİSTEM:{DCDCDC} Kar sistemi seviyesi{83C800} ortalama altı {DCDCDC}seviyeye getirildi.");
}
else if(seviye == 2)
{
SendClientMessageToAll(-1,"{638AB6}SİSTEM:{DCDCDC} Kar sistemi seviyesi{83C800} ortalama {DCDCDC}seviyeye getirildi.");
}
else if(seviye == 3)
{
SendClientMessageToAll(-1,"{638AB6}SİSTEM:{DCDCDC} Kar sistemi seviyesi{83C800} ortalama üstü {DCDCDC}seviyeye getirildi.");


public kısmına oluşturun ;
PAWN Kodu: Seç
public KarGuncelle(playerid)
{
if(Kar)
{
    new Float:oX,Float:oY,Float:oZ;
    GetPlayerObjectPos(playerid, Obje[playerid][0], oX, oY, oZ);
new Float:X,Float:Y,Float:Z,in;
in = GetPlayerInterior(playerid);
GetPlayerPos(playerid,X,Y,Z);
if(Girdi[playerid] == 1 && in == 0)
{
    if(KarSeviye == 1)
    {
        Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
    Girdi[playerid] = 0;
    }
    if(KarSeviye == 2)
    {
    Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
    Obje[playerid][1] = CreatePlayerObject(playerid,18864,X-3.5,Y-2.5,Z-17.5,0,0,45,0);
    Girdi[playerid] = 0;
    }
    if(KarSeviye == 3)
    {
    Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
    Obje[playerid][1] = CreatePlayerObject(playerid,18864,X-3.5,Y-2.5,Z-17.5,0,0,45,0);
    Obje[playerid][2] = CreatePlayerObject(playerid,18864,X-7,Y+2.5,Z-19,0,0,135,0);
    Girdi[playerid] = 0;
    }
    return 1;
}
else if(in == 0 && Silindi[playerid] == 0 && !IsPlayerInRangeOfPoint(playerid, 6.5, oX, oY, oZ))
{
    if(KarSeviye == 1)
    {
        DestroyPlayerObject(playerid,Obje[playerid][1]);
    Obje[playerid][1] = Obje[playerid][0];
    Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
   
    }
    else if(KarSeviye == 2)
    {
        DestroyPlayerObject(playerid,Obje[playerid][2]);
        DestroyPlayerObject(playerid,Obje[playerid][3]);
    Obje[playerid][2] = Obje[playerid][0];
    Obje[playerid][3] = Obje[playerid][1];
    Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
    Obje[playerid][1] = CreatePlayerObject(playerid,18864,X-3.5,Y-2.5,Z-17.5,0,0,45,0);
    }
    else if(KarSeviye == 3)
    {
        DestroyPlayerObject(playerid,Obje[playerid][3]);
        DestroyPlayerObject(playerid,Obje[playerid][4]);
        DestroyPlayerObject(playerid,Obje[playerid][5]);
    Obje[playerid][3] = Obje[playerid][0];
    Obje[playerid][4] = Obje[playerid][1];
    Obje[playerid][5] = Obje[playerid][2];
    Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
    Obje[playerid][1] = CreatePlayerObject(playerid,18864,X-3.5,Y-2.5,Z-17.5,0,0,45,0);
    Obje[playerid][2] = CreatePlayerObject(playerid,18864,X-7,Y+2.5,Z-19,0,0,135,0);
    }
    return 1;
    }
    else if(in == 0 && Silindi[playerid] == 1)
    {
        if(KarSeviye == 1)
        {
        Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
        }
        if(KarSeviye == 2)
        {
        Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
        Obje[playerid][1] = CreatePlayerObject(playerid,18864,X-3.5,Y-2.5,Z-17.5,0,0,45,0);
        }
        if(KarSeviye == 3)
        {
        Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
        Obje[playerid][1] = CreatePlayerObject(playerid,18864,X-3.5,Y-2.5,Z-17.5,0,0,45,0);
        Obje[playerid][2] = CreatePlayerObject(playerid,18864,X-7,Y+2.5,Z-19,0,0,135,0);
        }
        Silindi[playerid] = 0;
        return 1;
    }
    else if(in != 0 && Silindi[playerid] == 0)
    {
    DestroyPlayerObject(playerid,Obje[playerid][0]);
    DestroyPlayerObject(playerid,Obje[playerid][1]);
    DestroyPlayerObject(playerid,Obje[playerid][2]);
    DestroyPlayerObject(playerid,Obje[playerid][3]);
    DestroyPlayerObject(playerid,Obje[playerid][4]);
    DestroyPlayerObject(playerid,Obje[playerid][5]);
Silindi[playerid] = 1;
return 1;
}
return 1;
}
else
{
    if(Obje[playerid][0])
    {
DestroyPlayerObject(playerid,Obje[playerid][0]);
    DestroyPlayerObject(playerid,Obje[playerid][1]);
    DestroyPlayerObject(playerid,Obje[playerid][2]);
    DestroyPlayerObject(playerid,Obje[playerid][3]);
    DestroyPlayerObject(playerid,Obje[playerid][4]);
    DestroyPlayerObject(playerid,Obje[playerid][5]);
Silindi[playerid] = 1;
}
}
return 1;
}

strtok(string[],&idx,seperator =    )
{
new ret[128], i = 0, len = strlen(string);
while(string[idx] == seperator && idx < len) idx++;
while(string[idx] != seperator && idx < len)
{
    ret[i] = string[idx];
    i++;
idx++;
}
while(string[idx] == seperator && idx < len) idx++;
return ret;
}
Son düzenlenme: 08 Nisan 2019, 23:11:42 Ceto.
M.Kemal ATATÜRK

Ceto.

Onplayerspawm kısmı eklendi.

M.Kemal ATATÜRK

Medcezir

Emeğine sağlık, Paylaşım için teşekkürler!  ;)


Submarine

Roleplay sunucuları için iyi olacağını düşünüyorum.Paylaşım için teşekkürler :helal:


Cengo

Eline,emeğine sağlık bunun  aynısını bir yerde gördüm de eline sağlık yinede aynı olmayabilir,onda tüm oyuncularda yağdırıyordu bundada öyle mi?


Ceto.

Alıntı yapılan: kerematayy - 09 Nisan 2019, 08:51:39

Roleplay sunucuları için iyi olacağını düşünüyorum.Paylaşım için teşekkürler :helal:



Teşekkür ederim, iyi kullanımlar.  :helal:


Alıntı yapılan: Medcezir - 08 Nisan 2019, 23:54:32

Emeğine sağlık, Paylaşım için teşekkürler!  ;)


Teşekkür ederim, iyi kullanımlar.  :helal:


Alıntı yapılan: Cengo - 09 Nisan 2019, 15:38:40

Eline,emeğine sağlık bunun  aynısını bir yerde gördüm de eline sağlık yinede aynı olmayabilir,onda tüm oyuncularda yağdırıyordu bundada öyle mi?


Teşekkür ederim, sadece /kar komutunu kullanan kişiye yağmaktadır.


M.Kemal ATATÜRK

DracDonix

Ellerine Sağlık  :helal:

İmzanız forum kurallarına uymamaktadır. (daha küçük boyutta bir imza seçiniz.)

Warning

Alıntı yapılan: kerematayy - 09 Nisan 2019, 08:51:39

Roleplay sunucuları için iyi olacağını düşünüyorum.Paylaşım için teşekkürler :helal:



Evet Roleplay Serverleri İcin Yararlı Olabilir Ama Düşük Sistemli Oyuncular'ı Sıkıntıda Cıkarabilir Ama Yinede Ellerina Sağlık


Ceto.

Alıntı yapılan: Byrpo - 09 Nisan 2019, 19:56:52

Alıntı yapılan: kerematayy - 09 Nisan 2019, 08:51:39

Roleplay sunucuları için iyi olacağını düşünüyorum.Paylaşım için teşekkürler :helal:



Evet Roleplay Serverleri İcin Yararlı Olabilir Ama Düşük Sistemli Oyuncular'ı Sıkıntıda Cıkarabilir Ama Yinede Ellerina Sağlık


Teşekkür ederim, iyi kullanımlar.  :helal:


Alıntı yapılan: DracDonix - 09 Nisan 2019, 19:32:16

Ellerine Sağlık  :helal:


Teşekkür ederim, iyi kullanımlar.  :helal:

M.Kemal ATATÜRK

Heson


Redfield

Paylaşım için teşekkürler.


mortale

Sana ait olduğunu sanmıyorum, kodlar kullanissiz ve kötü. En azından platformdaki diğer konulardan daha iyi.
Son düzenlenme: 14 Mayıs 2019, 07:59:40 Renard

Cruza

Alıntı yapılan: kerematayy - 09 Nisan 2019, 08:51:39

Roleplay sunucuları için iyi olacağını düşünüyorum.Paylaşım için teşekkürler :helal:

since 2008
graphic designer & front-end web developer

ace

Roleplay sunucuları için iyi olacağını düşünüyorum. Paylaşım için teşekkürler.