GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi
29 Mart 2024, 09:21:07

Admin Tag

Başlatan oppai, 15 Mayıs 2022, 13:02:20

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

oppai

Merhaba,
Moduma admin sistemi için farklı seviye adminlerin farklı tag'a sahip olduğu birşey yapmak istiyorum internetten araştırdım karşıma çıkan kodları moduma uyarlamaya çalışıp çalıştırdım lakin sorun yaşadım sürekli error verdi acaba sizler yardımcı olup bana bu tür bir örnek atabilir misiniz ?

bu arada yeniyim detaylıca hangi satırı hangi public'e vs. eklemem gerektiğini belirtirseniz sevinirim


Lawnless

Merhabalar.
Eğer dilerseniz tıklayarak buradaki kodları inceleyebilir ve projenize taşıyabilirsiniz.

Ardından OnPlayerUpdate'in altına veya /aduty komutunun altına PlayerData[playerid][pAdmin] değerini kontrol ettirip Nametag'i düzenleyebilirsiniz.

Örneğin:
CMD:aduty(playerid, params[]) {
    if (PlayerData[playerid][pAdminDuty]) {
        DestroyPlayerNameTag(playerid);
        SendClientMessage(playerid, -1, "Admin görevinden çıktınız.");
    } else {
        if (PlayerData[playerid][pAdmin] > 3) { // Eğer admin seviyesi 3'ten büyükse kırmızı yap.
            SetPlayerNameTag(playerid, 0xFF0000FF);
        } else { // Değilse 3'ten küçükse veya 3 ise gri yap.
            SetPlayerNameTag(playerid, 0xCCCCCCFF);
        }
        SendClientMessage(playerid, -1, "Admin görevine geçtiniz.");
    }
    return 1;
}

public class gtaMultiSignature {
    public static void main(String[] args) {
      System.out.println("How can I help you?");
      System.out.println("C#, C++, Java, Python, LUA, PHP, .NET, Typescript, Javascript");
    }
}

oppai

Alıntı yapılan: Lawnless - 15 Mayıs 2022, 18:07:53
Merhabalar.
Eğer dilerseniz tıklayarak buradaki kodları inceleyebilir ve projenize taşıyabilirsiniz.

Ardından OnPlayerUpdate'in altına veya /aduty komutunun altına PlayerData[playerid][pAdmin] değerini kontrol ettirip Nametag'i düzenleyebilirsiniz.

Örneğin:
CMD:aduty(playerid, params[]) {
    if (PlayerData[playerid][pAdminDuty]) {
        DestroyPlayerNameTag(playerid);
        SendClientMessage(playerid, -1, "Admin görevinden çıktınız.");
    } else {
        if (PlayerData[playerid][pAdmin] > 3) { // Eğer admin seviyesi 3'ten büyükse kırmızı yap.
            SetPlayerNameTag(playerid, 0xFF0000FF);
        } else { // Değilse 3'ten küçükse veya 3 ise gri yap.
            SetPlayerNameTag(playerid, 0xCCCCCCFF);
        }
        SendClientMessage(playerid, -1, "Admin görevine geçtiniz.");
    }
    return 1;
}
Hocam şu hataları verdi;
error 017: undefined symbol "PlayerData"
warning 215: expression has no effect
error 001: expected token: ";", but found "]"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line

Sanırım bunun nedeni #define ile PlayerData yı tanıtmamam böyle düşünerekten modun başına gidip
#define PlayerData 1
Yazdım lakin bu sefer de
pAdminDuty
pAdmin
İçin aynı hataları verdi #define olayını anlamadım zaten hata çıktısına bakaraktan böyle davrandım ve modun yapımcısının #define örneklerine baktığımda kullanılacak sözcüğün karşısına hep bir sayısal değer koymuş 4 6 8 3435 gibi gibi buna dayanaraktan #define PlayerData 1 yaptım zaten bunun mantığını da anlamadım yapmak istediğim özellik için sayısal veriden başka değerler yapmam lazım yani şu noktada ya hatayı yanlış anladım ya da #define muhabbetini araştırmasına lakin anlamayan bir geri zekalıyım
Kısaca kafam karıştı iyice yardım edebilir misiniz
  :uzgun:


ajeX

Alıntı yapılan: oppai - 15 Mayıs 2022, 20:57:10
Alıntı yapılan: Lawnless - 15 Mayıs 2022, 18:07:53
Merhabalar.
Eğer dilerseniz tıklayarak buradaki kodları inceleyebilir ve projenize taşıyabilirsiniz.

Ardından OnPlayerUpdate'in altına veya /aduty komutunun altına PlayerData[playerid][pAdmin] değerini kontrol ettirip Nametag'i düzenleyebilirsiniz.

Örneğin:
CMD:aduty(playerid, params[]) {
    if (PlayerData[playerid][pAdminDuty]) {
        DestroyPlayerNameTag(playerid);
        SendClientMessage(playerid, -1, "Admin görevinden çıktınız.");
    } else {
        if (PlayerData[playerid][pAdmin] > 3) { // Eğer admin seviyesi 3'ten büyükse kırmızı yap.
            SetPlayerNameTag(playerid, 0xFF0000FF);
        } else { // Değilse 3'ten küçükse veya 3 ise gri yap.
            SetPlayerNameTag(playerid, 0xCCCCCCFF);
        }
        SendClientMessage(playerid, -1, "Admin görevine geçtiniz.");
    }
    return 1;
}
Hocam şu hataları verdi;
error 017: undefined symbol "PlayerData"
warning 215: expression has no effect
error 001: expected token: ";", but found "]"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line

Sanırım bunun nedeni #define ile PlayerData yı tanıtmamam böyle düşünerekten modun başına gidip
#define PlayerData 1
Yazdım lakin bu sefer de
pAdminDuty
pAdmin
İçin aynı hataları verdi #define olayını anlamadım zaten hata çıktısına bakaraktan böyle davrandım ve modun yapımcısının #define örneklerine baktığımda kullanılacak sözcüğün karşısına hep bir sayısal değer koymuş 4 6 8 3435 gibi gibi buna dayanaraktan #define PlayerData 1 yaptım zaten bunun mantığını da anlamadım yapmak istediğim özellik için sayısal veriden başka değerler yapmam lazım yani şu noktada ya hatayı yanlış anladım ya da #define muhabbetini araştırmasına lakin anlamayan bir geri zekalıyım
Kısaca kafam karıştı iyice yardım edebilir misiniz
  :uzgun:


define olarak değil, oyuncu enum'ına koyacaksın örneğin;

enum e_players
{
 pID,
 pName[MAX_PLAYER_NAME+1],

 //ekleyeceğin kısımlar
 pAdminDuty,
 pAdmin
}

bu şekilde modunda bulunan oyuncu enum'ına ekleyeceksin


oppai

Alıntı yapılan: ajeX - 15 Mayıs 2022, 21:33:43
Alıntı yapılan: oppai - 15 Mayıs 2022, 20:57:10
Alıntı yapılan: Lawnless - 15 Mayıs 2022, 18:07:53
Merhabalar.
Eğer dilerseniz tıklayarak buradaki kodları inceleyebilir ve projenize taşıyabilirsiniz.

Ardından OnPlayerUpdate'in altına veya /aduty komutunun altına PlayerData[playerid][pAdmin] değerini kontrol ettirip Nametag'i düzenleyebilirsiniz.

Örneğin:
CMD:aduty(playerid, params[]) {
    if (PlayerData[playerid][pAdminDuty]) {
        DestroyPlayerNameTag(playerid);
        SendClientMessage(playerid, -1, "Admin görevinden çıktınız.");
    } else {
        if (PlayerData[playerid][pAdmin] > 3) { // Eğer admin seviyesi 3'ten büyükse kırmızı yap.
            SetPlayerNameTag(playerid, 0xFF0000FF);
        } else { // Değilse 3'ten küçükse veya 3 ise gri yap.
            SetPlayerNameTag(playerid, 0xCCCCCCFF);
        }
        SendClientMessage(playerid, -1, "Admin görevine geçtiniz.");
    }
    return 1;
}
Hocam şu hataları verdi;
error 017: undefined symbol "PlayerData"
warning 215: expression has no effect
error 001: expected token: ";", but found "]"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line

Sanırım bunun nedeni #define ile PlayerData yı tanıtmamam böyle düşünerekten modun başına gidip
#define PlayerData 1
Yazdım lakin bu sefer de
pAdminDuty
pAdmin
İçin aynı hataları verdi #define olayını anlamadım zaten hata çıktısına bakaraktan böyle davrandım ve modun yapımcısının #define örneklerine baktığımda kullanılacak sözcüğün karşısına hep bir sayısal değer koymuş 4 6 8 3435 gibi gibi buna dayanaraktan #define PlayerData 1 yaptım zaten bunun mantığını da anlamadım yapmak istediğim özellik için sayısal veriden başka değerler yapmam lazım yani şu noktada ya hatayı yanlış anladım ya da #define muhabbetini araştırmasına lakin anlamayan bir geri zekalıyım
Kısaca kafam karıştı iyice yardım edebilir misiniz
  :uzgun:


define olarak değil, oyuncu enum'ına koyacaksın örneğin;

enum e_players
{
 pID,
 pName[MAX_PLAYER_NAME+1],

 //ekleyeceğin kısımlar
 pAdminDuty,
 pAdmin
}

bu şekilde modunda bulunan oyuncu enum'ına ekleyeceksin

Şu şekilde hata verdi;
error 028: invalid subscript (not an array or too many subscripts): "PlayerData"
warning 215: expression has no effect
error 001: expected token: ";", but found "]"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line

yaptığım tek şey oyuncu enum una bunları eklemekti
pAdminDuty,
PlayerData,
pAdmin

enum'un son hali;
Not: çok fazla satır var son 3 satıra ekledim.
enum NVCNR_user
{
pPass[129],
    aLevel,
    dLevel,
    DonatingPlayer,
    sLevel,
    scLevel,
    CiaLevel,
    ccLevel,
    CiaDuty,
    handneonLevel,
    // Hand Neon Colors
    Gneon,
    Pneon,
    Yneon,
    Wneon,
    Rneon,
    Bneon,
    // END
    TotalTaxPaid,
    LastMedFees,
    // /bal Command System
    TotalBizCash,
    TotalHouseCash,
    // END
    // User Stats System
    TimesCashGiven,
    TimesCashGivenCash,
TimesCashReceived,
TimesCashReceivedCash,
TotalMedicFees,
TimesStoresRobbed,
TimesStoresRobbedCash,
TimesCasinoRobbed,
TimesCasinoRobbedCash,
TimesBankRobbed,
TimesBankRobbedCash,
TimesHitPlaced,
TotalHitsCompleted,
TimesRapped,
TotalCrimesCommited,
TimesTicketReceived,
TimesTicketPaid,
TimesBeenArrested,
TimesPlayerRobbed,
TimesPlayerRobbedCash,
TimesBeenDragged,
TimesBeenCuffed,
TimesVehicleBought,
TimesVehicleSold,
TimesDiamondCompleted,
    // END
   
    // PM Block
PmBlock,
    // END
   
    // 24/7 Stocks
Condoms,
    // END
   
    // Gascan
    Gascan,
    // END
   
    // Player Tax System
    GetTaxTimeMin,
    GetTaxTimeHour,
    GetTaxTimeSec,
    // END
   
    // Law Officer Play Time System
    LawPlayMin,
    LawPlayHour,
LawPlaySec,
// END
   
    // Alive Time System
    Min,
    Hour,
    Sec,
    // END
   
    // Cop Ranks
CopRank1,
CopRank2,
CopRank3,
CopRank4,
CopRank5,
CopRank6,
CopRank7,
CopRank8,
CopRank9,
CopRank10,
    // END
   
    // Drugs
    Drugs,
    // END
   
    // House System
    InHouse,
    // END
   
    // Player Spawn City
    LvSpawn,
    SfSpawn,
    LsSpawn,
    // END
   
    // Civilian Skills
    SkillSelected,
    DrugDealer,
    Rapist,
    ArmsDealer,
    Kidnapper,
    ItemDealer,
    // END
   
    // Class Saving
    Civ,
Cops,
CIA,
Army,
Medic,
Swat,
Class,
    // END
   
    // Fishing System
    Fish,
Tuna,
Swordfish,
Piranha,
Shark,
FishPermit,
FishBaits,
    // END
   
    // SWAT Drags And Drops
    Drags,
    Drops,
    // END
   
    // Coins
    Coins,
    // END
   
    // Donating Guns
    Dshotgun,// Shotgun
    Dsawnoff,// Sawn-off-shotgun
    Dcombat,// Combat-shotgun
    Dmicro,// Micro SMG
    Dmp5,// MP5
    Dak47,// AK-47
    Dm4,// M5
    Dtec9,// Tec-9
    Dcrifle,// Country Rifle
    Dsniper,// Sniper Rifle
    // END
    NitroKitLevel,
    Jailcards,
    pCash,
    pScore,
    pKills,
    dsKills,
    dshsKills,
    dshsDeaths,
    LottoWon,
    MBFound,
    pDeaths,
    dsDeaths,
    pHoldups,
    pCrimes,
    TicketPaid,
    Arrests,
    Takedowns,
    Tickets,
    Cuffs,
    pPaintCan,
    pScissors,
    vLock,
    Helper,
    hHelper,
    pMaterials,
    Banned,
    jTime,
    Float:pArmour,
    Float:pHealth,
    pWanted,
    cTime,
    pID,
pAdminDuty,
PlayerData,
pAdmin
}
new PlayerInfo[MAX_PLAYERS][NVCNR_user];


Lawnless

Merhaba, kullandığınız modu bilmediğimden pekte yardımcı olamadım. Kusuruma bakmayın.
Şu şekilde söylesem daha iyi olur sanırım sizin için:

Oyuncu Enumunuzu verdiğim kodla değiştirin:
enum NVCNR_user
{
 pPass[129],
    aLevel,
    aDuty,
    dLevel,
    DonatingPlayer,
    sLevel,
    scLevel,
    CiaLevel,
    ccLevel,
    CiaDuty,
    handneonLevel,
    // Hand Neon Colors
    Gneon,
    Pneon,
    Yneon,
    Wneon,
    Rneon,
    Bneon,
    // END
    TotalTaxPaid,
    LastMedFees,
    // /bal Command System
    TotalBizCash,
    TotalHouseCash,
    // END
    // User Stats System
    TimesCashGiven,
    TimesCashGivenCash,
 TimesCashReceived,
 TimesCashReceivedCash,
 TotalMedicFees,
 TimesStoresRobbed,
 TimesStoresRobbedCash,
 TimesCasinoRobbed,
 TimesCasinoRobbedCash,
 TimesBankRobbed,
 TimesBankRobbedCash,
 TimesHitPlaced,
 TotalHitsCompleted,
 TimesRapped,
 TotalCrimesCommited,
 TimesTicketReceived,
 TimesTicketPaid,
 TimesBeenArrested,
 TimesPlayerRobbed,
 TimesPlayerRobbedCash,
 TimesBeenDragged,
 TimesBeenCuffed,
 TimesVehicleBought,
 TimesVehicleSold,
 TimesDiamondCompleted,
    // END
 
    // PM Block
 PmBlock,
    // END
 
    // 24/7 Stocks
 Condoms,
    // END
 
    // Gascan
    Gascan,
    // END
 
    // Player Tax System
    GetTaxTimeMin,
    GetTaxTimeHour,
    GetTaxTimeSec,
    // END
 
    // Law Officer Play Time System
    LawPlayMin,
    LawPlayHour,
 LawPlaySec,
 // END
 
    // Alive Time System
    Min,
    Hour,
    Sec,
    // END
 
    // Cop Ranks
 CopRank1,
 CopRank2,
 CopRank3,
 CopRank4,
 CopRank5,
 CopRank6,
 CopRank7,
 CopRank8,
 CopRank9,
 CopRank10,
    // END
 
    // Drugs
    Drugs,
    // END
 
    // House System
    InHouse,
    // END
 
    // Player Spawn City
    LvSpawn,
    SfSpawn,
    LsSpawn,
    // END
 
    // Civilian Skills
    SkillSelected,
    DrugDealer,
    Rapist,
    ArmsDealer,
    Kidnapper,
    ItemDealer,
    // END
 
    // Class Saving
    Civ,
 Cops,
 CIA,
 Army,
 Medic,
 Swat,
 Class,
    // END
 
    // Fishing System
    Fish,
 Tuna,
 Swordfish,
 Piranha,
 Shark,
 FishPermit,
 FishBaits,
    // END
 
    // SWAT Drags And Drops
    Drags,
    Drops,
    // END
 
    // Coins
    Coins,
    // END
 
    // Donating Guns
    Dshotgun,// Shotgun
    Dsawnoff,// Sawn-off-shotgun
    Dcombat,// Combat-shotgun
    Dmicro,// Micro SMG
    Dmp5,// MP5
    Dak47,// AK-47
    Dm4,// M5
    Dtec9,// Tec-9
    Dcrifle,// Country Rifle
    Dsniper,// Sniper Rifle
    // END
    NitroKitLevel,
    Jailcards,
    pCash,
    pScore,
    pKills,
    dsKills,
    dshsKills,
    dshsDeaths,
    LottoWon,
    MBFound,
    pDeaths,
    dsDeaths,
    pHoldups,
    pCrimes,
    TicketPaid,
    Arrests,
    Takedowns,
    Tickets,
    Cuffs,
    pPaintCan,
    pScissors,
    vLock,
    Helper,
    hHelper,
    pMaterials,
    Banned,
    jTime,
    Float:pArmour,
    Float:pHealth,
    pWanted,
    cTime,
    pID,
}
new PlayerInfo[MAX_PLAYERS][NVCNR_user];

Ardından modunuzun en başına gidip
#include <zcmd>
Böyle bir satır var mı bakın, eğer yoksa ekleyin. (Yine eğer yoksa sunucu klasöründe pawno/include klasörü içerisine zcmd.inc'yi indirip atmalısınız.)

Yukardakileri yaptıktan hemen sonra modun en sonuna veya boş bir yere ekleyin:
CMD:aduty(playerid, params[]) {
    if (PlayerInfo[playerid][aDuty]) {
        DestroyPlayerNameTag(playerid);
        SendClientMessage(playerid, -1, "Admin görevinden çıktınız.");
    } else {
        if (PlayerInfo[playerid][aDuty] > 3) { // Eğer admin seviyesi 3'ten büyükse kırmızı yap.
            SetPlayerNameTag(playerid, 0xFF0000FF);
        } else { // Değilse 3'ten küçükse veya 3 ise gri yap.
            SetPlayerNameTag(playerid, 0xCCCCCCFF);
        }
        SendClientMessage(playerid, -1, "Admin görevine geçtiniz.");
    }
    return 1;
}

Tabii bunları yaparken size vermiş olduğum dosyayı indirip tanımlama(Modun başına:
#include <nametags>)yı unutmayın.

public class gtaMultiSignature {
    public static void main(String[] args) {
      System.out.println("How can I help you?");
      System.out.println("C#, C++, Java, Python, LUA, PHP, .NET, Typescript, Javascript");
    }
}

Eamon

Arkadaşlar adamın istediği şey sadece nametag, saçma sapan gereksiz kodlar atıyorsunuz.
Create3DTextLabel'in idsini tutacak bir tane değişken oluşturacaksınız. Admin olan kişi aduty yazdığında Creat3DTextLabel ile istediğiniz yazıyı yazıp Attach3DTextLabelToPlayer ile onu üzerine sabitleyeceksiniz, aduty'den çıktığında veya oyundan çıktığında ise tekrar sileceksiniz.

Bugünün güzel zamanları, yarının üzücü düşünceleridir.

Lawnless

Alıntı yapılan: Eamon - 16 Mayıs 2022, 15:39:04
Arkadaşlar adamın istediği şey sadece nametag, saçma sapan gereksiz kodlar atıyorsunuz.
Create3DTextLabel'in idsini tutacak bir tane değişken oluşturacaksınız. Admin olan kişi aduty yazdığında Creat3DTextLabel ile istediğiniz yazıyı yazıp Attach3DTextLabelToPlayer ile onu üzerine sabitleyeceksiniz, aduty'den çıktığında veya oyundan çıktığında ise tekrar sileceksiniz.
Arkadaşın işini kolaylaştırmak için include attım, moduna özel kod yazıp veriyorum. Saçma sapan kodlar atıyorsunuz diyorsun. Bu kadar anlattın, bu adam anladı ve yapıyor mu şimdi? Adam PlayerData enumunu variable olarak kendi oyuncu enumuna yazmış yeni başladım diye eklemiş. Saçma sapan işler yapmayın.

public class gtaMultiSignature {
    public static void main(String[] args) {
      System.out.println("How can I help you?");
      System.out.println("C#, C++, Java, Python, LUA, PHP, .NET, Typescript, Javascript");
    }
}

oppai

Alıntı yapılan: Lawnless - 16 Mayıs 2022, 22:35:40
Alıntı yapılan: Eamon - 16 Mayıs 2022, 15:39:04
Arkadaşlar adamın istediği şey sadece nametag, saçma sapan gereksiz kodlar atıyorsunuz.
Create3DTextLabel'in idsini tutacak bir tane değişken oluşturacaksınız. Admin olan kişi aduty yazdığında Creat3DTextLabel ile istediğiniz yazıyı yazıp Attach3DTextLabelToPlayer ile onu üzerine sabitleyeceksiniz, aduty'den çıktığında veya oyundan çıktığında ise tekrar sileceksiniz.
Arkadaşın işini kolaylaştırmak için include attım, moduna özel kod yazıp veriyorum. Saçma sapan kodlar atıyorsunuz diyorsun. Bu kadar anlattın, bu adam anladı ve yapıyor mu şimdi? Adam PlayerData enumunu variable olarak kendi oyuncu enumuna yazmış yeni başladım diye eklemiş. Saçma sapan işler yapmayın.
Hocam uğraştığınız için çok teşekkür ederim ne yapmam gerektiğini anlattığınız zaman moda uyarlamaya çalıştım lakin hata verdi büyük ihtimalle öncesinde değiştirdiğim şeylerden ötürüdür
modun saf yedek dosyasında tekrar deneyeceğim hata alırsam yazarım

bıktırdı bi tık beni farklı şeylerle de uğraştım o yüzden sonra deniyeceğim tekrardan çok teşekkürler


Purgatory

Alıntı yapılan:  Bölüm Kuralları
Açılan taleplerin son iletisi 10 günü geçmesi durumunda; konu kilitlenip, kilitli konular bölümüne taşınacaktır. Sorunu çözülen konularınızı kilitleyip, moderatörlere bildiriniz.
Konu kilit+arşiv