GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi
17 Kasım 2025, 19:43:09

Jammer Sistemi

Başlatan xentrow, 28 Ocak 2019, 12:49:34

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

xentrow

JAMMER SİSTEMİ
(by xentrow)

- JAMMER SİSTEMİ NEDİR?
Jammer sistemi, bir bölgede jammer varsa orada telefonu açma, arama veya SMS gönderme gibi olayların gerçekleşmesini engeller.

- SİSTEM HAKKINDA:
- Bu sistem Jammer'ları kayıt etmemektedir. Herhangi bir PD üyesi "/jammer koy" yazıp oyundan çıkarsa, başka bir PD üyesi Jammer'ın yanına gelip "/jammer kaldir" yapabilir.
- "/jammer" komutu sadece PD üyeleri kullanabilir.
- Bu sistemde birkaç değişkeni kendi modunuza göre düzenlemelisiniz.
- Sistem ZCMD ile çalışmaktadır.

- GENEL KOMUTLAR:
/jammer koy
/jammer kaldir
/jammer hepsinikaldir

- KURULUM:
1) Aşağıdaki kodları modunuzun boş bir yerine yapıştırın:
PAWN Kodu: Seç
#define MAX_JAMMERS (25)

enum jammerData {
jammerExists,
jammerObject,
Float:jammerPos[3],
Text3D:jammerText3D,
jammerMenzil
};

new JammerData[MAX_JAMMERS][jammerData];

2) Oyuncunun ismini çekmek için bir kod: (Boş bir kısma ekleyin.)
PAWN Kodu: Seç
ReturnName(playerid, underscore=1)
{
static
    name[MAX_PLAYER_NAME + 1];

GetPlayerName(playerid, name, sizeof(name));

if (!underscore) {
    for (new i = 0, len = strlen(name); i < len; i ++) {
        if (name[i] == '_') name[i] = ' ';
}
}

return name;
}

3) Sistem için komutlar: (Boş bir kısma ekleyin.)
PAWN Kodu: Seç
CMD:jammer(playerid, params[])
{
if (GetFactionType(playerid) != FACTION_POLICE) // Kendi PD değişkeninize göre düzenlemelisiniz.
return SendClientMessage(playerid, 0xFF0000FF, "[HATA]: {FFFFFF}Bu komutu sadece resmi hizmet görevlileri kullanabilir!");

if (isnull(params))
  {
SendClientMessage(playerid, 0xFFFF00FF, "[KULLANIM]: {FFFFFF}/jammer [ayar]");
    SendClientMessage(playerid, 0xFFFF00FF, "[AYARLAR]:{FFFFFF} koy, kaldir, hepsinikaldir");
return 1;
}
static
        Float:fX,
        Float:fY,
        Float:fZ,
        Float:fA;

    GetPlayerPos(playerid, fX, fY, fZ);
    GetPlayerFacingAngle(playerid, fA);

if (!strcmp(params, "koy", true))
{
    if (IsPlayerInAnyVehicle(playerid))
        return SendClientMessage(playerid, 0xFF0000FF, "[HATA]: {FFFFFF}Önce araçtan inmen gerekir.");

    for (new i = 0; i != MAX_JAMMERS; i ++) if (!JammerData[i][jammerExists])
    {
JammerData[i][jammerExists] = true;

JammerData[i][jammerPos][0] = fX;
JammerData[i][jammerPos][1] = fY;
JammerData[i][jammerPos][2] = fZ;
JammerData[i][jammerMenzil] = 70;

new string[256];
format(string, sizeof(string), "[JAMMER]\nYerleştiren: %s\nMenzil %d m", ReturnName(playerid), JammerData[i][jammerMenzil]);
JammerData[i][jammerText3D] = CreateDynamic3DTextLabel(string, 0x2641FEFF, JammerData[i][jammerPos][0] + 0.5, JammerData[i][jammerPos][1] + 0.5, JammerData[i][jammerPos][2] - 0.5, 10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, 0, 0);

JammerData[i][jammerObject] = CreateDynamicObject(363, fX+0.5, fY+0.5, fZ-0.5, 0.0, 0.0, fA);

SendNearbyMessage(playerid, 30.0, COLOR_CYAN, "** %s yere bir jammer yerleştirir.", ReturnName(playerid, 0)); // Kendi modunuza göre düzenleyin. (SendNearbyMessage)
SendFactionMessageEx(FACTION_POLICE, COLOR_RADIO, "RADYO: %s bir jammer yerleştirdi. (Bölge: %s)", ReturnName(playerid, 0), GetLocation(fX, fY, fZ)); // Kendi modunuzdaki birliğe mesaj gönderme koduna göre düzenleyin.

return 1;
}
SendClientMessage(playerid, 0xFF0000FF, "[HATA]: {FFFFFF}Sunucu max. jammer sayısını ulaşmış.");
}
else if (!strcmp(params, "kaldir", true))
{
        for (new i = 0; i != MAX_JAMMERS; i ++) if (JammerData[i][jammerExists] && IsPlayerInRangeOfPoint(playerid, 3.0, JammerData[i][jammerPos][0], JammerData[i][jammerPos][1], JammerData[i][jammerPos][2]))
    {
JammerData[i][jammerExists] = 0;

DestroyDynamicObject(JammerData[i][jammerObject]);
DestroyDynamic3DTextLabel(JammerData[i][jammerText3D]);
JammerData[i][jammerMenzil] = 0;

SendNearbyMessage(playerid, 30.0, COLOR_CYAN, "** %s jammerı yerinden kaldırır.", ReturnName(playerid, 0)); // Kendi modunuza göre düzenleyin. (SendNearbyMessage)
SendFactionMessage(PlayerData[playerid][pFaction], COLOR_RADIO, "RADYO: %s bir jammeri kaldırdı. (Bölge: %s)", ReturnName(playerid, 0), GetLocation(fX, fY, fZ)); // Kendi modunuzdaki birliğe mesaj gönderme koduna göre düzenleyin.
return 1;
}
SendClientMessage(playerid, 0xFF0000FF, "[HATA]: {FFFFFF}Herhangi bir jammerin yanında değilsin.");
}
else if (!strcmp(params, "hepsinikaldir", true))
{
    for (new i = 0; i != MAX_JAMMERS; i ++) if (JammerData[i][jammerExists])
{
JammerData[i][jammerExists] = 0;

DestroyDynamicObject(JammerData[i][jammerObject]);
DestroyDynamic3DTextLabel(JammerData[i][jammerText3D]);
}
SendFactionMessage(PlayerData[playerid][pFaction], COLOR_RADIO, "RADYO: %s tüm jammerleri kaldırdı.", ReturnName(playerid, 0)); // Kendi modunuzdaki birliğe mesaj gönderme koduna göre düzenleyin.
}
return 1;
}

4) Telefon kullanımını engellemek için örnek kod:
PAWN Kodu: Seç
CMD:telefon(playerid, params[])
{
for (new i = 0; i != MAX_JAMMERS; i ++) if (JammerData[i][jammerExists] && IsPlayerInRangeOfPoint(playerid, 70.0, JammerData[i][jammerPos][0], JammerData[i][jammerPos][1], JammerData[i][jammerPos][2]))
{
SendClientMessage(playerid, 0xFFFF00FF, "[TELEFON]: {FFFFFF}Sinyal yok.");
return -1;
}
// Sizin telefon kodlarınız
return 1;
}

Son düzenlenme: 15 Kasım 2019, 17:26:10 xentrow

TheHunter

Malasef bu sistem fikiri farklı şekillde daha önce yapıldı ve kullanıldı ama seninde emegin olması güzel.....

Bazıları gelip krallık ilan etmiş....

Unutma sen kısa paçalı don ile gezerken, biz piyasada Tanrıydık, sen yokkende biz vardık, sen gittikten sonrada burada olacağız.

-TheVeKToRs

Rexus

kayıt olmaması kötü olmuş, paylaşım için teşekkürler. Artık geliştiren olursa ekler diye düşünüyorum :D.
Eline sağlık.

Bazıları yavaş yürür ama asla geri adım atmaz.

xentrow

Alıntı yapılan: Coyote - 28 Ocak 2019, 13:21:38

kayıt olmaması kötü olmuş, paylaşım için teşekkürler. Artık geliştiren olursa ekler diye düşünüyorum :D.
Eline sağlık.

Alıntı yapılan: Proton Expert - 28 Ocak 2019, 13:20:44

Malasef bu sistem fikiri farklı şekillde daha önce yapıldı ve kullanıldı ama seninde emegin olması güzel.....


Güzel yorumlarınız için teşekkür ederim. İlk paylaşımım.


Pablo

Alıntı yapılan: Rexus - 28 Ocak 2019, 13:21:38

kayıt olmaması kötü olmuş, paylaşım için teşekkürler. Artık geliştiren olursa ekler diye düşünüyorum :D.
Eline sağlık.

Alıntı




Pawnotürk Üyesi 2017-2020

Muteo


QrzR


FalafelÇorba


Ryroz

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


xentrow

Güzel yorumlarınız için teşekkürler.


Prisoners


TC9

2017-2020

FelleR