Buyur kardeşim zamanında adminlere özel extra item olarak glow yapmıştı arkadaş . Açıklamalı bi şekilde.
Kod: Tümünü seç
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <reapi>
#include <zombieplague>
new g_adminglow,bool:g_adminglowcontrol[MAX_CLIENTS+1];
public plugin_init() {
register_plugin("Admin random Glow", "1.0", "soldier.arda")
RegisterHookChain(RG_CBasePlayer_Spawn, "playerSpawn", true);
RegisterHookChain(RG_CBasePlayer_Killed, "playerKilled", true);
g_adminglow = zp_register_extra_item("\yRandom \wGlow \r[VIP]", 1, ZP_TEAM_HUMAN) // Zombie plague'De extra item tan?tt?n ve insan iken alabilecegini soyledik.
}
public zp_extra_item_selected(id, itemid) // Oyuncu itemi sectigi zaman sectigi asagidakinler uygulanacak
{
if(itemid == g_adminglow) // oyuncu oyuncu id ve sectigimiz extra item birbirine e?itmi diye kontrol ettirdik
{
if(get_user_flags(id) & ADMIN_SLAY) // Eger slay yetkisine sahip ise oyuncu give_glow_random(id) yonlendiriyor deilse yazi yaziyor.
{
if(!g_adminglowcontrol[id]) // Her elde 1 kere alinabilmesi icin
{
give_glow_random(id)
}
else
{
renkli_yazi(id,"!t[!nWorld War Z!t] !gHer el 1 kere glow alabilirsin..")
return PLUGIN_HANDLED
}
}
else
{
renkli_yazi(id,"!t[!nWorld War Z!t] !gGlow almak icin yetkin bulunmuyor..")
return PLUGIN_HANDLED
}
}
return PLUGIN_CONTINUE
}
public zp_user_infected_post(id)
{
// Buradaki olay? anlatay?m sana ?imdi zp_user_infected_post burada oyuncuya enfeksiyon bula?t???nda ?al??t?r?yor a?a??dakinleri
// Ama ??yle bir s?k?nt? oluyordu hani ben zombilere enfeksiyon bula??nca glowu s?f?rlatt?r?yorum ya busefer nemesisin glowunuda s?f?rlard?.
// Bunu ?nlemek i?in ilk ?nce oyucu enfeksiyon kapt? bu public y?nlendi sonra kontrol ettik e?er oyuncu zp_get_user_nemesis ile oyuncunun
// Nemesis olup olmad???n? kontrol ettik e?er nemesis ise dedik glowunu s?f?rlama sadece ald??? glow hakk?n? ve admin olup olmad???n? ve oyuncu do?unca
// Tekrar glow alabilsin diye g_adminglowcontrol de?erini false yapt?k e?er nemesis de?il ise else if olan k?s?m glowunu ve ald??? glowu ve oyuncu do?unca
// Tekrar alabilsin diye g_adminglowcontrol bu de?eri s?f?rlatt?r?yoruz.
if(zp_get_user_nemesis(id))
{
g_adminglowcontrol[id] = false
}
else if(g_adminglowcontrol[id]) // Kullan?c?da glow olup olmadigini kontrol ettirdik
{
glowver(id, 0, 0, 0)
g_adminglowcontrol[id] = false
}
}
public playerSpawn(id) {
if(!is_user_alive(id))
{
return HC_CONTINUE;
}
if(g_adminglowcontrol[id]) // Kullan?c?da glow olup olmadigini kontrol ettirdik
{
glowver(id, 0, 0, 0)
g_adminglowcontrol[id] = false // El basladigi icin sifirlattirma yaptik
}
return HC_CONTINUE;
}
public playerKilled(death) {
if(g_adminglowcontrol[death]) // Kullan?c?da glow olup olmadigini kontrol ettirdik
{
glowver(death, 0, 0, 0)
g_adminglowcontrol[death] = false // El basladigi icin sifirlattirma yaptik
}
}
public give_glow_random(id)
{
if(!is_user_alive(id)) // if(eger) demek eger oyuncu olu ise basina unlem koydumki islemi tersine cevireyim!
{
return PLUGIN_HANDLED // eger oyuncu olu ise pluginin devamini getittirmedik burada durdurduk.
}
new radnom=random_num(1, 5) // 1/5 oraninda random olustur 5 secenekten 1 tanesini sececek eger 2/5 yapsaydik 5 secenekten 2 tane sececekti.
switch(radnom) { // switch icerisinde radnom degiskenini aldik ve 5 tane anahtar olusturduk cunku 1/5 orani yaptik
case 1: {
glowver(id, 142,36,170)
g_adminglowcontrol[id] = true
renkli_yazi(id,"!t[!nWorld War Z!t] !gMor Renkli Glow aldin..")
}
case 2: {
glowver(id, 41,182,246)
g_adminglowcontrol[id] = true
renkli_yazi(id,"!t[!nWorld War Z!t] !gMavi Renkli Glow aldin..")
}
case 3: {
glowver(id, 255,255,0)
g_adminglowcontrol[id] = true
renkli_yazi(id,"!t[!nWorld War Z!t] !gSari Renkli Glow aldin..")
}
case 4: {
glowver(id, 118,255,3)
g_adminglowcontrol[id] = true
renkli_yazi(id,"!t[!nWorld War Z!t] !gYesil Renkli Glow aldin..")
}
case 5: {
glowver(id, 255,255,255)
g_adminglowcontrol[id] = true
renkli_yazi(id,"!t[!nWorld War Z!t] !gBeyaz Renkli Glow aldin..")
}
}
return PLUGIN_CONTINUE // Plugini devam ettirdik
}
stock glowver(const id, const renk1=0, const renk2=0, const renk3=0) {
new Float:RenkRender[3] // 3 adet rengimiz oldugu 3 tane olusturduk
RenkRender[0]=float(renk1) // Red
RenkRender[1]=float(renk2) // Green
RenkRender[2]=float(renk3) // Blue (RGB)
set_entvar(id, var_renderfx, kRenderFxGlowShell) // Glow ?zelli?ini verdik
set_entvar(id, var_rendercolor, RenkRender) // Renk ayar?
set_entvar(id, var_rendermode, kRenderNormal) // Ve glowun modu
set_entvar(id, var_renderamt, 30.0)
}
stock renkli_yazi(const id, const input[], any:...)
{
new count = 1, players[32];
static msg[191];
vformat(msg, 190, input, 3);
replace_all(msg, 190, "!n", "^x01"); // Default Renk(Sar??
replace_all(msg, 190, "!g", "^x04"); // Ye??Renk
replace_all(msg, 190, "!t", "^x03"); // Tak??enk( CT mavi , T k??z??
if (id) players[0] = id; else get_players(players, count, "ch"); {
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/