Modificare Plugin Happy Hour

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
S3xTy
Membru, skill 0
Membru, skill 0
Posts: 33
Joined: 22 Feb 2019, 05:06
Detinator Steam: Da
SteamID: sthreexty
Fond eXtream: 0
Location: Romania
Has thanked: 2 times

24 Feb 2019, 08:23

Salutari ! As vrea si eu , daca se poate , sa se modifice urmatorul plugin HappyHour , la inceputul eventul sa apara un mesaj gen ex: "Free VIP On ! Have Fun!" si la sfarsitul eventului sa apara tot un mesaj de genu , ex: "Free VIP Off !" + pluginul sa nu afecteze Vipi actuali (ADMIN_LEVEL_A) si Ownerul , sa aibe efect si asupra celorlalte grade (Admin/Helper) si desigur la playerii activi. - Am modificat eu in sursa pentru Admin si Helper (ADMIN_LEVEL_G & ADMIN_LEVEL_E) asa cum le am eu puse..dar nu cred ca este bine :_
| Afiseaza codul
#include <amxmodx> 
#include <hamsandwich> 

#define PLUGIN "Free VIP" 
#define VERSION "1.0" 
#define AUTHOR "Chakalaka In You. Boom Boom" 

new g_FreeVip[33]; 

public plugin_init() 
{ 
    register_plugin(PLUGIN, VERSION, AUTHOR)   
    RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1) 

} 

public fwHamPlayerSpawnPost(id) 
{ 
    new szTime[3] 
    get_time("%H",szTime,2) 
       
    new iTime = str_to_num(szTime) 
    if( 20 <= iTime <= 21 ) 
    { 
        if( !(get_user_flags(id) & ADMIN_LEVEL_G & ADMIN_LEVEL_E) ) 
        { 
            remove_user_flags(id, ADMIN_USER); 
            set_user_flags(id, ADMIN_LEVEL_A); 
            g_FreeVip[id] = true; 
        } 
    } 
    else if( g_FreeVip[id] ) 
    { 
        remove_user_flags(id, ADMIN_LEVEL_A); 
        set_user_flags(id, ADMIN_USER); 
        g_FreeVip[id] = false; 
    } 
}
RoyalServer
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

24 Feb 2019, 17:30

| Afiseaza codul
[code]
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich> 

#define PLUGIN "Free VIP" 
#define VERSION "1.0" 
#define AUTHOR "Chakalaka In You. Boom Boom" 

#define FLAG_VF "a" //ADMIN_IMMUNITY			flagul atribuit pentru a avea VIP

#define ORA_START 20
#define ORA_SFARSIT 21

new g_FreeVip[33]; 

new const Protected_Flags[][]=
{
	"wqetytrutsdsfhd",
	"kwqljdklsvnjk",
	"ddasdvrqasdas"
}

new last_flags[33][35]

public plugin_init() 
{ 
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1) 
}

public client_putinserver(id)
{
	if(is_user_admin(id))
	{
		last_flags[id]=stocare_flage_len(id)
	}
}

public fwHamPlayerSpawnPost(id) 
{ 
	new Ora[3],Minut[3]
	get_time("%H",Ora,2)
	get_time("%M",Minut,2)
	new eMinut=str_to_num(Minut)
	
	new iTime = str_to_num(Ora) 
	if( ORA_START <= iTime <= ORA_SFARSIT ) 
	{
		if(iTime==ORA_START-1&&eMinut==59)	client_print(0,print_chat,"Free VIP On ! Have Fun!")
		
		if( !Protejat(id) ) 
		{ 
			remove_user_flags(id); 
			set_user_flags(id, read_flags(FLAG_VF));
		}
		else
		{
			set_user_flags(id,read_flags(last_flags[id])&&read_flags(FLAG_VF))
		}
		g_FreeVip[id] = true;
	} 
	else
	{
		if(iTime==ORA_SFARSIT-1&&eMinut==59)	client_print(0,print_chat,"Free VIP Off !")
		
		if( g_FreeVip[id] ) 
		{
			if(!Protejat(id))
			{
				remove_user_flags(id); 
				set_user_flags(id, read_flags("z"));
			}
			else
			{
				remove_user_flags(id)
				set_user_flags(id,read_flags(last_flags[id]))
			}
			g_FreeVip[id] = false;
		}
	} 
}

bool: Protejat(id)
{
	for(new i;i<charsmax(Protected_Flags);i++)	if( has_all_flags(id,Protected_Flags)||has_flag(id,FLAG_VF) )	return true
	
	return false
}

stock stocare_flage_len(id)
{
	new flage[35]
	get_flags(get_user_flags(id),flage,charsmax(flage))
	
	return flage
}[/code]
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
User avatar
S3xTy
Membru, skill 0
Membru, skill 0
Posts: 33
Joined: 22 Feb 2019, 05:06
Detinator Steam: Da
SteamID: sthreexty
Fond eXtream: 0
Location: Romania
Has thanked: 2 times

24 Feb 2019, 20:16

L-am testat si se pare ca nu merge , pluginul scoate toate accesele de la Owner/Admini/Vip ;> + nu apare mesajul ! ^^
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

24 Feb 2019, 23:19

#define FLAG_VF "a" aici e flagul care se adaugă pentru a avea acces vip
new const Protected_Flags[][]= aici adaugi ce accese să nu fie afectate de event
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
User avatar
S3xTy
Membru, skill 0
Membru, skill 0
Posts: 33
Joined: 22 Feb 2019, 05:06
Detinator Steam: Da
SteamID: sthreexty
Fond eXtream: 0
Location: Romania
Has thanked: 2 times

25 Feb 2019, 01:38

Off , Eu am incercat sa-l testez in HLDS si am setat o ora sa vad daca se activeaza Vip Free , am intrat cu nume random si pur si simplu nu aveam accesele de pe flagul respectiv , in cazul meu "m" , am incercat si prin ( #define FLAG_VF ADMIN_LEVEL_A ) fara a folosii read_flags si has_flag dar nimic... Daca mai ai o alta solutie legata de aceasta problema , cer un mic ajutor.. daca nu , puteti marca acest topic ca fiind Rezolvat si prin aceasta cale ii multumesc si lui L E V I N pentru ajutorul acordat chiar daca rezultatul nu a fost pe masura asteptarilor mele ! ^^

Eu doar voiam in plugin sa se modifice in felul urmator: Dupa ce s-a terminat Eventul "Happy Hour" cei ce au flagul pentru Vip Acces (doar useri) , sa se intoarca la flagul pe care l-au avut inainte. (default z). Vipurile "reale" , cei setati din users.ini (la mine) sa nu fie afectati de schimbare atunci cand eventul ia sfarsit.
Problema mea este: Sunt VIP cu accese (xyz) setate din users.ini , Free Vip intre orele 6-7, este 6:59 si minutul rundei este 2:25, dupa ce se termina runda userii normalii revin de la ADMIN_LEVEL_A (cel setat din sursa pentru cateva accese vip) la flagul default (z) dar pluginul face ca si cei ce au vip setati din users.ini sa piarda accesele de pe flagul respectiv (ADMIN_LEVEL_A)
Cei ce au vip setat din users.ini sunt nevoiti sa dea retry pentru a primi inapoi accesele de pe (ADMIN_LEVEL_A) mai exact flagul m.

Sursa veche , am adaugat eu colorchat + mesaj dupa exemplul tau Lev , sper ca inca se mai poate rezolva ceva.
| Afiseaza codul
#include <amxmodx> 
#include <hamsandwich> 

#define PLUGIN "-" 
#define VERSION "-" 
#define AUTHOR "-" 

new g_FreeVip[33]; 

public plugin_init() 
{ 
    register_plugin(PLUGIN, VERSION, AUTHOR)   
    RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1) 

} 

public fwHamPlayerSpawnPost(id) 
{ 
    new szTime[3] 
    get_time("%H",szTime,2) 
       
    new iTime = str_to_num(szTime) 
    if( 03 <= iTime <= 03 ) 
    { 
        if( !(get_user_flags(id) & ADMIN_LEVEL_G & ADMIN_LEVEL_E) ) 
        { 
            client_printcolor(id, "^1[^4Event^1] ^1Free VIP On!^1^4 Have Fun!")
            remove_user_flags(id, ADMIN_USER); 
            set_user_flags(id, ADMIN_LEVEL_A); 
            g_FreeVip[id] = true; 
        } 
    } 
    else if( g_FreeVip[id] ) 
    { 
        client_printcolor(id, "^1[^4Event^1] ^1Free VIP Off!")
        remove_user_flags(id, ADMIN_LEVEL_A); 
        set_user_flags(id, ADMIN_USER); 
        g_FreeVip[id] = false;		
    }
}
/*================================================================================
 [Stock]
/=================================================================================*/

stock client_printcolor(const id, const input[], any:...)
{
	new iCount = 1, iPlayers[32]
	static szMsg[191]

	vformat(szMsg, charsmax(szMsg), input, 3)
	replace_all(szMsg, 190, "/g", "^4")
	replace_all(szMsg, 190, "/y", "^1")
	replace_all(szMsg, 190, "/ctr", "^1")
	replace_all(szMsg, 190, "/w", "^0")

	if(id) iPlayers[0] = id
	else get_players(iPlayers, iCount, "ch")
	for (new i = 0; i < iCount; i++)
	{
		if(is_user_connected(iPlayers))
		{
			message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, iPlayers)
			write_byte(iPlayers)
			write_string(szMsg)
			message_end()
		}
	}
}
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

26 Feb 2019, 23:41

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich> 

#define PLUGIN "Free VIP" 
#define VERSION "1.0" 
#define AUTHOR "Chakalaka In You. Boom Boom" 

#define FLAG_VF "a" //ADMIN_IMMUNITY			flagul atribuit pentru a avea VIP

#define ORA_START 20
#define ORA_SFARSIT 24

new g_FreeVip[33]; 

new const Protected_Flags[][]=
{
	"lkcvnmmcoqp",
	"kwqljdklsvnjk",
	"ddasdvrqasdas"
}

new last_flags[33][35]

public plugin_init() 
{ 
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1) 
}

public client_putinserver(id)
{
	if(is_user_admin(id))
	{
		last_flags[id]=stocare_flage_len(id)
	}
}

public fwHamPlayerSpawnPost(id) 
{ 
	new Ora[3]
	get_time("%H",Ora,2)
	
	new iTime = str_to_num(Ora) 
	if( ORA_START <= iTime <= ORA_SFARSIT ) 
	{
		client_printcolor(id, "^1[^4Event^1] ^1Free VIP On!^1^4 Have Fun!")
		
		if( !Protejat(id) ) 
		{ 
			remove_user_flags(id); 
			set_user_flags(id, read_flags(FLAG_VF));
		}
		else
		{
			set_user_flags(id,read_flags(last_flags[id])&&read_flags(FLAG_VF))
		}
		g_FreeVip[id] = true;
	} 
	else
	{
		client_printcolor(id, "^1[^4Event^1] ^1Free VIP Off!")
		
		if( g_FreeVip[id] ) 
		{
			if(!Protejat(id))
			{
				remove_user_flags(id); 
				set_user_flags(id, read_flags("z"));
			}
			else
			{
				remove_user_flags(id)
				set_user_flags(id,read_flags(last_flags[id]))
			}
			g_FreeVip[id] = false;
		}
	} 
}

bool: Protejat(id)
{
	for(new i;i<charsmax(Protected_Flags);i++)	if( has_flag(id,FLAG_VF)||get_user_flags(id)==read_flags(Protected_Flags[i]) )	return true
	
	return false
}

stock stocare_flage_len(id)
{
	new flage[35]
	get_flags(get_user_flags(id),flage,charsmax(flage))
	
	return flage
}

stock client_printcolor(const id, const input[], any:...)
{
	new iCount = 1, iPlayers[32]
	static szMsg[191]

	vformat(szMsg, charsmax(szMsg), input, 3)
	replace_all(szMsg, 190, "/g", "^4")
	replace_all(szMsg, 190, "/y", "^1")
	replace_all(szMsg, 190, "/ctr", "^1")
	replace_all(szMsg, 190, "/w", "^0")

	if(id) iPlayers[0] = id
	else get_players(iPlayers, iCount, "ch")
	for (new i = 0; i < iCount; i++)
	{
		if(is_user_connected(iPlayers[i]))
		{
			message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, iPlayers[i])
			write_byte(iPlayers[i])
			write_string(szMsg)
			message_end()
		}
	}
}
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
User avatar
S3xTy
Membru, skill 0
Membru, skill 0
Posts: 33
Joined: 22 Feb 2019, 05:06
Detinator Steam: Da
SteamID: sthreexty
Fond eXtream: 0
Location: Romania
Has thanked: 2 times

27 Feb 2019, 02:17

Merge Excelent ! Multumesc frumos!
Post Reply

Return to “Modificari pluginuri”

  • Information