GTAMulti - GTA Türkiye

San Andreas Multiplayer => PAWN Kodlama => Mod Galerisi => Konuyu başlatan: xentrow - 28 Ocak 2019, 12:49:34

Başlık: Jammer Sistemi
Gönderen: xentrow - 28 Ocak 2019, 12:49:34
JAMMER SİSTEMİ
(by xentrow (https://www.pawnoturk.com/forum/profile/?u=1300))

- 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;
}

Başlık: Ynt: Jammer Sistemi
Gönderen: TheHunter - 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.....
Başlık: Ynt: Jammer Sistemi
Gönderen: 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.
Başlık: Ynt: Jammer Sistemi
Gönderen: xentrow - 28 Ocak 2019, 13:31:44
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.
Başlık: Ynt: Jammer Sistemi
Gönderen: Pablo - 15 Haziran 2019, 04:08:04
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.
Başlık: Ynt: Jammer Sistemi
Gönderen: Muteo - 15 Haziran 2019, 04:31:51
Eline sağlık.
Başlık: Ynt: Jammer Sistemi
Gönderen: QrzR - 15 Haziran 2019, 18:01:16
Alıntı yapılan: Muteo - 15 Haziran 2019, 04:31:51

Eline sağlık.
Başlık: Ynt: Jammer Sistemi
Gönderen: FalafelÇorba - 16 Haziran 2019, 18:39:01
Teşekkürler.  :helal:
Başlık: Ynt: Jammer Sistemi
Gönderen: Ryroz - 17 Haziran 2019, 17:03:53
Paylaşım için teşekkürler.
Başlık: Ynt: Jammer Sistemi
Gönderen: xentrow - 25 Haziran 2019, 20:45:30
Güzel yorumlarınız için teşekkürler.
Başlık: Ynt: Jammer Sistemi
Gönderen: Prisoners - 26 Haziran 2019, 14:14:50
Alıntı yapılan: Muteo - 15 Haziran 2019, 04:31:51

Eline sağlık.
Başlık: Ynt: Jammer Sistemi
Gönderen: TC9 - 26 Haziran 2019, 18:26:29
Elinize Sağlık  :helal:
Başlık: Ynt: Jammer Sistemi
Gönderen: FelleR - 26 Haziran 2019, 19:50:13
Yararlı eyw.
Başlık: Ynt: Jammer Sistemi
Gönderen: xentrow - 07 Temmuz 2019, 15:31:44
Alıntı yapılan: Prisoners - 26 Haziran 2019, 14:14:50

Alıntı yapılan: Muteo - 15 Haziran 2019, 04:31:51

Eline sağlık.

Alıntı yapılan: TC9 - 26 Haziran 2019, 18:26:29

Elinize Sağlık  :helal:
Alıntı yapılan: FelleR - 26 Haziran 2019, 19:50:13

Yararlı eyw.


Teşekkürler.