Posts: 331
Threads: 23
Joined: Mar 2013
Reputation:
0
25-06-13, 23:55
(This post was last modified: 26-06-13, 19:09 by akcaliberkk.)
Hudmessage a değişken tanımlama mümkün müdür? Ayrıca oluyorsa bi örneğini gösterebilir misiniz? "Saniye : %d" gibi bir şey üzerinden.
Anlatmak gerekirse; Slotol plugininde "say /slotol" yazınca sol üstte Şifre: diye bir şey açılıyo ve siz şifrenizi yazıyorsunuz. Ben bunu bu pluginde kullanmak istiyorum. "say /kronometre" yazıldığı zaman sol üstte Saniye: diye bi değişken tanımlama şeyi çıksın ve kaç saniye isteniyorsa oraya girilsin hud message daki değişken bu saniyeyi görüp girilen değişkenden geri saymaya başlasın.
EDIT: Biraz kötü anlattığımı düşündüm ve resim koymamın daha yararlı olacağını fark ettim
https://img12.imageshack.us/img12/5746/79e.png
Posts: 2,027
Threads: 43
Joined: Jun 2012
Reputation:
0
PHP Code: #include <amxmodx> #include <amxmisc>
#define PLUGIN "Geri Sayim Sayaci" #define VERSION "1.0" #define AUTHOR "akcaliberkk"
new is_plugin_request[33]; new bool:is_counting; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /kronometre","GetStartTime") register_clcmd("Saniye","ReceiveStartTime") } public GetStartTime(id) { is_plugin_request[id] = true; client_cmd(id,"messagemode Saniye") } public ReceiveStartTime(id) { if(!is_plugin_request[id]) { console_print(id,"Gecersiz Istek") return PLUGIN_HANDLED } new szSaniye[6]; read_args(szSaniye, charsmax(szSaniye)) remove_quotes(szSaniye) if(!szSaniye[0]) { client_print(id, print_chat, "Bos Birakamazsiniz !") client_cmd(id,"messagemode Saniye") return PLUGIN_HANDLED } new iSaniye = str_to_num(szSaniye); if(iSaniye < 1) { client_print(id, print_chat, "Pozitif Bir Tamsayi Girmelisiniz.") client_cmd(id,"messagemode Saniye") return PLUGIN_HANDLED } is_plugin_request[id] = false; if(is_counting) { client_print(id, print_chat, "Suanda Zaten Bir Geri Sayim Aktif.") return PLUGIN_HANDLED } is_counting = true; StartCountDown(iSaniye) return PLUGIN_HANDLED } public StartCountDown(sure) { set_hudmessage(255, 170, 0, -1.0, -1.0, 0, 1.0, 1.0) if(!sure) { show_hudmessage(0,"Geri Sayim Doldu !") is_counting = false; return PLUGIN_HANDLED } show_hudmessage(0,"Geri Sayim: %d Saniye",sure) sure-- set_task(1.0,"StartCountDown",sure) return PLUGIN_CONTINUE }
tam olarak istediğin şey sanırım
is_plugin_request değişkeni ne için diye sorabilirsin, söyleyeyim;
Konsola Saniye diye bir komut kaydettiğimiz için, konsola Saniye 10 yazarsak geri saymaya başlayacaktır. Fakat biz sadece say'dan yazılan kod ile çalışmasını istiyoruz.
Bu değişken ile kişi sayacı başlatmak için /kronometre komutunu kullandı mı kullanmadı mı ayırt edebiliyoruz. Özellikle banka, şifre vs içeren pluginlerde güvenlik ve bug oluşmaması açısından bunu yapmak son derece faydalıdır. Oyuncu komutu konsoldan tetiklemeye çalıştığı zaman "Geçersiz İstek" şeklinde bir uyarı ile karşılaşıcaktır.
Posts: 331
Threads: 23
Joined: Mar 2013
Reputation:
0
Aynen, TAM olarak istediğim şey buydu ve çok teşekkür ederim  Fakat bir sorum daha olucak değişken son 10 saniyeye geldiğinde devreye ses sokabilir miyiz? bu değeri cvara bağlayabilir miyiz(sesin kaçıncı saniyeden sonra devriye gireceğini)?
Posts: 2,027
Threads: 43
Joined: Jun 2012
Reputation:
0
nasıl bir ses ? şu ingilizce geri sayım sesini mi diyorsun yoksa basit bir ton mu ?
Eğer ten-nine-eight-seven... diye ses istiyorsan cvarla ayarlayamazsın. Ama sabit bir sesden bahsediyorsan ayarlayabilirsin
Posts: 331
Threads: 23
Joined: Mar 2013
Reputation:
0
Hayır sesi ben kendim yüklicem. Basit bir dıt dıt dıt sesi olucak.
Posts: 2,027
Threads: 43
Joined: Jun 2012
Reputation:
0
PHP Code: public StartCountDown(sure) { set_hudmessage(255, 170, 0, -1.0, -1.0, 0, 1.0, 1.0) if(!sure) { show_hudmessage(0,"Geri Sayim Doldu !") is_counting = false; return PLUGIN_HANDLED } if(sure <= get_pcvar_num(ses)) { // ses } show_hudmessage(0,"Geri Sayim: %d Saniye",sure) sure-- set_task(1.0,"StartCountDown",sure) return PLUGIN_CONTINUE }
bu şekilde ?
Posts: 331
Threads: 23
Joined: Mar 2013
Reputation:
0
27-06-13, 10:40
(This post was last modified: 27-06-13, 15:06 by Pikachu.)
Aynen bu şekil, bu değişkeni cvara bağlayıp istediğim saniyeden sonra ses çıkmasını da sağlayabilir miyiz?
EDIT: Bu arada aklıma takıldı;
PHP Code: new get_pcvar_num(ses) = register_cvar("kronometre_ses", "5")
Bu şekilde yapılabilir mi?
Posts: 2,027
Threads: 43
Joined: Jun 2012
Reputation:
0
new ses (global)
ses = register_cvar("kronometre_ses","5") (plugin initialize / precache / cfg)
Posts: 331
Threads: 23
Joined: Mar 2013
Reputation:
0
PHP Code: #include <amxmodx>#include <amxmisc>
#define PLUGIN "Geri Sayim Sayaci" #define VERSION "1.0" #define AUTHOR "akcaliberkk"
new ses new is_plugin_request[33]; new bool:is_counting;
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) ses = register_cvar("kronometre_ses","5") register_clcmd("say /kronometre","GetStartTime") register_clcmd("Saniye","ReceiveStartTime") }
public GetStartTime(id) { is_plugin_request[id] = true; client_cmd(id,"messagemode Saniye") }
public ReceiveStartTime(id) { if(!is_plugin_request[id]) { console_print(id,"Gecersiz Istek") return PLUGIN_HANDLED } new szSaniye[6]; read_args(szSaniye, charsmax(szSaniye)) remove_quotes(szSaniye) if(!szSaniye[0]) { client_print(id, print_chat, "Bos Birakamazsiniz !") client_cmd(id,"messagemode Saniye") return PLUGIN_HANDLED } new iSaniye = str_to_num(szSaniye); if(iSaniye < 1) { client_print(id, print_chat, "Pozitif Bir Tamsayi Girmelisiniz.") client_cmd(id,"messagemode Saniye") return PLUGIN_HANDLED } is_plugin_request[id] = false; if(is_counting) { client_print(id, print_chat, "Suanda Zaten Bir Geri Sayim Aktif.") return PLUGIN_HANDLED } is_counting = true; StartCountDown(iSaniye) return PLUGIN_HANDLED }
public StartCountDown(sure) { set_hudmessage(255, 170, 0, -1.0, -1.0, 0, 1.0, 1.0) if(!sure) { show_hudmessage(0,"Geri Sayim Doldu !") is_counting = false; return PLUGIN_HANDLED } if(sure <= get_pcvar_num(ses)) { //ses } show_hudmessage(0,"Geri Sayim: %d Saniye",sure) sure-- set_task(1.0,"StartCountDown",sure) return PLUGIN_CONTINUE }
Şey... ben nası ses tanıtıcam bilmiyorum :$
Birde (plugin initialize / precache / cfg) bunlar ne işe yarıyor?
Posts: 331
Threads: 23
Joined: Mar 2013
Reputation:
0
|