Jump to content

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

Posted Image Posted Image

Guest Message by DevFuse
 

Photo

[ROZWIĄZANE] Błąd podczas kompilacji ;)


Best Answer venom1324, 04.01.2015 15:50

#include <amxmodx>
#include <cstrike>

#define PLUGIN "money"
#define VERSION "1.0"
#define AUTHOR "intel"

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_event("DeathMsg", "DeathMsg", "a")
}
public DeathMsg()
{
	new zabojca=read_data(1);
	if(!is_user_alive(zabojca) && (get_user_team(zabojca) != 2))
	{
	return PLUGIN_CONTINUE;
	}
	cs_set_user_money(zabojca, cs_get_user_money(zabojca)+500, 1);
	return PLUGIN_CONTINUE;
}

Tak powinno być. Błąd był dlatego, że zmienna "zabojca" nie była rodzajem CsTeams, i polecam użycia get_user_team zamiast cs_get_user_team. Dodatkowo negacje przeprowadziłem poprawnie, w Twojej był błąd.

 

Pozdrawiam, Piotrek.

Go to the full post


  • This topic is locked This topic is locked
5 replies to this topic

#1 IntelCom

    Wszechwiedzący

  • Power User

Reputacja: 100
Zaawansowany

  • Postów:500
  • GG:
  • Imię:Dawid
  • Lokalizacja:Opole
Offline

Posted 04.01.2015 15:03

Witam,

 

Podczas kompilacji tegoż pluginu wystąpił następujący błąd.

 

1) PLUGIN

#include <amxmodx>
#include <cstrike>

#define PLUGIN "money"
#define VERSION "1.0"
#define AUTHOR "intel"

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_event("DeathMsg", "DeathMsg", "a")
}
public DeathMsg()
{
	new zabojca=read_data(1);
	if(!is_user_alive(zabojca) && (!cs_get_user_team(zabojca) == 2))
	{
	return PLUGIN_CONTINUE;
	}
	cs_set_user_money(zabojca, cs_get_user_money(zabojca)+500, 1);
	return PLUGIN_CONTINUE;
}

2) BŁAD

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

kasa.sma(16) : warning 213: tag mismatch
Header size:            312 bytes
Code size:              480 bytes
Data size:              148 bytes
Stack/heap size:      16384 bytes; estimated max. usage=39 cells (156 bytes)
Total requirements:   17324 bytes

1 Warning.
Done.

Proszę o wyjaśnienie błędu.


  • +
  • -
  • 0

#2 Petpat

    Wszechwidzący

  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:246
  • Imię:Łukasz
  • Lokalizacja:Rzeszów
Offline

Posted 04.01.2015 15:39

public DeathMsg()
{
new zabojca=read_data(1);
if(!is_user_alive(zabojca) && cs_get_user_team(zabojca) == CS_TEAM_CT)
return PLUGIN_CONTINUE

cs_set_user_money(zabojca, cs_get_user_money(zabojca)+500, 1);
return PLUGIN_CONTINUE;
}


Po co stawiasz negacje przy sprawdzaniu teamu ?
  • +
  • -
  • 1

#3 IntelCom

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 100
Zaawansowany

  • Postów:500
  • GG:
  • Imię:Dawid
  • Lokalizacja:Opole
Offline

Posted 04.01.2015 15:45

Po co?

 

Dlatego, żeby jak gracz będzie w TT, albo siedział na SPECT to żeby dalsze działanie tej funkcji zostało zatrzymane poprzez return PLUGIN_CONTINUE.


  • +
  • -
  • 0

#4 venom1324

    Życzliwy

  • Użytkownik

Reputacja: -7
Nowy

  • Postów:20
  • Imię:Czolikanus
  • Lokalizacja:Chiny
Offline

Posted 04.01.2015 15:50   Best Answer

#include <amxmodx>
#include <cstrike>

#define PLUGIN "money"
#define VERSION "1.0"
#define AUTHOR "intel"

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_event("DeathMsg", "DeathMsg", "a")
}
public DeathMsg()
{
	new zabojca=read_data(1);
	if(!is_user_alive(zabojca) && (get_user_team(zabojca) != 2))
	{
	return PLUGIN_CONTINUE;
	}
	cs_set_user_money(zabojca, cs_get_user_money(zabojca)+500, 1);
	return PLUGIN_CONTINUE;
}

Tak powinno być. Błąd był dlatego, że zmienna "zabojca" nie była rodzajem CsTeams, i polecam użycia get_user_team zamiast cs_get_user_team. Dodatkowo negacje przeprowadziłem poprawnie, w Twojej był błąd.

 

Pozdrawiam, Piotrek.


  • +
  • -
  • 1

#5 sebul

    Godlike

  • Przyjaciel

Reputacja: 2,035
Godlike

  • Postów:5,411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Posted 04.01.2015 18:57

Można też tak
if(!is_user_alive(zabojca) && (_:cs_get_user_team(zabojca) != 2))
lub tak
if(!is_user_alive(zabojca) && (cs_get_user_team(zabojca) != CsTeams:2))
albo tak
if(!is_user_alive(zabojca) && (cs_get_user_team(zabojca) != CS_TEAM_CT))
Ogólnie get_user_team może czasami (w niektórych przypadkach) zwrócić złą wartość, bo ona pobiera taką wartość, która nie aktualizuje się na bieżąco.
  • +
  • -
  • 1

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#6 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2,725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Posted 07.01.2015 21:46

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users