GTAMulti - GTA Türkiye

San Andreas Multiplayer => PAWN Kodlama => Mod Galerisi => Konuyu başlatan: Hasan Sangrento - 26 Haziran 2021, 04:44:23

Başlık: Discord-Connector / Kanal üzerinden sunucudan kişiyi atma, yasaklama.
Gönderen: Hasan Sangrento - 26 Haziran 2021, 04:44:23
En üst kısımlara yapıştırın.
PAWN Kodu: Seç
#include        <discord-connector>
#define INSUFFICIENT_PERM "Yeterli yetkiniz yok."
#define NOT_CONNECTING_NOKIA        "Oyuncu sunucuda yok."

static DCC_Channel:commandChannel;
static DCC_Channel:logChannel;
static DCC_Guild:guildName;
static DCC_Role:adminRole;
// static DCC_Role:slaveRole;

Bunu da Public'lerin yoğunluklu olduğu yerlere yapıştırın.
PAWN Kodu: Seç
public DCC_OnMessageCreate(DCC_Message:message){
/*
Aşağıda gördüğünüz gibi değişkenler atadım. Bu değişkenleri lütfen kendinize göre değiştirin aksi takdirde bu kod çalışmaz.
Bu sistem tek bir rol üzerine bağlıdır, eğer kullanan kişide o rol yok ise isterse sunucu sahibi olsun yine de kullanamaz.
Eğer alt kadroda bulunan yetkililerin kullanmasını isterseniz "slaveRole" kısmındaki '//' && '/*' kısımlarını kaldırmanız yeterli olacaktır.
Kendi oyun modunuza göre düzenleme yapmanız daha sağlıklı olacaktır, hele ki ban komutunda SQL bağlantısını sağlamanız önerilir.
*/

    commandChannel = DCC_FindChannelById("Kanal ID");
    logChannel = DCC_FindChannelById("Log ID(in-aktif)");
    guildName = DCC_FindGuildById("Sunucu ID'niz");
    adminRole = DCC_FindRoleById("Komutları kullanabilecek rol ID'leri");
    // new slaveRole = DCC_FindRoleById("Üstekinin aynısı");

    new DCC_Channel:channel;
    DCC_GetMessageChannel(message, channel);
   
    if(channel != commandChannel)
        return 1;

    new DCC_User:author;
    DCC_GetMessageAuthor(message, author);
    new bool:rubot;
    DCC_IsUserBot(author, rubot);
    if(rubot) return 1;
    new bool:hasAdminRole;
    DCC_HasGuildMemberRole(guildName, author, adminRole, hasAdminRole);
// new bool:hasSlaveRole;
    // DCC_HasGuildMemberRole(guildName, author, adminRole, hasSlaveRole);
   
    if(!hasAdminRole){
        DCC_SendChannelMessage(commandChannel, INSUFFICIENT_PERM);
        return 1;
    }
/* else if(!hasSlaveRole) {
    DCC_SendChannelMessage(commandChannel, INSUFFICIENT_PERM);
    return 1;
    }
*/


    new str[256];
    new cmd[32], params[128];
  new name[MAX_PLAYER_NAME + 1];
    DCC_GetMessageContent(message, str);
    sscanf(str, "s[32]s[128]", cmd, params);
    if(!strcmp(cmd, "!kick", true)){ // !kick
        new playerid, reasonText[128], result[128];
        sscanf(params, "us[128]", playerid, reasonText);
        if(!IsPlayerConnected(playerid))
            return DCC_SendChannelMessage(channel, NOT_CONNECTING_NOKIA);
    GetPlayerName(playerid, name, sizeof(name));
    if(strlen(reasonText) < 1) return DCC_SendChannelMessage(channel, "Atmak istiyorsan sebep belirt.");
format(result, sizeof(result), "[!] %s adlı oyuncu %s sebebiyle kicklendi.", name, reasonText); // in-game
SendClientMessageToAll(0xE74C3CFF, result); // in-game output
        KABOOM(playerid);
    }

    if(!strcmp(cmd, "!ban", true)){ // !ban
        new playerid, reasonText[128], result[128];
        sscanf(params, "us[128]", playerid, reasonText);
        if(!IsPlayerConnected(playerid))
            return DCC_SendChannelMessage(channel, NOT_CONNECTING_NOKIA);
    GetPlayerName(playerid, name, sizeof(name));
    if(strlen(reasonText) < 1) return DCC_SendChannelMessage(channel, "Yasaklamak istiyorsan sebep belirt.");
format(result, sizeof(result), "[!] %s adlı oyuncu %s sebebiyle sunucudan yasaklandı.", name, reasonText); // in-game
SendClientMessageToAll(0xE74C3CFF, result); // in-game output
// if u want u can add SQL connection ^^

        Ban(playerid);
    }
/*
    if(!strcmp(cmd, "sizin yazdığınız komut ismi", true)){
      // ur code
    }
*/

    return 1;
}

forward tiktackKick(playerid);
public tiktackKick(playerid)
{
Kick(playerid);
return 1;
}

KABOOM(playerid, time=500)
{
SetTimerEx("tiktackKick", time, false, "d", playerid);
return 1;
}

Hepinize merhaba, ben Hasan Sangrento. SA-MP ortamını pek bilmem kusura bakmayın. Bir arkadaşım böyle bir şey istedi, anca bakma fırsatım oldu. Embed log sistemi vs. ekleyecektim yalnız zaman pek yetişmedi(Sanırsam yarına hallederim). Hazır arkadaşıma atıyorken size de faydası olur diye düşündüğüm için buraya attım. Sorularınız olursa sorabilirsiniz ya da sistemi geliştirmek isterseniz bu konu altında geliştirirseniz çok sevinirim.
Başlık: Ynt: Discord-Connector / Kanal üzerinden sunucudan kişiyi atma, yasaklama.
Gönderen: sharax - 26 Haziran 2021, 11:33:11
teşekkürler hasan abim kralsın
Başlık: Ynt: Discord-Connector / Kanal üzerinden sunucudan kişiyi atma, yasaklama.
Gönderen: Belkide Gameover - 26 Haziran 2021, 11:35:11
Sistemi test etmedim ancak güzele benziyor.
Başlık: Ynt: Discord-Connector / Kanal üzerinden sunucudan kişiyi atma, yasaklama.
Gönderen: Marcy - 26 Haziran 2021, 11:56:57
yapmis?
Başlık: Ynt: Discord-Connector / Kanal üzerinden sunucudan kişiyi atma, yasaklama.
Gönderen: jaweed - 26 Haziran 2021, 12:53:33
güzel bir sistem, bir çok şey eklenip geliştirilebilir.
Başlık: Ynt: Discord-Connector / Kanal üzerinden sunucudan kişiyi atma, yasaklama.
Gönderen: Hasan Sangrento - 26 Haziran 2021, 12:57:39
Alıntı yapılan: jaweed - 26 Haziran 2021, 12:53:33
güzel bir sistem, bir çok şey eklenip geliştirilebilir.
Evet, bunun için strcmp'nın en altına bir bölüm daha ekledim. Örnek çalışma için oradan komut ekleyebilirsiniz ve istediğiniz gibi kullanabilirsiniz.

Teşekkür eden arkadaşlara da selam olsun, ben teşekkür ederim desteğiniz için ^^.
Başlık: Ynt: Discord-Connector / Kanal üzerinden sunucudan kişiyi atma, yasaklama.
Gönderen: Rodeiun - 26 Haziran 2021, 13:23:30
kral bee
Başlık: Ynt: Discord-Connector / Kanal üzerinden sunucudan kişiyi atma, yasaklama.
Gönderen: alberto.exe - 26 Haziran 2021, 14:46:17
coding??!!!??
Başlık: Ynt: Discord-Connector / Kanal üzerinden sunucudan kişiyi atma, yasaklama.
Gönderen: Rosen - 26 Haziran 2021, 19:10:07
tesekkurler
Başlık: Ynt: Discord-Connector / Kanal üzerinden sunucudan kişiyi atma, yasaklama.
Gönderen: Furkanulas - 27 Haziran 2021, 11:29:45
Teşekkürler hasan güzel paylaşım.
Başlık: Ynt: Discord-Connector / Kanal üzerinden sunucudan kişiyi atma, yasaklama.
Gönderen: Hasan Sangrento - 27 Haziran 2021, 12:09:58
Beni trend listesine çıkartığınız için çok teşekkür ederim hepinize, teşekkür eden arkadaşlara ben teşekkür ederim. Bu sistemi kullanmanız sunucunuzda daha kolaylık ve rahatlık sağlayacağını düşündüğüm için paylaşma gereği duydum. Yapamadığınız bir yer olursa bu konu altında ekran görüntüsü ile belirtirseniz çözümünü size atabilirim. İyi forumlar hepinize ^^
Başlık: Ynt: Discord-Connector / Kanal üzerinden sunucudan kişiyi atma, yasaklama.
Gönderen: baum224 - 28 Haziran 2021, 18:03:07
Güzel olmuş elie sağlık.
Başlık: Ynt: Discord-Connector / Kanal üzerinden sunucudan kişiyi atma, yasaklama.
Gönderen: VERITAS - 14 Şubat 2022, 03:37:17
Elinize sağlık, teşekkürler. İşime yaradı.