⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
🌐 www.furiazm.com ⏰ 7/24 aktif Yönetim 💬 Discord.gg/furiaclancs 💰Ücretsiz Adminlik/Vip alımı 🌟 Türkiye’nin yeni en gelişmiş Zombie Plague sunucusu
Sponsor Görsel 2
SponsorSponsor

Langmenu

langmenu
Şöyle bir langmenu yazdık ancak çalışmıyor. Oyunculara gelen menüde Türkçe / İngilizce dil seçeneği olmasını istiyoruz, data/lang içerisindeki langlarda [en] olanları İngilizceyi seçenler görecek, [tr] olanları Türkçeyi seçenler görecek.

Kod:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <reapi>

new bool:ingilizce[MAX_CLIENTS+1];

public plugin_init() {
    register_plugin("Langmenu", "v0.1", "Wolfly");
    register_clcmd("say /language","langmenu");
    register_clcmd("say_team /language","langmenu");
}

public langmenu(id){
    static Menuz[512];
        
    formatex(Menuz, charsmax(Menuz), "Language Menu");
    new menu = menu_create(Menuz, "langmenu_devam");
                
    formatex(Menuz, charsmax(Menuz), "English");
    menu_additem(menu, Menuz, "1");
    formatex(Menuz, charsmax(Menuz), "Turkish");
    menu_additem(menu, Menuz, "2");
        
    formatex(Menuz, charsmax(Menuz), "Exit")
    menu_setprop(menu,MPROP_EXITNAME,Menuz)
    menu_display(id, menu);
}

public langmenu_devam(id,menu,item){
    if(item == MENU_EXIT){
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new data[6], name[32], access, callback;
    menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    new key = str_to_num(data);
    switch(key){
        case 1 :{
                ingilizce[id]=true;
                client_cmd(id, "setinfo ^"lang^" ^"en^"")
                client_print_color(id,id,"Your language settings are set to english.");
        }
        case 2 :{
            if(ingilizce[id]){
                ingilizce[id]=false;
                client_cmd(id, "setinfo ^"lang^" ^"tr^"")
                client_print_color(id,id,"Dil ayariniz Turkce Olmustur.");
            }
            else{
                client_print_color(id,id,"Dil ayariniz zaten Turkce");
            }
        }    
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;
    
}

RE: langmenu
amx_client_languages 1 aktif olmalı,
amx_langmenu ile oyuncu menüye ulaşabilir ve kişisel dilini oradan değişebilir.
RE: langmenu
(11-06-2022, 22:45)gebzelicreates Adlı Kullanıcıdan Alıntı: Şöyle bir langmenu yazdık ancak çalışmıyor. Oyunculara gelen menüde Türkçe / İngilizce dil seçeneği olmasını istiyoruz, data/lang içerisindeki langlarda [en] olanları İngilizceyi seçenler görecek, [tr] olanları Türkçeyi seçenler görecek.

Kod:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <reapi>

new bool:ingilizce[MAX_CLIENTS+1];

public plugin_init() {
    register_plugin("Langmenu", "v0.1", "Wolfly");
    register_clcmd("say /language","langmenu");
    register_clcmd("say_team /language","langmenu");
}

public langmenu(id){
    static Menuz[512];
        
    formatex(Menuz, charsmax(Menuz), "Language Menu");
    new menu = menu_create(Menuz, "langmenu_devam");
                
    formatex(Menuz, charsmax(Menuz), "English");
    menu_additem(menu, Menuz, "1");
    formatex(Menuz, charsmax(Menuz), "Turkish");
    menu_additem(menu, Menuz, "2");
        
    formatex(Menuz, charsmax(Menuz), "Exit")
    menu_setprop(menu,MPROP_EXITNAME,Menuz)
    menu_display(id, menu);
}

public langmenu_devam(id,menu,item){
    if(item == MENU_EXIT){
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new data[6], name[32], access, callback;
    menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    new key = str_to_num(data);
    switch(key){
        case 1 :{
                ingilizce[id]=true;
                client_cmd(id, "setinfo ^"lang^" ^"en^"")
                client_print_color(id,id,"Your language settings are set to english.");
        }
        case 2 :{
            if(ingilizce[id]){
                ingilizce[id]=false;
                client_cmd(id, "setinfo ^"lang^" ^"tr^"")
                client_print_color(id,id,"Dil ayariniz Turkce Olmustur.");
            }
            else{
                client_print_color(id,id,"Dil ayariniz zaten Turkce");
            }
        }    
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;
    
}

Bunun için menüde de ingilizce dil desteğinin olması gerek ve kodlamada dil olarak oyuncunun mu yoksa sunucunun mu dilini çektirdiğini bilmen gerek. Sunucunun dilini değiştirip deneyin eğer oluyorsa eklentiyi atın düzenleyelim.
Son Düzenleme: 11-06-2022, 23:23, Düzenleyen: PawNod'
RE: langmenu
Şuanda amx_langmenuyu aktif ettiğimde eklenti çalışmaya başladı.
Örneğin bir sma göndereceğim burada türkçe yazılar mevcut, buna birde if else ekleyerek ingilizce versiyonunu ekleyebilir miyiz?
Diğer 20-30 eklentimede aynısını yapacağım şablonunu gösterseniz yeterli.

mesela bu eklentiyi data/lang/zombie_plague.txt'ye bağlamak istiyorum.

[tr]
AMMO_VERILDI = Ammo Paketi Hesabınıza Eklendi.

[en]
AMMO_VERILDI = Ammo Package has been added to your account.

gibisinden.
.smaother_ammover.sma(Dosya Boyutu: 3,22 KB | İndirme Sayısı: 8)
Son Düzenleme: 11-06-2022, 23:30, Düzenleyen: gebzelicreates
RE: langmenu
İstek konusu, @Multipower adlı kullanıcı tarafından 2 saat içinde çözülmüştür.
İsteği çözdüğü için Multipower Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
Multipower Adlı kullanıcı sizin dışınızda toplam 21 kişiye yardım etmiştir.

Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Konuyu Okuyanlar: 1 Ziyaretçi