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

50 % HE dla TT


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

#1 Kubaczek <3

    Zaawansowany

  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:116
  • Steam:steam
  • Lokalizacja::)
Offline

Napisano 02.03.2010 10:50

Cześć :) Chce zrobic aby TT mieli 50% szans na HE, ale nie idzie mi to. Jak dorobic do tego sprawdzanie czy gracz jest TT?
#include <amxmodx>
#include <cstrike>
#include <fakemeta_util> // wymagany modul

#define WAIT 5.0

new PLUG[] = "HNSExtras"
new VERS[] = "1.2"
new AUTH[] = "Stewie! Modifited by silversurfer"

new hnse_on;
new nade_on;

public plugin_init()
{
register_plugin(PLUG, VERS, AUTH);
register_cvar("HNSExtras", VERS, FCVAR_SERVER|FCVAR_UNLOGGED);

register_logevent("round_start", 2, "1=Round_Start");

register_forward(FM_ClientKill, "client_kill")

hnse_on = register_cvar("hnse_on", "1");

nade_on = register_cvar("hnse_nade_on", "1", ADMIN_ADMIN);
}

public round_start()
{
set_task(WAIT, "strip");
}

public strip()
{
if(get_pcvar_num(hnse_on))
{
new players[32], num;
get_players(players, num, "ah");
new player;
for(new i = 0; i < num; i++)
{
player = players[i];


cs_set_user_money(player, 0);
fm_give_item(player, "weapon_knife");
}
}
set_task(WAIT, "weapon_chance");
}
public weapon_chance()
{
new Players[32], playerCount, i, id;
get_players(Players, playerCount, "ah");
for(i=0; i<playerCount; i++)
{
id = Players[i];

new number = random_num(0, 100);

switch(number)
{
case 0 .. 49:
{
if(get_pcvar_num(nade_on))
{
new nade = fm_give_item(id, "weapon_hegrenade");
cs_set_user_bpammo(id, CSW_HEGRENADE, 0);
cs_set_weapon_ammo(nade, 1);
client_print(id, print_chat, "[HE][50%%] Twoja nagroda to 1 granat HE!")
}
}
case 50 .. 100:
{
}
}
}
}

public client_kill(id)
{
if(is_user_alive(id))
{
console_print(id, "Nie mozesz sie teraz zabic!");

return PLUGIN_HANDLED;
}
else
{
console_print(id, "Mozesz zabic sie tylko wtedy gdy jestes zywy!")

return PLUGIN_HANDLED;
}

return PLUGIN_CONTINUE;
}

  • +
  • -
  • 0

#2 Mochi

    Zaawansowany

  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:81
  • Lokalizacja:asd
Offline

Napisano 02.03.2010 11:00

Po co
case 50 .. 100:
                {
                }
?

Daj samo
case 0 .. 49:
                {   
                        if(get_pcvar_num(nade_on))
                        {   
                                new nade = fm_give_item(id, "weapon_hegrenade");
                                cs_set_user_bpammo(id, CSW_HEGRENADE, 0);
                                cs_set_weapon_ammo(nade, 1);
                                client_print(id, print_chat, "[HE][50%%] Twoja nagroda to 1 granat HE!")
                        }   
                }

Aby sprawdzić drużynę :
get_user_team(id) == 1 // TT
get_user_team(id) == 2 // CT

  • +
  • -
  • 0

#3 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 02.03.2010 11:41

W ogóle po co takie wielkie losowanie ? ;>
Jak 50% szans to wystarczy 0 i 1 :D
  • +
  • -
  • 0

#4 Kubaczek <3

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:116
  • Steam:steam
  • Lokalizacja::)
Offline

Napisano 02.03.2010 15:36

#include <amxmodx>
#include <cstrike>
#include <fakemeta_util> // wymagany modul

#define WAIT 5.0

new PLUG[] = "HNSExtras"
new VERS[] = "1.2"
new AUTH[] = "Stewie! Modifited by silversurfer"

new hnse_on;
new nade_on;

public plugin_init()
{
register_plugin(PLUG, VERS, AUTH);
register_cvar("HNSExtras", VERS, FCVAR_SERVER|FCVAR_UNLOGGED);

register_logevent("round_start", 2, "1=Round_Start");

register_forward(FM_ClientKill, "client_kill")

hnse_on = register_cvar("hnse_on", "1");

nade_on = register_cvar("hnse_nade_on", "1", ADMIN_ADMIN);
}

public round_start()
{
set_task(WAIT, "strip");
}

public strip()
{
if(get_pcvar_num(hnse_on))
{
new players[32], num;
get_players(players, num, "ah");
new player;
for(new i = 0; i < num; i++)
{
player = players[i];


cs_set_user_money(player, 0);
fm_give_item(player, "weapon_knife");
}
}
set_task(WAIT, "weapon_chance");
}
public weapon_chance()
{
new Players[32], playerCount, i, id;
get_players(Players, playerCount, "ah");
for(i=0; i<playerCount; i++)
{
id = Players[i];

new number = random_num(0, 1);

switch(number)
{
case 0:
{
if(get_pcvar_num(nade_on)&get_user_team(id) == 1)
{
new nade = fm_give_item(id, "weapon_hegrenade");
cs_set_user_bpammo(id, CSW_HEGRENADE, 0);
cs_set_weapon_ammo(nade, 1);
client_print(id, print_chat, "[HE][50%%] Twoja nagroda to 1 granat HE!")
}
}
case 1:
{
}
}
}
}

public client_kill(id)
{
if(is_user_alive(id))
{
console_print(id, "Nie mozesz sie teraz zabic!");

return PLUGIN_HANDLED;
}
else
{
console_print(id, "Mozesz zabic sie tylko wtedy gdy jestes zywy!")

return PLUGIN_HANDLED;
}

return PLUGIN_CONTINUE;
}

Tak może być :D ?

Użytkownik kubaku4 edytował ten post 02.03.2010 15:36

  • +
  • -
  • 0

#5 Mochi

    Zaawansowany

  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:81
  • Lokalizacja:asd
Offline

Napisano 02.03.2010 15:45

Po co dawać
case 1:
{
}
jak w tym nic nie ma?
Jak będzie zero to normalnie pominie także nie musisz tego dodawać.
W client_kill(id) dajesz return FMRES_SUPERCEDE; nie return PLUGIN_HANDLED
#include <amxmodx>
#include <cstrike>
#include <fakemeta_util> // wymagany modul

#define WAIT 5.0

new PLUG[] = "HNSExtras"
new VERS[] = "1.2"
new AUTH[] = "Stewie! Modifited by silversurfer"

new hnse_on;
new nade_on;

public plugin_init()
{
	register_plugin(PLUG, VERS, AUTH);
	register_cvar("HNSExtras", VERS, FCVAR_SERVER|FCVAR_UNLOGGED);
	
	register_logevent("round_start", 2, "1=Round_Start");
	
	register_forward(FM_ClientKill, "client_kill")
	
	hnse_on = register_cvar("hnse_on", "1");
	
	nade_on = register_cvar("hnse_nade_on", "1", ADMIN_ADMIN);
}

public round_start()
{
	set_task(WAIT, "strip");
}
public strip()
{
	if(get_pcvar_num(hnse_on))
	{
		new players[32], num;
		get_players(players, num, "ah");
		new player;
		for(new i = 0; i < num; i++)
		{
			player = players[i];
			cs_set_user_money(player, 0);
			fm_give_item(player, "weapon_knife");
		}
	}
	set_task(WAIT, "weapon_chance");
}
public weapon_chance()
{
	new Players[32], playerCount, i, id;
	get_players(Players, playerCount, "ah");
	new number
	for(i=0; i<playerCount; i++)
	{
		id = Players[i];
		number = random_num(0, 1);
		switch(number)
		{
			case 0:
			{   
				if(get_pcvar_num(nade_on)&get_user_team(id) == 1)
				{   
					new nade = fm_give_item(id, "weapon_hegrenade");
					cs_set_user_bpammo(id, CSW_HEGRENADE, 0);
					cs_set_weapon_ammo(nade, 1);
					client_print(id, print_chat, "[HE][50%%] Twoja nagroda to 1 granat HE!")
				}   
			}      
		}
	}
}

public client_kill(id)
{
	if(is_user_alive(id))
	{
		console_print(id, "Nie mozesz sie teraz zabic!");
		return FMRES_SUPERCEDE; // Handle nic nie da.
	}
	else
	{
		console_print(id, "Mozesz zabic sie tylko wtedy gdy jestes zywy!")
		return FMRES_SUPERCEDE;
	}
	return PLUGIN_CONTINUE;
}

  • +
  • -
  • 0

#6 Knopers

    Nie patrz tak na mnie !

  • Przyjaciel

Reputacja: 588
Wszechwiedzący

  • Postów:2 013
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Cz-wa
Offline

Napisano 02.03.2010 16:25

Nie wiem po co wy sobie życie komplikujecie i jeszcze błędy robicie w if'ie nie & tylko &&
a poza tym nie łatwiej tak ?

if(get_pcvar_num(nade_on) && get_user_team(id) == 1 && !(random_num(0, 1)))
{
new nade = fm_give_item(id, "weapon_hegrenade");
cs_set_user_bpammo(id, CSW_HEGRENADE, 0);
cs_set_weapon_ammo(nade, 1);
client_print(id, print_chat, "[HE][50%%] Twoja nagroda to 1 granat HE!")
}


i po co jeszcze to ?
public client_kill(id)
{
if(is_user_alive(id))
{
console_print(id, "Nie mozesz sie teraz zabic!");
return FMRES_SUPERCEDE; // Handle nic nie da.
}
else
{
console_print(id, "Mozesz zabic sie tylko wtedy gdy jestes zywy!")
return FMRES_SUPERCEDE;
}
return PLUGIN_CONTINUE;
}
jak i tak zawsze zwracasz FMRES_SUPERCEDE wystarczy
public client_kill(id) return FMRES_SUPERCEDE;

wyjdzie na to samo
ew. jak tak bardzo chcesz ten napis w konsoli to
 public client_kill(id) 
{
console_print(id, "Nie mozesz sie teraz zabic!");
return FMRES_SUPERCEDE;
}

  • +
  • -
  • 0

#7 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 02.03.2010 16:38

Knopers:
get_pcvar_num(nade_on) - po co to w tym samym if'ie co przy kazdym graczu, skoro tak szybko sie cvary nie zmieniaja :F raz na funkcje starczy.

!(random_num(0, 1)) - nom negacja sprawia ze mamy 50% bo bez negaci by było nie te 50% co nam chodzi xD
  • +
  • -
  • 0

#8 Knopers

    Nie patrz tak na mnie !

  • Przyjaciel

Reputacja: 588
Wszechwiedzący

  • Postów:2 013
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Cz-wa
Offline

Napisano 02.03.2010 16:44

!(random_num(0, 1)) - nom negacja sprawia ze mamy 50% bo bez negaci by było nie te 50% co nam chodzi xD 

On koniecznie chciał 0 to nich ma :P
  • +
  • -
  • 0




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

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