GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi
11 Ocak 2025, 06:13:09

Hapis Sistemi

Başlatan Harun, 07 Aralık 2017, 00:27:05

« önceki - sonraki »

0 Üye ve 6 Ziyaretçi konuyu incelemekte.

Harun

Merhaba
Arkadaşlar bu hapis sistemini ben aşağıdaki konu için yaptım. Hemde forumda yoktu bende paylaşayım dedim.
https://www.pawnoturk.com/forum/yardim-talepleri/jail-komutu-lazim-beyler-acil/
Siz kendinize göre değiştirirsiniz. Renkleri vb.
Hapis Sistemi Bilgi;
/hapis ile hapise atarsınız.
/hapissurem ile hapis sürenizi görebilirsiniz.
Kişi hapisteyken oyundan çıkarsa 250 saniye hapise atılır.

Textdraw eklenmiştir. Textdraw ı kendim yaptım. Textdraw Resim aşağıda
https://i.hizliresim.com/Ma3Mm6.png

Arkadaşlar ben fazla uzatmayayım direk kodları atayım. Bu arada hapise atma komutuna admin değişkeni eklemeyi unutmayınız!

İnclüdeler;
#include <a_samp>
#include <zcmd>
#include <sscanf2>


Modun Başına;
new HapisSure2[MAX_PLAYERS];
new HapisSure3[MAX_PLAYERS];

new Text:HapisSureTextdraw0[MAX_PLAYERS];
new Text:HapisSureTextdraw1[MAX_PLAYERS];


OnGameModeInıt'e
SetTimer("HSGuncelle",1000,1);

OnPlayerConnect'e
TextDrawHideForPlayer(playerid, HapisSureTextdraw0[playerid]);
TextDrawHideForPlayer(playerid, HapisSureTextdraw1[playerid]);

HapisSureTextdraw0[playerid] = TextDrawCreate(655.500000, 336.916625, "usebox");
TextDrawLetterSize(HapisSureTextdraw0[playerid], 0.250000, 1.922685);
TextDrawTextSize(HapisSureTextdraw0[playerid], 487.000000, 4.083333);
TextDrawAlignment(HapisSureTextdraw0[playerid], 1);
TextDrawColor(HapisSureTextdraw0[playerid], 0);
TextDrawUseBox(HapisSureTextdraw0[playerid], true);
TextDrawBoxColor(HapisSureTextdraw0[playerid], 102);
TextDrawSetShadow(HapisSureTextdraw0[playerid], 0);
TextDrawSetOutline(HapisSureTextdraw0[playerid], 0);
TextDrawFont(HapisSureTextdraw0[playerid], 0);

HapisSureTextdraw1[playerid] = TextDrawCreate(495.500000, 337.166595, "~y~KALAN SURE: ~r~~h~1000");
TextDrawLetterSize(HapisSureTextdraw1[playerid], 0.449999, 1.600000);
TextDrawAlignment(HapisSureTextdraw1[playerid], 1);
TextDrawColor(HapisSureTextdraw1[playerid], -1);
TextDrawSetShadow(HapisSureTextdraw1[playerid], 0);
TextDrawSetOutline(HapisSureTextdraw1[playerid], 1);
TextDrawBackgroundColor(HapisSureTextdraw1[playerid], 51);
TextDrawFont(HapisSureTextdraw1[playerid], 3);
TextDrawSetProportional(HapisSureTextdraw1[playerid], 1);


OnPlayerSpawn'a
TextDrawHideForPlayer(playerid, HapisSureTextdraw0[playerid]);
TextDrawHideForPlayer(playerid, HapisSureTextdraw1[playerid]);

if(HapisSure2[playerid] != 0)
{
new NickOgren3[31];
new string[128];
        GetPlayerName(playerid, NickOgren3, 31);
    SilahSifirla(playerid);
    HapisSure3[playerid] = HapisSure2[playerid];
    TextDrawShowForPlayer(playerid, HapisSureTextdraw0[playerid]);
    TextDrawShowForPlayer(playerid, HapisSureTextdraw1[playerid]);
        SetPlayerInterior(playerid,10);
        new rand = random(1); // Eklediğiniz hapis spawn sayısına göre değiştirin burayı!
        switch(rand)
        {
        case 0:SetPlayerPos(playerid, 215.5644, 110.7332, 999.0156);
        }
format(string,sizeof(string),"[HAPIS] %s, Ceza evindeyken serverden ayrıldığı için tekrar hapise atıldı!",NickOgren3);
SendClientMessageToAll(-1,string);
}


OnPlayerDeath'a
TextDrawHideForPlayer(playerid, HapisSureTextdraw0[playerid]);
TextDrawHideForPlayer(playerid, HapisSureTextdraw1[playerid]);


Modun Sonuna
CMD:hapis(playerid, params[])
{
    //Admin şartını ekleyin!
    new string[128];
new ID;
new HapisSure;
new NickOgren[31];
new NickOgren2[31];
    new Sebep[100];
if(sscanf(params, "uis[100]", ID, HapisSure, Sebep))
{
    SendClientMessage(playerid,-1,"Kullanım: /Hapis (ID) (Saniye) (Sebep)");
    return 1;
}
if(HapisSure > 1000)
{
    format(string,sizeof(string),"En fazla 1000 saniye yaz!");
    SendClientMessage(playerid,-1,string);
    return 1;
}
if(HapisSure < 1)
{
    format(string,sizeof(string),"En az 1 saniye yaz!");
    SendClientMessage(playerid,-1,string);
    return 1;
}
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, -1, "Oyuncu serverde değil!");

    GetPlayerName(playerid, NickOgren, 31);
    GetPlayerName(ID, NickOgren2, 31);
    SilahSifirla(ID);
    format(string,sizeof(string),"[HAPIS] Admin %s Oyuncu Olan %s'Yi %d Saniyeliğine Ceza Evine Gönderdi. Sebep: %s",NickOgren, NickOgren2, HapisSure, Sebep);
SendClientMessageToAll(-1,string);
    HapisSure2[ID] = HapisSure;
    HapisSure3[ID] = HapisSure;
    TextDrawShowForPlayer(ID, HapisSureTextdraw0[ID]);
    TextDrawShowForPlayer(ID, HapisSureTextdraw1[ID]);
    SetPlayerInterior(ID,10);
    new rand = random(1); // Eklediğiniz hapis spawn sayısına göre değiştirin burayı!
    switch(rand)
    {
    case 0:SetPlayerPos(ID, 215.5644, 110.7332, 999.0156);//Bunu ayarlayın
    }
    return 1;
}
forward HSGuncelle();
public HSGuncelle()
{
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{

//Buraya oyuncu giriş yapmış şartı ekleyin!


if(HapisSure2[i] > 1)
{
new string[128];
format(string,sizeof(string),"~y~KALAN SURE: ~r~~h~%d", HapisSure2[i]);
TextDrawSetString(HapisSureTextdraw1[i], string);
HapisSure2[i] --;
SilahSifirla(i);
}
if(HapisSure2[i] == 1)
{
new string[128];
TextDrawHideForPlayer(i, HapisSureTextdraw0[i]);
TextDrawHideForPlayer(i, HapisSureTextdraw1[i]);

new NickOgren4[31];
GetPlayerName(i, NickOgren4, 31);
format(string,sizeof(string),"[HAPIS] %s hapishaneden %d saniye sonra çıktı!", NickOgren4, HapisSure3[i]);
SendClientMessageToAll(-1,string);
HapisSure2[i] =0;
HapisSure3[i] =0;
SetPlayerInterior(i,0);
SetPlayerPos(i,-1606.4753,715.2712,12.4084);//Bunu ayarlayın
SetPlayerFacingAngle(i,359.7453);//Bunu ayarlayın
SetCameraBehindPlayer(i);
}
}
}
return 1;
}
stock SilahSifirla(playerid)
{
    SetPVarInt(playerid, "Brass Knuckles", 0);
    SetPVarInt(playerid, "Golf Club", 0);
    SetPVarInt(playerid, "Nightstick", 0);
    SetPVarInt(playerid, "Knife", 0);
    SetPVarInt(playerid, "Baseball Bat", 0);
    SetPVarInt(playerid, "Shovel", 0);
    SetPVarInt(playerid, "Pool Cue", 0);
    SetPVarInt(playerid, "Shovel", 0);
    SetPVarInt(playerid, "Katana", 0);
    SetPVarInt(playerid, "Chainsaw", 0);
    SetPVarInt(playerid, "Purple Dildo", 0);
    SetPVarInt(playerid, "Dildo", 0);
    SetPVarInt(playerid, "Vibrator", 0);
    SetPVarInt(playerid, "Silver Vibrator", 0);
    SetPVarInt(playerid, "Flowers", 0);
    SetPVarInt(playerid, "Cane", 0);
    SetPVarInt(playerid, "Tear Gas", 0);
    SetPVarInt(playerid, "RPG", 0);
    SetPVarInt(playerid, "HS Rocket", 0);
    SetPVarInt(playerid, "Flamethrower", 0);
    SetPVarInt(playerid, "Satchel Charge", 0);
    SetPVarInt(playerid, "Spraycan", 0);
    SetPVarInt(playerid, "Fire Extinguisher", 0);
    SetPVarInt(playerid, "Camera", 0);
    SetPVarInt(playerid, "Night Vis Goggles", 0);
    SetPVarInt(playerid, "Thermal Goggles", 0);
    SetPVarInt(playerid, "Grenade", 0);
    SetPVarInt(playerid, "Molotov Cocktail", 0);
    SetPVarInt(playerid, "9mm", 0);
    SetPVarInt(playerid, "Silenced 9mm", 0);
    SetPVarInt(playerid, "Desert Eagle", 0);
    SetPVarInt(playerid, "Shotgun", 0);
    SetPVarInt(playerid, "Sawn-off Shotgun", 0);
    SetPVarInt(playerid, "Combat Shotgun", 0);
    SetPVarInt(playerid, "Micro SMG/Uzi", 0);
    SetPVarInt(playerid, "MP5", 0);
    SetPVarInt(playerid, "AK-47", 0);
    SetPVarInt(playerid, "M4", 0);
    SetPVarInt(playerid, "Tec-9", 0);
    SetPVarInt(playerid, "Country Rifle", 0);
    SetPVarInt(playerid, "Sniper Rifle", 0);
    return 1;
}
Son düzenlenme: 07 Aralık 2017, 20:24:20 Harun

Pablo

Paylaşım İçin Teşekkürler ama modda hapisteyken komut kullanama özelligi varmi?

Alıntı




Pawnotürk Üyesi 2017-2020

pag

Elinize sağlık,basit ve yeni başlayan arkadaslar için ideal


Excision

Kişi hapisteyken oyundan çıkarsa 250 saniye hapise atılır.
Bu cümleyi neye göre kurdunuz ? Kişinin verilerini kaydeden herhangi bir satır göremedim.


Harun

Alıntı yapılan: ByGold - 07 Aralık 2017, 00:30:08

Paylaşım İçin Teşekkürler ama modda hapisteyken komut kullanama özelligi varmi?

OnPlayerCommandPerformed'a aşağıdaki kodu ekle.
if(HapisSure2[playerid] != 0)
{
SendClientMessage(playerid,-1,"Hapisteyken komut kullanamazsınız!");
return 1;
}


Harun

Alıntı yapılan: ReDDooM - 07 Aralık 2017, 08:02:20

Elinize sağlık,basit ve yeni başlayan arkadaslar için ideal
Teşekkürler.


Harun

Alıntı yapılan: Excision - 07 Aralık 2017, 08:52:55

Kişi hapisteyken oyundan çıkarsa 250 saniye hapise atılır.
Bu cümleyi neye göre kurdunuz ? Kişinin verilerini kaydeden herhangi bir satır göremedim.
Sistemi geliştirdim. Kodlara isterseniz tekrar bakın.


Harun


ace

Alıntı yapılan: Harun - 07 Aralık 2017, 18:49:00

Alıntı yapılan: Excision - 07 Aralık 2017, 08:52:55

Kişi hapisteyken oyundan çıkarsa 250 saniye hapise atılır.
Bu cümleyi neye göre kurdunuz ? Kişinin verilerini kaydeden herhangi bir satır göremedim.
Sistemi geliştirdim. Kodlara isterseniz tekrar bakın.

Teşekkürler Hapisteyken Komut Kullanılmıyor Değil Mi ? Komutlarda /Hapisure Duruyorda Hâla Ondan Sordum.


ace

PAWN Kodu: Seç
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : error 017: undefined symbol "string"
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : error 017: undefined symbol "string"
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : error 029: invalid expression, assumed zero
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

Yardım Edermisiniz?
131. Satır;
format(string,sizeof(string),"[HAPIS] %s, Ceza evindeyken serverden ayrıldığı için tekrar hapise atıldı!",NickOgren3);


Jawié

Hapis yiyen birisi çıktığında, yeni giren kişi o idye denk gelirse o kişi hapise girer. Sen burada oyuncunun ismine değil, sıralı olarak verilen idlerden birisine kayıt ediyorsun. En iyi çözüm olarak bir kayıt sistemi yapmanı tavsiye ederim.


Harun

Alıntı yapılan: Rexha - 07 Aralık 2017, 19:05:24

PAWN Kodu: Seç
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : error 017: undefined symbol "string"
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : error 017: undefined symbol "string"
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : error 029: invalid expression, assumed zero
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

Yardım Edermisiniz?
131. Satır;
format(string,sizeof(string),"[HAPIS] %s, Ceza evindeyken serverden ayrıldığı için tekrar hapise atıldı!",NickOgren3);


O attığın kodun başına
new string[128];

Ekle eğer o string 1 den fazla varsa sil sadece 1 tane kalsın!


Harun

Alıntı yapılan: Jawié - 07 Aralık 2017, 19:06:01

Hapis yiyen birisi çıktığında, yeni giren kişi o idye denk gelirse o kişi hapise girer. Sen burada oyuncunun ismine değil, sıralı olarak verilen idlerden birisine kayıt ediyorsun. En iyi çözüm olarak bir kayıt sistemi yapmanı tavsiye ederim.
Nasıl ya anlamadım. Kodda bişey yok gibi MAX_PLAYERS ile yaptım işte.


ace

Alıntı yapılan: Harun - 07 Aralık 2017, 19:09:00

Alıntı yapılan: Rexha - 07 Aralık 2017, 19:05:24

PAWN Kodu: Seç
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : error 017: undefined symbol "string"
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : error 017: undefined symbol "string"
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : error 029: invalid expression, assumed zero
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

Yardım Edermisiniz?
131. Satır;
format(string,sizeof(string),"[HAPIS] %s, Ceza evindeyken serverden ayrıldığı için tekrar hapise atıldı!",NickOgren3);


O attığın kodun başına
new string[128];

Ekle eğer o string 1 den fazla varsa sil sadece 1 tane kalsın!

PAWN Kodu: Seç
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : error 017: undefined symbol "NickOgren3"
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(135) : error 010: invalid function or declaration
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

Buyur 135. Satır
return 1;
Buyur 131. Satır
new string[128]; format(string,sizeof(string),"[HAPIS] %s, Ceza evindeyken serverden ayrıldığı için tekrar hapise atıldı!",NickOgren3);


Harun

Alıntı yapılan: Rexha - 07 Aralık 2017, 19:12:10

Alıntı yapılan: Harun - 07 Aralık 2017, 19:09:00

Alıntı yapılan: Rexha - 07 Aralık 2017, 19:05:24

PAWN Kodu: Seç
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : error 017: undefined symbol "string"
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : error 017: undefined symbol "string"
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : error 029: invalid expression, assumed zero
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

Yardım Edermisiniz?
131. Satır;
format(string,sizeof(string),"[HAPIS] %s, Ceza evindeyken serverden ayrıldığı için tekrar hapise atıldı!",NickOgren3);


O attığın kodun başına
new string[128];

Ekle eğer o string 1 den fazla varsa sil sadece 1 tane kalsın!

PAWN Kodu: Seç
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(131) : error 017: undefined symbol "NickOgren3"
C:\Users\Enes\Desktop\Joker Server 2017\gamemodes\Server.pwn(135) : error 010: invalid function or declaration
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

Buyur 135. Satır
return 1;
Buyur 131. Satır
new string[128]; format(string,sizeof(string),"[HAPIS] %s, Ceza evindeyken serverden ayrıldığı için tekrar hapise atıldı!",NickOgren3);
OnPlayerSpawn'a eklediğin tüm kodları at.