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

Problem z kompilacja warunku


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
3 odpowiedzi w tym temacie

#1 wonsz żeczny

    Wszechwidzący

  • Użytkownik

Reputacja: 82
Zaawansowany

  • Postów:254
  • Imię:Wonsz
  • Lokalizacja:Żeka
Offline

Napisano 15.01.2016 16:24

Postanowiłem się coś pouczyć i napisać jakiś własny fajny sklepik.

Lecz mam problem z kompilacją i nie wiem jak to zrobić.

#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <fakemeta>
#include <xs>
#include <hamsandwich>

#define PLUGIN "SklepBB"
#define VERSION "1.0"
#define AUTHOR "rst"

#define MAX 32

new sklepmenu;

new sprite_fire,
	sprite_smoke;

new palenie_gracza[MAX+1];

new kupil[MAX+1];

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR);

	register_clcmd("say /menu", "SklepMenu");
	register_event("Damage", "Damage", "b", "2!=0");
	RegisterHam(Ham_Spawn, "player", "Spawn", 1);
}

public plugin_precache()
{
	sprite_fire = precache_model("sprites/fire.spr")
	sprite_smoke = precache_model("sprites/steam1.spr")
}

public player_spawn_post(id)
{
	kupil[id] = false;
	return PLUGIN_CONTINUE;
}

public SklepMenu(id)
{
	sklepmenu = menu_create("Widzisz menu?", "SklepMenuHNDL");

	menu_additem(sklepmenu, "");
	menu_additem(sklepmenu, "");
	menu_additem(sklepmenu, "");
	menu_additem(sklepmenu, "");
	menu_additem(sklepmenu, "");
	menu_additem(sklepmenu, "");
	menu_additem(sklepmenu, "");

	menu_setprop(sklepmenu, MPROP_EXITNAME, "Wyjscie");
	menu_display(id, sklepmenu);

	return PLUGIN_HANDLED;
}

public SklepMenuHNDL(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		return PLUGIN_HANDLED;
	}

	switch(item)
	{
		case 0: {
			Damage(id);
			kupil[id] = true;
			ColorChat(id, GREEN, "[Sklep]^x01 Mhm");
		}
		case 1: {
			
			ColorChat(id, GREEN, "[Sklep]^x01 Mhm");
		}
		case 2: {
			
			ColorChat(id, GREEN, "[Sklep]^x01 Mhm");
		}
		case 3: {
			
			ColorChat(id, GREEN, "[Sklep]^x01 Mhm");
		}
		case 4: {
			
			ColorChat(id, GREEN, "[Sklep]^x01 Mhm");
		}
		case 5: {
			
			ColorChat(id, GREEN, "[Sklep]^x01 Mhm");
		}
		case 6: {
			
			ColorChat(id, GREEN, "[Sklep]^x01 Mhm");
		}
		case 7: {
			
			ColorChat(id, GREEN, "[Sklep]^x01 Mhm");
		}
	}

	return PLUGIN_HANDLED;
}

public Damage(id)
{
	new attacker = get_user_attacker(id);
	if(!is_user_alive(attacker))
		return PLUGIN_CONTINUE;
	
	if( get_user_team == 2 && kupil[id] = true )
	{
		if(task_exists(id+2936))
			remove_task(id+2936);
		palenie_gracza[id] = 25;
		new data[2]
		data[0] = id
		data[1] = attacker
		set_task(0.2, "burning_flame", id+2936, data, 2, "b");
	}
	return PLUGIN_CONTINUE;
}

public burning_flame(data[2])
{
	new id = data[0]
	
	if(!is_user_alive(id))
	{
		palenie_gracza[id] = 0
		remove_task(id+2936);
		return PLUGIN_CONTINUE;
	}
	
	new origin[3], flags = pev(id, pev_flags)
	get_user_origin(id, origin)
	
	if(flags & FL_INWATER || palenie_gracza[id] < 1 || !get_user_health(id))
	{
		message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
		write_byte(TE_SMOKE)
		write_coord(origin[0])
		write_coord(origin[1])
		write_coord(origin[2]-50)
		write_short(sprite_smoke)
		write_byte(random_num(15,20))
		write_byte(random_num(10,20))
		message_end()
		
		remove_task(id+2936);
		return PLUGIN_CONTINUE;
	}
	
	if(flags & FL_ONGROUND)
	{
		static Float:velocity[3]
		pev(id, pev_velocity, velocity)
		xs_vec_mul_scalar(velocity, 0.5, velocity)
		set_pev(id, pev_velocity, velocity)
	}
	user_slap(data[1], 20, 0);
	
	message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
	write_byte(TE_SPRITE)
	write_coord(origin[0]+random_num(-5,5))
	write_coord(origin[1]+random_num(-5,5))
	write_coord(origin[2]+random_num(-10,10))
	write_short(sprite_fire)
	write_byte(random_num(5,10))
	write_byte(200)
	message_end()
	
	palenie_gracza[id]--
	return PLUGIN_CONTINUE;
}

W Damage(id) nie wiem jak stworzyć warunek aby się funkcja wykonała gdy gracz to kupił.

	if( get_user_team == 2 && kupil[id] = true )

Próbowałem robić też tak

public kupil(id)
{
kupil[id] = true
}

i dawałem warunek taki lecz nie działało.

	if( get_user_team == 2 && kupil(id) )

Proszę o skompilowanie i małe wytłumaczenie.


  • +
  • -
  • 0

#2 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 15.01.2016 16:35

przypisawanie wartosci - jeden znak rownosci ( = )

sprawdzanie wartosci - dwa znaki rownosci ( == )

 

o ile jest to int/bool ( w twoim przypadku tak )


Użytkownik Asiap edytował ten post 15.01.2016 16:36

  • +
  • -
  • 0

#3 wonsz żeczny

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 82
Zaawansowany

  • Postów:254
  • Imię:Wonsz
  • Lokalizacja:Żeka
Offline

Napisano 15.01.2016 16:43

Dzięki, dałem tak ale jest nadal error dotyczący samego kupil[id]
if( get_user_team == 2 && kupil[id] == true )
 
Brzmi on tak:
syntax error in the expression, or invalid function call

@EDIT

 

Sory brakowało (id) przy get_user_team

 

mam teraz tak:

if( get_user_team(id) == 2 && kupil[id] == true )

Plugin kompiluje się ale na tą linijke daje błąd tag mismatch.

Będzie działać czy trzeba poprawić? Co ten błąd oznacza?

 

@EDIT2

Już zrobiłem, użyłem bool'a.


Użytkownik wonsz żeczny edytował ten post 15.01.2016 16:58

  • +
  • -
  • 0

#4 Master Yoga

    Support Team | Mocarz

  • Support Team

Reputacja: 136
Zaawansowany

  • Postów:275
  • Lokalizacja:Magistrala Adresowa
Offline

Napisano 15.01.2016 17:00

Skoro używasz jej jako zmiennej logicznej to zmień

new kupil[MAX+1];

na

new bool:kupil[MAX+1];

  • +
  • -
  • 0

HTML ★ CSS ★ JAVASCRIPT ★ AJAX ★ JQUERY ★ PHP ★ C++ ★ PAWN ★ SQL ★ Objective-C++


MKW0tb8.pngMKW0tb8.pngMKW0tb8.png





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

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