Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Prośba o sprawdzenie pluga...


  • Zamknięty Temat jest zamknięty
3 odpowiedzi w tym temacie

#1 Paldziu

    Pomocny

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:42
  • Lokalizacja:z Przedszkola
Offline

Napisano 30.08.2009 12:53

#include <amxmodx>

#include <amxmisc>

#include <fakemeta>

#include <hamsandwich>

#include <xs>

#include <zombieplague>



new g_sniper[33] // is sniper

new g_sniperround // sniper round

new cvar_sniper, cvar_sniperchance, cvar_sniperminplayers, cvar_sniperdamage

const ACCESS_FLAG = ADMIN_BAN // to access the admin menu



public plugin_init()

{

	// Register plugin call

	register_plugin("[ZP] Sub-Plugin: Sniper", "1.0", "93()|29!/<")

	register_concmd("zp_sniper", "cmd_sniper", ACCESS_FLAG, " - Turn someone into a Sniper")

	// CVARS - Sniper

	cvar_sniper = register_cvar("zp_sniper_enabled", "1")

	cvar_sniperchance = register_cvar("zp_sniper_chance", "20")

	cvar_sniperminplayers = register_cvar("zp_sniper_min_players", "2")

	cvar_sniperdamage = register_cvar("zp_sniper_damage", "11575")

}



enum

{

	MODE_SNIPER

}



public event_round_start()

{

	// New round starting

	g_sniperround = false

}



public takedamage(victim, inflictor, attacker, Float:damage, damagetype)

{

	if (g_sniper[attacker] && g_sniperround && get_user_weapon(attacker) == CSW_AWP)

	{

		// Set sniper damage

		SetHamParamFloat(4, get_pcvar_float(cvar_sniperdamage))

		return HAM_IGNORED;

	}

	return HAM_HANDLED

}



// zp_sniper

public cmd_sniper(id, level, cid)

{

	// Check for access flag

	if (!cmd_access(id, level, cid, 1))

		return PLUGIN_HANDLED;

	

	// Swarm mode not allowed

	if (!allowed_swarm())

	{

		client_print(id, print_console, "[ZP] %L", id, "CMD_NOT")

		return PLUGIN_HANDLED;

	}

	

	command_sniper(id)

	

	return PLUGIN_HANDLED;

}



// Make a Zombie Function

make_a_zombie(mode, id)

else if ((mode == MODE_NONE && (!preventconsecutive || g_lastmode != MODE_SNIPER) && random_num(1, get_pcvar_num(cvar_sniperchance)) == get_pcvar_num(cvar_sniper) && iPlayersnum >= get_pcvar_num(cvar_sniperminplayers)) || mode == MODE_SNIPER)

	{

		// Survivor Mode

		g_survround = true

		g_sniperround = true

		g_lastmode = MODE_SNIPER

		

		// Choose player randomly?

		id = fnGetRandomAlive(random_num(1, iPlayersnum))		

		

		// Remember id for calling our forward later

		forward_id = id

		

		// MAKE SNIPER

		g_sniper[id] = true

		humanme(id, 1)

		fm_strip_user_weapons(id)

		fm_give_item(id, "weapon_knife")

		fm_give_item(id, "weapon_awp")

		

		// FINISH SNIPER

		

		// Turn the rest of players into zombies

		for (id = 1; id <= g_maxplayers; id++)

		{

			// Not alive

			if (!is_user_alive(id))

				continue;

			

			// Survivor or already a zombie

			if (g_survivor[id] || g_zombie[id])

				continue;

			

			// Turn into a zombie

			zombieme(id, 0, 0, 1)

		}



		// Play survivor sound

				

		// Get player's name

		get_user_name(forward_id, name, sizeof name - 1)

		

		// Show Survivor HUD notice

		set_hudmessage(20, 20, 255, HUD_EVENT_X, HUD_EVENT_Y, 1, 0.0, 5.0, 1.0, 1.0, -1)

		ShowSyncHudMsg(0, g_MsgSync, "%L", LANG_PLAYER, "NOTICE_SNIPER", name)

		

		// Round start forward

		ExecuteForward(g_fwRoundStart, g_fwDummyResult, MODE_SNIPER, forward_id);	

}



reset_vars(id, resetall)

{

	g_sniper[id] = false

}



public ShowHUD(taskid)

{

	else // humans

	{

		red = 0

		green = 0

		blue = 255

		if (g_sniper[id])

			formatex(class, sizeof class - 1, "%L", ID_SHOWHUD,"CLASS_SNIPER")

		if (g_survivor[id])

			formatex(class, sizeof class - 1, "%L", ID_SHOWHUD,"CLASS_SURVIVOR")

		else

			formatex(class, sizeof class - 1, "%L", ID_SHOWHUD,"CLASS_HUMAN")

	}

}



// Admin Command. zp_sniper

command_sniper(id)

{

	static name1[32]

	get_user_name(id, name1, sizeof name1 - 1)

	

	// Show activity?

	switch (get_pcvar_num(cvar_showactivity))

	{

		case 1: client_print(0, print_chat, "ADMIN - %L", LANG_PLAYER, "CMD_SNIPER")

		case 2: client_print(0, print_chat, "ADMIN %s - %L", name1, LANG_PLAYER, "CMD_SNIPER")

	}

	

	// Log to Zombie Plague log file?

	if (get_pcvar_num(cvar_logcommands))

	{

		static logdata[100], authid[32], ip[16]

		get_user_authid(id, authid, sizeof authid - 1)

		get_user_ip(id, ip, sizeof ip - 1, 1)

		formatex(logdata, sizeof logdata - 1, "ADMIN %s <%s><%s> - %L (Players: %d/%d)", name1, authid, ip, LANG_SERVER, "CMD_SWARM", fnGetPlaying(), g_maxplayers)

		log_to_file("zombieplague.log", logdata)

	}

	

	// Call Swarm Mode

	remove_task(TASK_MAKEZOMBIE)

	make_a_zombie(MODE_SNIPER, 0)

}

  • +
  • -
  • 0

#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 30.08.2009 13:03

hehe ale co mamy sprawdzić co ci nie działa :) ?
a i kody pluginów dajemy w czymś takim:
asd
taki przycisk code
  • +
  • -
  • 0

#3 Paldziu

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:42
  • Lokalizacja:z Przedszkola
Offline

Napisano 30.08.2009 13:07

to macie pomóc że mam cytuje "linia jest za długa", a nie wiem jak temu zaradzić...

EDIT:

Oho, zmieniłem jeden myk i oto co mam:

/groups/amxmodx/tmp3/textwX2ftk.sma(54) : error 017: undefined symbol "allowed_swarm"
/groups/amxmodx/tmp3/textwX2ftk.sma(67) : error 029: invalid expression, assumed zero
/groups/amxmodx/tmp3/textwX2ftk.sma(67) : warning 215: expression has no effect
/groups/amxmodx/tmp3/textwX2ftk.sma(67) : error 001: expected token: ";", but found "if"
/groups/amxmodx/tmp3/textwX2ftk.sma(70) : error 010: invalid function or declaration
/groups/amxmodx/tmp3/textwX2ftk.sma(75) : error 010: invalid function or declaration
/groups/amxmodx/tmp3/textwX2ftk.sma(78) : error 010: invalid function or declaration
/groups/amxmodx/tmp3/textwX2ftk.sma(81) : error 010: invalid function or declaration
/groups/amxmodx/tmp3/textwX2ftk.sma(84) : error 010: invalid function or declaration
/groups/amxmodx/tmp3/textwX2ftk.sma(85) : error 088: number of arguments does not match definition
/groups/amxmodx/tmp3/textwX2ftk.sma(90) : error 010: invalid function or declaration
/groups/amxmodx/tmp3/textwX2ftk.sma(93) : error 010: invalid function or declaration
/groups/amxmodx/tmp3/textwX2ftk.sma(94) : error 010: invalid function or declaration
/groups/amxmodx/tmp3/textwX2ftk.sma(97) : error 010: invalid function or declaration
/groups/amxmodx/tmp3/textwX2ftk.sma(98) : error 010: invalid function or declaration
/groups/amxmodx/tmp3/textwX2ftk.sma(101) : error 010: invalid function or declaration
/groups/amxmodx/tmp3/textwX2ftk.sma(107) : error 021: symbol already defined: "get_user_name"
/groups/amxmodx/tmp3/textwX2ftk.sma(110) : error 021: symbol already defined: "set_hudmessage"
/groups/amxmodx/tmp3/textwX2ftk.sma(114) : error 021: symbol already defined: "ExecuteForward"
/groups/amxmodx/tmp3/textwX2ftk.sma(124) : error 029: invalid expression, assumed zero
/groups/amxmodx/tmp3/textwX2ftk.sma(126) : error 017: undefined symbol "red"
/groups/amxmodx/tmp3/textwX2ftk.sma(126 -- 127) : warning 215: expression has no effect
/groups/amxmodx/tmp3/textwX2ftk.sma(127) : error 017: undefined symbol "green"
/groups/amxmodx/tmp3/textwX2ftk.sma(127 -- 128) : warning 215: expression has no effect
/groups/amxmodx/tmp3/textwX2ftk.sma(128) : error 017: undefined symbol "blue"
/groups/amxmodx/tmp3/textwX2ftk.sma(128) : fatal error 107: too many error messages on one line

  • +
  • -
  • 0

#4 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 30.08.2009 17:24

Oto kilka, które zauważyłem, zanim zrozumiałem, że nie umiesz pisać pluginów.

źle zorganizowane bloki { }
rozpoczynanie porównania od "esle if"
brak deklaracji stałych i zmiennych
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych