Cerere plugin-uri Halloween

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Forum rules
Accesează link-ul pentru a putea vedea regulile forumului

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
Post Reply
Afrodita
Membru, skill 0
Membru, skill 0
Posts: 1
Joined: 28 Oct 2018, 00:49
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

28 Oct 2018, 00:54

Buna,as vrea si eu niste plugin-uri ca tot este halloween gen:
-dovleci pe jos
Last edited by Laurentiu P. on 28 Oct 2018, 07:05, edited 1 time in total.
Reason: Aplicare regulament. [ 1 plugin pe topic ]
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:

28 Oct 2018, 17:28

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <xs>

#define PLUGIN "Pumpkin on Maps"
#define VERSION "1.0"
#define AUTHOR "Aragon*"	// editat de yontu

#define ADMIN_ACC	ADMIN_IMMUNITY

new const PumpkinModel[] = "models/pumpkin.mdl";
new const TreeClassname[] = "pUmpk1NNN";
new menu;

new Float:fMaxs[3] = { 16.0, 16.0, 38.0 };
new Float:fMins[3] = { -16.0, -16.0, -38.0 };

new const PumpkinColorGlow[ 6 ][ 3 ]  =
{
	{ 0, 255, 255 },
	{ 255, 255, 0 },
	{ 255, 0, 255 },
	{ 255, 0, 0 },
	{ 0, 255, 0 },
	{ 0, 255, 0 }
};

public plugin_init() {

	register_plugin(PLUGIN, VERSION, AUTHOR);

	register_think( TreeClassname, "make_dlight" );

	register_clcmd("say /pumpkin", "PumpkinMenu");
	register_clcmd("say /saveorigins", "cmdSaveOrigins");
}

public plugin_precache()
{
	precache_model(PumpkinModel);
}

public plugin_cfg()
{
	static sConfigsDir[64], sFile[64];
	get_configsdir(sConfigsDir, sizeof sConfigsDir - 1);
	
	static sMapName[32];
	get_mapname(sMapName, sizeof sMapName - 1);
	
	formatex(sFile, sizeof sFile - 1, "%s/Pumpkin/%s_origins.cfg", sConfigsDir, sMapName);
	
	if(!file_exists(sFile)) {
		return 1
	}
	
	static sFileOrigin[3][32], sFileAngles[3][32], iLine, iLength, sBuffer[256];
	static sTemp1[128], sTemp2[128];
	static Float:fOrigin[3], Float:fAngles[3];
	
	while(read_file(sFile, iLine++, sBuffer, sizeof sBuffer - 1, iLength))
	{
		if((sBuffer[0]==';') || !iLength)
			continue;
		
		strtok(sBuffer, sTemp1, sizeof sTemp1 - 1, sTemp2, sizeof sTemp2 - 1, '|', 0);
		
		parse(sTemp1, sFileOrigin[0], sizeof sFileOrigin[] - 1, sFileOrigin[1], sizeof sFileOrigin[] - 1, sFileOrigin[2], sizeof sFileOrigin[] - 1);
		
		fOrigin[0] = str_to_float(sFileOrigin[0]);
		fOrigin[1] = str_to_float(sFileOrigin[1]);
		fOrigin[2] = str_to_float(sFileOrigin[2]);
		
		parse(sTemp2, sFileAngles[0], sizeof sFileAngles[] - 1, sFileAngles[1], sizeof sFileAngles[] - 1, sFileAngles[2], sizeof sFileAngles[] - 1);
		
		fAngles[0] = str_to_float(sFileAngles[0]);
		fAngles[1] = str_to_float(sFileAngles[1]);
		fAngles[2] = str_to_float(sFileAngles[2]);
		
		static iEnt;
		iEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
		
		if(!iEnt)
			return 0;
		
		engfunc(EngFunc_SetOrigin, iEnt, fOrigin);
		set_pev(iEnt, pev_angles, fAngles);
	
		engfunc(EngFunc_SetModel, iEnt, PumpkinModel);
		set_pev(iEnt, pev_classname, TreeClassname);

		new iRandom = random_num( 0, 3 ); // or some many values
		set_rendering( iEnt, kRenderFxGlowShell, 
		PumpkinColorGlow[ iRandom ][ 0 ], PumpkinColorGlow[ iRandom ][ 1 ], PumpkinColorGlow[ iRandom ][ 2 ], 
		kRenderNormal, 255 );

		dllfunc(DLLFunc_Spawn, iEnt);
		set_pev(iEnt, pev_solid, SOLID_BBOX);
		engfunc(EngFunc_SetSize, iEnt, fMins, fMaxs);
	}
	return 1;
}

public PumpkinMenu(id) {

	if(!access(id, ADMIN_ACC))
		return 1;

	menu = menu_create("\yPumpkin Menu", "cmdPumpkinMenu");
	
	menu_additem(menu, "\wCreate Pumpkin", "1", 0);
	menu_additem(menu, "\wRemove Pumpkin", "2", 0);
	menu_additem(menu, "\wRotate Pumpkin", "3", 0);
	menu_additem(menu, "\wSave Pumpkin Origin", "4", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);

	return PLUGIN_CONTINUE;
}

public cmdPumpkinMenu(id, menu, item) {

	if (item == MENU_EXIT) {

		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

	new data[6], iName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
	new key = str_to_num(data);

	switch(key) {

		case 1: cmdAddPumpkin(id)
		case 2: {

			cmdRemovePumpkin(id) 
			PumpkinMenu(id)
		}

		case 3: {

			cmdRotatePumpkin(id) 
			PumpkinMenu(id)
		}

		case 4: {

			cmdSaveOrigins(id) 
			PumpkinMenu(id)
		}

		default: return PLUGIN_HANDLED;
	}

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public cmdAddPumpkin(id)
{
	if(!access(id, ADMIN_ACC))
		return 1;
	
	if(!is_user_alive(id))
		return 1;
	
	static Float:fAimOrigin[3];
	fm_get_aimorigin(id, fAimOrigin);
	
	if((engfunc(EngFunc_PointContents, fAimOrigin) != CONTENTS_SKY) && (engfunc(EngFunc_PointContents, fAimOrigin) != CONTENTS_SOLID))
	{
		static iEnt;
		iEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
		
		if(!iEnt)
			return 0;
		
		engfunc(EngFunc_SetOrigin, iEnt, fAimOrigin);
		
		engfunc(EngFunc_SetModel, iEnt, PumpkinModel);
		set_pev(iEnt, pev_classname, TreeClassname);
		
		dllfunc(DLLFunc_Spawn, iEnt);
		set_pev(iEnt, pev_solid, SOLID_BBOX);
		engfunc(EngFunc_SetSize, iEnt, fMins, fMaxs);

		new iRandom = random_num( 0, 3 ); // or some many values
		set_rendering( iEnt, kRenderFxGlowShell, 
		PumpkinColorGlow[ iRandom ][ 0 ], PumpkinColorGlow[ iRandom ][ 1 ], PumpkinColorGlow[ iRandom ][ 2 ], 
		kRenderNormal, 255 );
		
		client_print(id, print_chat, "Successfuly created a Pumpkin! Now save the origins ^"/saveorigins^"");
	}
	else
		client_print(id, print_chat, "Sorry, but that location is unavailable!");
	
	return 0;
}

public cmdRemovePumpkin(id)
{
	if(!access(id, ADMIN_ACC))
		return 1;
	
	if(!is_user_alive(id))
		return 1;
	
	static iEnt, iBody;
	get_user_aiming(id, iEnt, iBody);
	
	if(pev_valid(iEnt))
	{
		static sClassname[32];
		pev(iEnt, pev_classname, sClassname, sizeof sClassname - 1);
		
		if(!strcmp(sClassname, TreeClassname, 1))
		{
			engfunc(EngFunc_RemoveEntity, iEnt);
			
			client_print(id, print_chat, "Successfuly, you removed a tree! Now save the origins ^"/saveorigins^"");
		}
		else
			client_print(id, print_chat, "Sorry, you must aim at an Pumpkin to remove it!");
	}
	return 0;
}

public cmdRotatePumpkin(id)
{
	if(!access(id, ADMIN_ACC))
		return 1;
	
	if(!is_user_alive(id))
		return 1;
	
	static iEnt, iBody;
	get_user_aiming(id, iEnt, iBody);
	
	if(pev_valid(iEnt))
	{
		static sClassname[32];
		pev(iEnt, pev_classname, sClassname, sizeof sClassname - 1);
		
		if(!strcmp(sClassname, TreeClassname, 1))
		{
			static Float:fAngles[3];
			pev(iEnt, pev_angles, fAngles);
			
			fAngles[1] += 90.0;
			
			set_pev(iEnt, pev_angles, fAngles);
			
			client_print(id, print_chat, "Successfuly, you rotated a Pumpkin! Now save the origins ^"/saveorigins^"");
		}
		else
			client_print(id, print_chat, "Sorry, you must aim at an Pumpkin to rotate it!");
	}
	return 0;
	
}

public cmdSaveOrigins(id)
{
   if(!access(id, ADMIN_ACC))
      return 1;
   
   static sConfigsDir[64], sFile[64];
   get_configsdir(sConfigsDir, sizeof sConfigsDir - 1);
   
   static sMapName[32];
   get_mapname(sMapName, sizeof sMapName - 1);
   
   formatex(sFile, sizeof sFile - 1, "%s/Pumpkin/%s_origins.cfg", sConfigsDir, sMapName);
   
   new iEnt = -1, iCount;
   static sBuffer[256];
   
   while((iEnt = find_ent_by_class(iEnt, TreeClassname)))
   {
      new Float:fEntOrigin[3], Float:fEntAngles[3]
      pev(iEnt, pev_origin, fEntOrigin);
      pev(iEnt, pev_angles, fEntAngles);
      
      formatex(sBuffer, sizeof sBuffer - 1, "%f %f %f | %f %f %f^n", fEntOrigin[0], fEntOrigin[1], fEntOrigin[2], fEntAngles[0], fEntAngles[1], fEntAngles[2]);
      
      write_file(sFile, sBuffer, -1);
      
      iCount++;
   }
   client_print(id, print_chat, "Successfuly saved all tree origins (%d) for map %s!", iCount,sMapName);
   
   return 0;
}


public make_dlight( iEntity ) {

	MakeLight( iEntity, 40, random_num(0, 255), random_num(0, 255), random_num(0, 255) );
	/*
	static Float:fAngles[ 3 ]; 
	entity_get_vector( iEntity, EV_VEC_angles, fAngles ); 
	
	fAngles[ 1 ]--; 
	
	entity_set_vector( iEntity, EV_VEC_angles, fAngles );*/
// deasupra reprezinta sistemul de rotatie al dovlecilor, imediat cum au fost spawn-ati pe harta
	entity_set_float( iEntity, EV_FL_nextthink, halflife_time(  ) + 0.01 );
}

stock fm_get_aimorigin(index, Float:origin[3])
{
	new Float:start[3], Float:view_ofs[3];
	pev(index, pev_origin, start);
	pev(index, pev_view_ofs, view_ofs);
	xs_vec_add(start, view_ofs, start);
	
	new Float:dest[3];
	pev(index, pev_v_angle, dest);
	engfunc(EngFunc_MakeVectors, dest);
	global_get(glb_v_forward, dest);
	xs_vec_mul_scalar(dest, 9999.0, dest);
	xs_vec_add(start, dest, dest);
	
	engfunc(EngFunc_TraceLine, start, dest, 0, index, 0);
	get_tr2(0, TR_vecEndPos, origin);
	
	return 1;
}

public MakeLight( iEntity, iRadius, red, green, blue ) {

	if( is_valid_ent( iEntity ) ) {

		static Float:fOrigin[ 3 ];
		pev( iEntity, pev_origin, fOrigin );

		message_begin( MSG_BROADCAST, SVC_TEMPENTITY, _, iEntity );
		write_byte( TE_DLIGHT );
		engfunc( EngFunc_WriteCoord, fOrigin[ 0 ] );
		engfunc( EngFunc_WriteCoord, fOrigin[ 1 ] );
		engfunc( EngFunc_WriteCoord, fOrigin[ 2 ] );
		write_byte( iRadius ) 
		write_byte( red )
		write_byte( green )
		write_byte( blue )
		write_byte( 2 )
		write_byte( 0 )
		message_end(  );
	}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1048\\ f0\\ fs16 \n\\ par }
*/
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)
Post Reply

Return to “Cereri”

  • Information