CSPLague
Ozel Mesaj Plugini - Printable Version

+- CSPLague (https://www.csplague.com)
+-- Forum: CS 1.6 Plugin (Eklenti) Bölümü (https://www.csplague.com/forumdisplay.php?fid=6)
+--- Forum: [İSTEK] Cs 1.6 Plugin İstek Bölümü (https://www.csplague.com/forumdisplay.php?fid=80)
+---- Forum: Çözülmüş İstekler (https://www.csplague.com/forumdisplay.php?fid=87)
+---- Thread: Ozel Mesaj Plugini (/showthread.php?tid=11082)



Ozel Mesaj Plugini - xLdeJavu - 28-12-14

Selamun aleykum. Simdi aklima soyle birsey geldi eger pluginci arkadasların elinden gelirse cok iyi olur.

Fikir şu: Serverlardaki admin ve slotlara serverdaki yonetıcıler tarafından cezayi işlem uygulandıgında bu gibi cezalardan dogrudan haberi olmalari icin servera ilk girislerinde ekranın ortasında HUD mesaji ile "Ozel mesajiniz var!" diye bir yazı geçecek. O mesajida sadece server yoneticileri atabilecek admin veya slot ise /mesajlarim yazarak kendisine dogrudan bir mesaj bırakılıp bırakılmadıgını kontrol edebilecek. Eger mesaj yoksa "Ozel bir mesajiniz yok." diye bir yazı gececek saydan burdaki amaç; Yoneticiler adminlerine veya slotlarına ceza işlemi uyguladıklarında kişilerin hangi sebebten kac gun ceza yediklerinden haberdar olmaları ve bu mesajı panelden ozel bir .txt dosyasıyla duzenlenebilme olanagı olsun. Mesela ben "asd" nickli adama bir ozel mesaj iletmek istiyorum servera girisinde gorsun diye. En basitinden ornek vermek gerekirse....

"oyuncunun nicki" "burayada o kişiye iletilecek mesaj yazilsin"

yukardaki şekildeki gibi eğer pluginci arkadaslardan boyle bir plugini yapma şansları varsa sevinirim tesekkurler okudugunuz icin kolay gelsin...



Cevap: Ozel Mesaj Plugini - akcaliberkk - 29-12-14

PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Ozel Mesaj TXT"
#define VERSION "1.0"
#define AUTHOR "akcaliberkk"

#define TASK_HUD  8765

new file[] = "addons/amxmodx/configs/mesajlar.txt";
new 
bool:gChecked[33];

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("say /mesajlarim","ShowMessage");
}
public 
ShowMessage(id) {
    
gChecked[id] = true;
    
    new 
message[200],bool:newmessage;
    new 
bool:has has_user_message(id,message,charsmax(message),newmessage);
    if(!
has) {
        
ColorChat(id,"^3[Ozel Mesaj] ^4Ozel mesajiniz bulunmamaktadir.");
        return 
PLUGIN_HANDLED
    
}
    if(!
newmessage) {
        
ColorChat(id,"^3[Ozel Mesaj] ^4Bir okunmus mesaj bulundu:");
        
ColorChat(id,"^3*** ^4%s",message);
        return 
PLUGIN_HANDLED
    
}
    
ColorChat(id,"^3[Ozel Mesaj] ^4Bir okunmamis mesaj bulundu:");
    
ColorChat(id,"^3*** ^4%s",message);
    
set_read(id);
    return 
PLUGIN_HANDLED
}

public 
client_putinserver(id) {
    
gChecked[id] = false;
    new 
message[200], bool:newmessage;
    if(
has_user_message(id,message,charsmax(message),newmessage)) {
        if(
newmessage) {
            
set_task(5.0,"ShowHud",id+TASK_HUD);
        }
    }
}
public 
ShowHud(id) {
    
id-=TASK_HUD;
    if(!
is_user_connected(id)) return PLUGIN_HANDLED
    
    set_hudmessage
(025542, -1.0, -1.001.01.0)
    
show_hudmessage(id"Adiniza Kayitli^n Okunmamis Ozel Mesajiniz Bulunuyor^nKontrol Etmek Icin:^n^n/mesajlarim Yaziniz.")
    if(!
gChecked[id]) set_task(1.0,"ShowHud",id+TASK_HUD);
    
    return 
PLUGIN_HANDLED
}
stock set_read(id) {
    new 
=fopen(file,"a+");
    new 
tempfile[] = "addons/amxmodx/configs/a123temp.txt";
    new 
tf fopen(tempfile,"a+");
    
    new 
name[32];
    
get_user_name(id,name,31);
    new 
buffer[256];
    new 
szName[32], szMessage[200], szCheck[6];
    
    while(
fgets(f,buffer,charsmax(buffer))) {
        
parse(buffer,szName,charsmax(szName),szMessage,charsmax(szMessage),szCheck,charsmax(szCheck));
        if(!
equali(szName,name)) {
            
fprintf(tf,"%s",buffer);
            } else {
            
fprintf(tf,"^"%s^" ^"%s^" ^"1^"^n",szName,szMessage)
        }
    }
    
fclose(f)
    
fclose(tf)
    
delete_file(file);
    
rename_file(tempfile,file,1);
    
}
stock bool:has_user_message(idmessage[],msglen, &bool:newmessage) {
    new 
fopen(file,"rt");
    
    new 
name[32];
    
get_user_name(id,name,31);
    
newmessage false;
    
    new 
buffer[256];
    new 
szName[32], szMessage[200], szCheck[6];
    new 
check;
    while(
fgets(f,buffer,charsmax(buffer))) {
        
parse(buffer,szName,charsmax(szName),szMessage,charsmax(szMessage),szCheck,charsmax(szCheck))
        
check str_to_num(szCheck);
        if(
equali(szName,name)) {
            if(!
checknewmessage true;
            
copy(message,msglen,szMessage);
            
fclose(f);
            return 
true;
        }
    }
    
fclose(f);
    return 
false;
}
stock ColorChat(const id, const string[], {FloatSqlResul,_}:...) { 
    new 
msg[191], players[32], count 1
    
    static 
len
    
len formatex(msgcharsmax(msg), "^x01" ); 
    
vformat(msg[len], charsmax(msg) - lenstring3); 
    
    if(
id)players[0] = id
    else 
get_players(players,count,"ch"); 
    
    for (new 
0counti++){ 
        
        if(
is_user_connected(players[i])){ 
            
            
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"),_players); 
            
write_byte(players); 
            
write_string(msg); 
            
message_end(); 
        } 
    } 
    return; 


configs klasörüne mesajlar.txt dosyasını oluşturun.

Yazılışı:

"hedef isim" "gönderilecek mesaj" "0"

"0" ı koymayı unutmayın. Eğer "0", "1" e dönüşürse, bu hedef kişinin mesajı okuduğu anlamına gelir.[/i][/i][/i]


Cevap: Ozel Mesaj Plugini - xLdeJavu - 02-01-15

Tesekkurler kardeşim eline sağlık.


Cevap: Ozel Mesaj Plugini - other5445 - 07-01-15

Ct ye oto silah verme plugini istiyorum


Cevap: Ozel Mesaj Plugini - Neith - 12-01-15

Sağol eline sağlık Smile