Eroare Cod

Tutoriale scripting, cod si portiuni de cod.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

User avatar
LondoN eXtream
Membru eXtream
Membru eXtream
Posts: 2755
Joined: 10 Oct 2014, 06:21
Detinator Steam: Da
SteamID: /id/london_extreamcs
Reputatie: Fost scripter eXtreamCS
Fost moderator ajutator
Membru Club eXtreamCS (6 luni)
Fond eXtream: 0
Location: Roman, Neamț
Has thanked: 3 times
Been thanked: 12 times

27 Aug 2016, 09:47

| Afiseaza codul
GetTeroPlayers(const Type)
{
	new Count = 0, i;
	static g_max_players;

	if(!g_max_players)
		g_max_players = get_maxplayers();

	switch(Type)
	{
		case 1: // All Players From Team
		{
			for(i = 1; i <= g_max_players(); i++)
			{
				if(cs_get_user_team(i) == CS_TEAM_T)
					Count++;
			}
		}

		case 2: // Alive Only
		{
			for(i = 1; i <= g_max_players(); i++)
			{
				if(cs_get_user_team(i) == CS_TEAM_T && is_user_alive(i))
					Count++;
			}
		}
	}

	return Count;
}
In sursa il folosesc altfel:

new PlayersNum = GetTeroPlayers(1) sau GetTeroPlayers(2)

si nu functioneaza, oare de ce?
RoyalServer 2
H2K// oDoamne
Membru, skill 0
Membru, skill 0
Posts: 38
Joined: 21 Aug 2016, 00:29
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

27 Aug 2016, 10:44

n-am testat :( csf
| Afiseaza codul
function ListTerrorists(const Type){

	new iPlayers[32], iTAlive, iAllT, MessageCell[32]; 

	switch(Type){

		case 1: 
		{

			get_players(iPlayers, iAllT, "e", "TERRORIST"); 

			client_print(0, print_chat, "[AMXX] Total terrorists in the team is %d", iAllT)

		}

		case 2: 
		{

			get_players(iPlayers, iTAlive, "ae", "TERRORIST"); 

			client_print(0, print_chat, "[AMXX] All alive terrorists in the team is %d", iTAlive)
		}


	}

	return PLUGIN_HANDLED;

}
User avatar
Nubo
Fost moderator
Fost moderator
Posts: 2734
Joined: 11 Jul 2012, 18:45
Detinator Steam: Da
CS Status: [əˈnɒn.ɪ.məs]
Reputatie: Fost scripter eXtreamCS
Fost eXtream Mod
Has thanked: 8 times
Been thanked: 27 times

27 Aug 2016, 17:38

La case 1 vei primi erori. Verifica daca i e conectat pana a verifica echipa.
La case 2 pune is_alive primul.
In for g_max_players e scris ca functie, fiind variabila.
Cand nu merge acest forum sunt online aici:
  • * Skype: nubo_cs
    * Y!M ID: nubo_cs
User avatar
Fuffy
Membru, skill +1
Membru, skill +1
Posts: 299
Joined: 07 Jan 2016, 08:34
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

27 Aug 2016, 19:54

AMXX Blue e acum doar pe github.
User avatar
HamletEagle
Fost moderator
Fost moderator
Posts: 750
Joined: 21 Sep 2013, 15:05
Detinator Steam: Da
CS Status: Inactiv cateva zile.
SteamID: privat
Reputatie: Fost Scripter eXtreamCS.com
Fost Moderator ajutator
Has thanked: 19 times
Been thanked: 85 times

28 Aug 2016, 19:26

Poti sa faci ceva de genul:

Code: Select all

new Players[32], NumCT, NumT
get_players(Players, NumT, "e", "TERRORIST")
get_players(Players, NumCT, "e", "CT")
Adaugi flagul "a" pe langa e daca vrei sa ii numeri doar pe cei care sunt in viata. Cand vrei sa procesezi toti playerii, nu mai face loop de la 1 la maxplayers, foloseste get_players. Problema e ca tu procesezi fiecare index care e posibil sa corespunda unui player, nu iei playeri valizi neaparat(ai avea nevoie de verificari suplimentare). get_players iti returneaza un array cu playeri valizi si poti filtra dupa cum iti doresti.
Daca vreti ajutorul meu, nu dati bump la topic, fara intrebari de genu "cat mai dureaza/mai astept mult?".
H2K// oDoamne
Membru, skill 0
Membru, skill 0
Posts: 38
Joined: 21 Aug 2016, 00:29
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

28 Aug 2016, 19:50

HamletEagle wrote:Poti sa faci ceva de genul:

Code: Select all

new Players[32], NumCT, NumT
get_players(Players, NumT, "e", "TERRORIST")
get_players(Players, NumCT, "e", "CT")
Adaugi flagul "a" pe langa e daca vrei sa ii numeri doar pe cei care sunt in viata. Cand vrei sa procesezi toti playerii, nu mai face loop de la 1 la maxplayers, foloseste get_players. Problema e ca tu procesezi fiecare index care e posibil sa corespunda unui player, nu iei playeri valizi neaparat(ai avea nevoie de verificari suplimentare). get_players iti returneaza un array cu playeri valizi si poti filtra dupa cum iti doresti.
Inca n-au invatat sa optimizeze codul, ci sa adauge cat mai mult.Cantitate si nu calitate, ceea ce este total gresit.
User avatar
LondoN eXtream
Membru eXtream
Membru eXtream
Posts: 2755
Joined: 10 Oct 2014, 06:21
Detinator Steam: Da
SteamID: /id/london_extreamcs
Reputatie: Fost scripter eXtreamCS
Fost moderator ajutator
Membru Club eXtreamCS (6 luni)
Fond eXtream: 0
Location: Roman, Neamț
Has thanked: 3 times
Been thanked: 12 times

29 Aug 2016, 10:52

H2K// oDoamne wrote:
HamletEagle wrote:Poti sa faci ceva de genul:

Code: Select all

new Players[32], NumCT, NumT
get_players(Players, NumT, "e", "TERRORIST")
get_players(Players, NumCT, "e", "CT")
Adaugi flagul "a" pe langa e daca vrei sa ii numeri doar pe cei care sunt in viata. Cand vrei sa procesezi toti playerii, nu mai face loop de la 1 la maxplayers, foloseste get_players. Problema e ca tu procesezi fiecare index care e posibil sa corespunda unui player, nu iei playeri valizi neaparat(ai avea nevoie de verificari suplimentare). get_players iti returneaza un array cu playeri valizi si poti filtra dupa cum iti doresti.
Inca n-au invatat sa optimizeze codul, ci sa adauge cat mai mult.Cantitate si nu calitate, ceea ce este total gresit.

pe tine te-a bagat cineva in seama?
nu mai spun ca ai lasat un cod de nota 999999, ca mna, esti cel mai bun scripter. :troll
User avatar
HamletEagle
Fost moderator
Fost moderator
Posts: 750
Joined: 21 Sep 2013, 15:05
Detinator Steam: Da
CS Status: Inactiv cateva zile.
SteamID: privat
Reputatie: Fost Scripter eXtreamCS.com
Fost Moderator ajutator
Has thanked: 19 times
Been thanked: 85 times

29 Aug 2016, 19:38

LondoN eXtream wrote:
H2K// oDoamne wrote:
HamletEagle wrote:Poti sa faci ceva de genul:

Code: Select all

new Players[32], NumCT, NumT
get_players(Players, NumT, "e", "TERRORIST")
get_players(Players, NumCT, "e", "CT")
Adaugi flagul "a" pe langa e daca vrei sa ii numeri doar pe cei care sunt in viata. Cand vrei sa procesezi toti playerii, nu mai face loop de la 1 la maxplayers, foloseste get_players. Problema e ca tu procesezi fiecare index care e posibil sa corespunda unui player, nu iei playeri valizi neaparat(ai avea nevoie de verificari suplimentare). get_players iti returneaza un array cu playeri valizi si poti filtra dupa cum iti doresti.
Inca n-au invatat sa optimizeze codul, ci sa adauge cat mai mult.Cantitate si nu calitate, ceea ce este total gresit.
pe tine te-a bagat cineva in seama?
nu mai spun ca ai lasat un cod de nota 999999, ca mna, esti cel mai bun scripter. :troll

A lasat un cod corect, care-i problema? Si nu vad sa fi zis el ca e cel mai bun scripter sau ceva. Mda, iar atitudinea asta.. vine un om, te ajuta si tu in loc sa-i multumesti, te iei de el.
Daca vreti ajutorul meu, nu dati bump la topic, fara intrebari de genu "cat mai dureaza/mai astept mult?".
Lux0R^
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 1222
Joined: 13 Jul 2013, 16:31
Detinator Steam: Da
Reputatie: Scripter eXtreamCS
Moderator ajutator
Has thanked: 15 times
Been thanked: 12 times

30 Aug 2016, 00:22

HamletEagle wrote:
LondoN eXtream wrote:
H2K// oDoamne wrote:
Inca n-au invatat sa optimizeze codul, ci sa adauge cat mai mult.Cantitate si nu calitate, ceea ce este total gresit.
pe tine te-a bagat cineva in seama?
nu mai spun ca ai lasat un cod de nota 999999, ca mna, esti cel mai bun scripter. :troll

A lasat un cod corect, care-i problema? Si nu vad sa fi zis el ca e cel mai bun scripter sau ceva. Mda, iar atitudinea asta.. vine un om, te ajuta si tu in loc sa-i multumesti, te iei de el.

Legat de cod corect, am luat asta din primul cod desi n-am rabdare sa vad la ce cod te-ai referit :
for(i = 1; i <= g_max_players(); i++)
Hint : i <=
Pauza pana in iulie... licenta ^^

Fara pm-uri pentru pluginuri de zm/furien + tot ce tine de vip.

Codul Scripterului: scripting/codul-scripterului-t362300.html#p2754224
User avatar
FaTzZu
Fost moderator
Fost moderator
Posts: 1206
Joined: 22 Dec 2012, 18:37
Detinator Steam: Da
Reputatie: Fost moderator ajutator
Has thanked: 114 times
Been thanked: 168 times

30 Aug 2016, 00:56

LondoN eXtream wrote:
| Afiseaza codul
GetTeroPlayers(const Type)
{
	new Count = 0, i;
	static g_max_players;

	if(!g_max_players)
		g_max_players = get_maxplayers();

	switch(Type)
	{
		case 1: // All Players From Team
		{
			for(i = 1; i <= g_max_players(); i++)
			{
				if(cs_get_user_team(i) == CS_TEAM_T)
					Count++;
			}
		}

		case 2: // Alive Only
		{
			for(i = 1; i <= g_max_players(); i++)
			{
				if(cs_get_user_team(i) == CS_TEAM_T && is_user_alive(i))
					Count++;
			}
		}
	}

	return Count;
}
In sursa il folosesc altfel:

new PlayersNum = GetTeroPlayers(1) sau GetTeroPlayers(2)

si nu functioneaza, oare de ce?
Alt hint : dacă folosesti "i" doar in loop initializeaza-l acolo ( for(new i ...)
A fool's brain digests philosophy into folly, science into superstition, and art into pedantry.

#RETIRED.
User avatar
LondoN eXtream
Membru eXtream
Membru eXtream
Posts: 2755
Joined: 10 Oct 2014, 06:21
Detinator Steam: Da
SteamID: /id/london_extreamcs
Reputatie: Fost scripter eXtreamCS
Fost moderator ajutator
Membru Club eXtreamCS (6 luni)
Fond eXtream: 0
Location: Roman, Neamț
Has thanked: 3 times
Been thanked: 12 times

30 Aug 2016, 09:34

new | Afiseaza codul
GetTeroPlayers(const Type) {
	new Count = 0;

	static g_max_players;
	
	if(!g_max_players)
		g_max_players = get_maxplayers();

	switch(Type) {
		case 1: {
			for(new i = 1; i <= g_max_players; i++)	{
				if(is_user_connected(i) && cs_get_user_team(i) == CS_TEAM_T)
					Count++;		
			}
		}

		case 2: {
			for(new i = 1; i <= g_max_players; i++) {
				if(is_user_connected(i) && is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T)
					Count++;
			}
		}
	}


	return Count;
}
User avatar
HamletEagle
Fost moderator
Fost moderator
Posts: 750
Joined: 21 Sep 2013, 15:05
Detinator Steam: Da
CS Status: Inactiv cateva zile.
SteamID: privat
Reputatie: Fost Scripter eXtreamCS.com
Fost Moderator ajutator
Has thanked: 19 times
Been thanked: 85 times

30 Aug 2016, 13:57

@London, tu nu vrei sa inveti nimic? Ti-am explicat ca nu e ok sa faci loop de la 1 la maxplayers, foloseste ce ti-am aratat mai sus. Tot ce faci tu acolo e facut automat de get_players.

@Lux0R^, vorbeam de codul lui H2K// oDoamne.
Daca vreti ajutorul meu, nu dati bump la topic, fara intrebari de genu "cat mai dureaza/mai astept mult?".
Post Reply

Return to “Scripting”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 13 guests