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
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 ;
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 ;
if(Kar == 1)
{
OyuncuTimer[playerid] = SetTimerEx("KarGuncelle",500,true,"i",playerid);
return 1;OnPlayerCommandText kısmına ;
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 ;
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;
}
Onplayerspawm kısmı eklendi.
Emeğine sağlık, Paylaşım için teşekkürler! ;)
Roleplay sunucuları için iyi olacağını düşünüyorum.Paylaşım için teşekkürler :helal:
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?
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.
Ellerine Sağlık :helal:
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
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:
Kolay gelsin.
Paylaşım için teşekkürler.
Sana ait olduğunu sanmıyorum, kodlar kullanissiz ve kötü. En azından platformdaki diğer konulardan daha iyi.
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:
Roleplay sunucuları için iyi olacağını düşünüyorum. Paylaşım için teşekkürler.