←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Łaczenie pluginów

Locked

  • +
  • -
Pittero's Photo Pittero 26.08.2010

Witajcie, czy da sie polaczyc dane z jednego pluginu w drugim. Np wylosuje w jednym pluginie gracza, a w drugim dam mu np niesmiertelnosc.
Chodzi mi o samo laczenie.
Quote

  • +
  • -
Pittero's Photo Pittero 27.08.2010

R3X, dzięki bardzo, ale ja z tego tak nic nie rozumiem.
Potrzebny mi przyklad.
Np w jednym pluginie wylosujemy 1 gracza, a w drugim damy mu tryb godmode, jak napisac te laczenie bo o to mi chodzi.
Quote

  • +
  • -
R3X's Photo R3X 27.08.2010

łap przykładowy kod, same pliki .sma Ci raczej nie pomogą, porównaj ich zawartości z tutorialem o forwardach


losowanie.sma udostępnia forward, a niesmiertelnosc.sma z niego korzysta

Attached Files

Quote

  • +
  • -
Pittero's Photo Pittero 27.08.2010

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#define PLUGIN "Prowadzacy"
#define VERSION "1.0"
#define AUTHOR "peku33"

new prowadzacy_id;
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	set_task(5.0, "pokaz_prowadzacego", _, _, _, "b");
}
public pokaz_prowadzacego()
{
	if(!is_user_connected(prowadzacy_id) || !is_user_alive(prowadzacy_id) || cs_get_user_team(prowadzacy_id) != CS_TEAM_CT)
	{
		new players[32], plnum;
		get_players(players, plnum, "ache", "CT");
		if(plnum > 0)
		{
			prowadzacy_id = players[random_num(0, plnum-1)];

		}
	}
	new name[32];
	if(!is_user_alive(prowadzacy_id))
	{
		name = "Brak prowadzacego.";
	}
	else
	{
		get_user_name(prowadzacy_id, name, 31);
	}
	set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 5.0, 5.0)
	show_hudmessage(0, "Obecnie prowadzi %s", name);
}
a jak to dorobic do tego pluginu? Chodzi mi o ten forward.
Edited by Pittero, 27.08.2010 21:49.
Quote

  • +
  • -
R3X's Photo R3X 27.08.2010

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#define PLUGIN "Prowadzacy"
#define VERSION "1.0"
#define AUTHOR "peku33"

new fw;

new prowadzacy_id;
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	set_task(5.0, "pokaz_prowadzacego", _, _, _, "b");
	
	fw = CreateMultiForward("wybranoProwadzacego", ET_IGNORE, FP_CELL);
}
public pokaz_prowadzacego()
{
	if(!is_user_connected(prowadzacy_id) || !is_user_alive(prowadzacy_id) || cs_get_user_team(prowadzacy_id) != CS_TEAM_CT)
	{
		new players[32], plnum;
		get_players(players, plnum, "ache", "CT");
		if(plnum > 0)
		{
			prowadzacy_id = players[random_num(0, plnum-1)];
			new iRet;
			ExecuteForward(fw, iRet, prowadzacy_id);
		}
	}
	new name[32];
	if(!is_user_alive(prowadzacy_id))
	{
		name = "Brak prowadzacego.";
	}
	else
	{
		get_user_name(prowadzacy_id, name, 31);
	}
	set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 5.0, 5.0)
	show_hudmessage(0, "Obecnie prowadzi %s", name);
}

a potem
public wybranoProwadzacego(id){
}
w tym drugim pluginie i masz połączenie :D
Quote

  • +
  • -
Pittero's Photo Pittero 28.08.2010

dzięki przyjacielu, o to mi chodzilo.
Quote
Locked