- KURULUM:
1) Aşağıdaki kodları modunuzun boş bir yerine yapıştırın:
#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.)
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.)
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:
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;
}