Modificare Plugin

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
WarGods - Tranda
Membru, skill 0
Membru, skill 0
Posts: 29
Joined: 08 Oct 2015, 21:52
Detinator Steam: Da
Fond eXtream: 0
Location: Planeta de Sus
Has thanked: 15 times

16 Sep 2023, 16:25

Salut. As dori si eu o modificare la pluginul MinPlayersMapChanger, si anume:
- Vreau sa se tina cont, daca e admin on pe server (flagul c) pluginul sa nu ruleze
- Votul hartilor sa se desfasoare precum un vot normal, dintr-un fisier precum mapcycle (minmaps - aici adaug eu hartile)
- numarul de jucatori minim il setez eu din cvar (deja exista)
- Sa existe optiune de prelungire a timpului mapei actuale, pe langa optiunea de a alege alte harti (un fel de galileo)

Code: Select all

#include <amxmodx>

#define PLUGIN "MinPlayersMapChanger"
#define VERSION "1.0"
#define AUTHOR "ExoTiQ"

new mpm_map, mpm_players
new vote_yes, vote_no
new mmp_on = 1
new menu

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	mpm_map = register_cvar("amx_mpm_map", "de_dust2_2x2")
	mpm_players = register_cvar("amx_mpm_players", "10")
}

public mpm(id) {
	if(get_playersnum() <= get_pcvar_num(mpm_players)) {
		new mpm_map_str[32], nameMap[128]
		get_pcvar_string(mpm_map, mpm_map_str, charsmax(mpm_map_str))
		format(nameMap, 127, "\ySchimbam Harta pe %s?", mpm_map_str)
		menu=menu_create(nameMap,"mpm_menu")
		menu_additem(menu,"\wDa","1")
		menu_additem(menu,"\wNu","2")
		menu_setprop(menu,MPROP_EXIT,MEXIT_NEVER)
	
		menu_display(id,menu,0)
		
		
		set_task(get_cvar_float("amx_vote_time"), "mpm_result")
	}
}

public mpm_menu(id,menu,item) {
	new data[6],iName[64],access, callback, Name[32]
	get_user_name(id, Name, charsmax(Name))
 	menu_item_getinfo(menu,item,access,data,5,iName,63,callback)
	new key = str_to_num(data)
	
	switch(key) {
		case 1:{
			vote_yes = vote_yes + 1
			ColorChat(0, BLUE, "^01[^04Map Changer Information^01] Jucatorul ^03%s ^01a votat ^04[Pentru].", Name)
		}
		case 2:{
			vote_no = vote_no + 1
			ColorChat(0, RED, "^01[^04Map Changer Information^01] Jucatorul ^03%s ^01a votat ^04[Contra].", Name)
		}
	}
	return PLUGIN_HANDLED
}

public mpm_result() {
	new Map[32], mpm_map_str[32]
	menu_destroy(menu)
	get_mapname(Map, charsmax(Map)) 
	get_pcvar_string(mpm_map, mpm_map_str, charsmax(mpm_map_str)) 
	if(vote_yes >= vote_no) {
		ColorChat(0, RED, "^01[^04Map Changer Information^01] Votarea s-a incheiat, urmatoarea harta va fi ^03%s^01.", mpm_map_str)
		set_task(4.0, "mpm_changelevel")
	}
	else {
		ColorChat(0, RED, "^01[^04Map Changer Information^01] Datorita votarii, harta curenta va fi extinsa pentru ^03%d^01 minute.", get_cvar_num("amx_extendmap_step"))
		vote_yes = 0
		vote_no = 0
		set_task((get_cvar_float("amx_extendmap_step")*30), "mpm_extend")
	}
}

public mpm_changelevel() {
	new mpm_map_str[32]
	get_pcvar_string(mpm_map, mpm_map_str, charsmax(mpm_map_str)) 
	server_cmd("changelevel %s", mpm_map_str) 
}

public mpm_extend() {
	mmp_on = 1
}

public client_putinserver(id) {
	if(mmp_on != 1) 
		return PLUGIN_HANDLED

	new Players[32], Map[32], mpm_map_str[32]
	get_mapname(Map, charsmax(Map))
	get_pcvar_string(mpm_map, mpm_map_str, charsmax(mpm_map_str))
	if(equali(Map, mpm_map_str))
		return PLUGIN_HANDLED

	new playerCount, i, player
	get_players(Players, playerCount, "ch") 
	mmp_on = 0
	for (i=0; i<playerCount; i++) {
		player = Players[i]
		
		set_task(20.0, "mpm", player)
	}
	return PLUGIN_CONTINUE
}

public client_disconnect(id) {
	if(mmp_on != 1) 
		return PLUGIN_HANDLED

	new Players[32], Map[32], mpm_map_str[32]
	get_mapname(Map, charsmax(Map))
	get_pcvar_string(mpm_map, mpm_map_str, charsmax(mpm_map_str))
	if(equali(Map, mpm_map_str))
		return PLUGIN_HANDLED

	new playerCount, i, player
	get_players(Players, playerCount, "ch") 
	for (i=0; i<playerCount; i++) {
		player = Players[i]
		
		set_task(20.0, "mpm", player)
	}
	return PLUGIN_CONTINUE
}

Scuze, am uitat sa specific: pluginul sa ruleze in intervalul orar 10:00 (ziua) - 02:00 (noaptea)
User avatar
Robertsasab
Membru, skill 0
Membru, skill 0
Posts: 28
Joined: 16 May 2022, 11:18
Detinator Steam: Da
CS Status: ZM2.LALEAGANE.RO
Detinator server CS: ZM2.LALEAGANE.RO
Fond eXtream: 0
Location: Romania
Discord: robertsasa
Has thanked: 1 time
Been thanked: 1 time

17 Sep 2023, 16:09

Nu mai bine vrei direct pluginul galileo full?
ZM2.LALEAGANE.RO
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3726
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: Levin#0061
Has thanked: 36 times
Been thanked: 578 times
Contact:

17 Sep 2023, 16:15

dc nu folosești https://dev-cs.ru/resources/444/ ? are tot ce vrei
Faceți cerere bine detaliată, aici, și respectând modelul dacă vreți ajutor.
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! (am cont 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
WarGods - Tranda
Membru, skill 0
Membru, skill 0
Posts: 29
Joined: 08 Oct 2015, 21:52
Detinator Steam: Da
Fond eXtream: 0
Location: Planeta de Sus
Has thanked: 15 times

17 Sep 2023, 20:29

Nu vreau sa inlocuiesc tot pluginul de vot...

Pluginul asta e un min players, adica cand se ajunge la un numar mic de playeri, sa porneasca un vot cu harti din alt fisier (harti mici puse de mine).

Dar, daca pe server e deja o mapa din cele mici, votul sa nu mai porneasca, sa tina cont daca e admin conectat pe server (daca e admin conectat pluginul sa nu ruleze, indiferent de numarul de playeri) si restul cerintelor scrise mai sus..
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 14 guests