←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Dodatkowy exp po zabiciu gracza

  • +
  • -
Dziobak?'s Photo Dziobak? 15.12.2014

Siemanko, mam problem ponieważ nie działa mi dodatkowe HP za zabicie, piszę sobie plugin gildię no i dodałem umiejętność dodatkowy exp za zabicie, no ale niestety coś nie działa jak powinno.

 

Kawałek kodu

public Death()
{
	new attacker = read_data(1);
	
	new aData[ GildiaInfo ];
	
	new xpp = cod_get_user_xp(attacker)
	new KILL_EXP = aData[ GildiaEXP ]
	cod_set_user_xp(attacker, xpp + KILL_EXP)
	ColorChat(attacker, RED, "%i expa ", get_pcvar_num( KILL_EXP ))

}

lub ten

public DeathMsg()
{
	new kid = read_data(1)
	new vid = read_data(2)
	
	new aData[ GildiaInfo ];
	
	if( kid == vid )
		return PLUGIN_CONTINUE;
		
	if(is_user_connected(kid) || is_user_connected(vid))
	cod_set_user_xp(kid, cod_get_user_xp(kid) + aData[ GildiaEXP ] );
	ColorChat(kid, NORMAL, "dostales + %i expa", aData[ GildiaEXP ] );
	
	return PLUGIN_CONTINUE;
}

oba mają taki sam skutek czyli po zabiciu kogoś informacja dostałeś + 0 expa..... Nie wiem o co chodzi.

Quote

  • +
  • -
Eryk172's Photo Eryk172 15.12.2014

Nie dziwie Ci się, że zmienna wynosi 0 , ponieważ nie wczytałeś do niej żadnej wartości.

Quote

  • +
  • -
Dziobak?'s Photo Dziobak? 12.01.2015

Nie dziwie Ci się, że zmienna wynosi 0 , ponieważ nie wczytałeś do niej żadnej wartości.

 

 

No skoro mam taki kod

		case 2:
		{
			if( aData[ GildiaEXP ] == get_pcvar_num( g_pPoziomEXP ) )
			{
				ColorChat( id, NORMAL, "%s maxymalny poziom tej umiejetnosci", gPrefix  );
				MenuUmiejetnosci( id );
				return PLUGIN_HANDLED;
			}
			
			new iOrdery = cod_get_user_Ordery(id) - get_pcvar_num( g_pKosztEXP );
			
			if( iOrdery < 0 )
			{
				ColorChat( id, NORMAL, "%s Nie masz wystarczajacej ilosci Orderow", gPrefix );
				MenuUmiejetnosci( id );
				return PLUGIN_HANDLED;
			}
			
			aData[ GildiaEXP ]++;
			
			cod_set_user_Ordery(id, iOrdery);
		}

W innych umiejętnościach z tej samej opcji skorzystałem i działa ale tutaj coś nie hallo

Quote

  • +
  • -
dasiek's Photo dasiek 12.01.2015

new aData[ GildiaInfo ];

 

 

 

w tym przypadku przecież Tworzysz zmienną od zera. Ona nie ma nic. 


radim (12.01.2015 13:20):
przecież* :*
Quote

  • +
  • -
Eryk172's Photo Eryk172 13.01.2015

Z racji tego , że napisałem inny plugin. Tego jako podstawę klanów nie polecam, stracisz tylko dużo godzin na kod...

		new aData[ GangInfo ];
		ArrayGetArray( g_aGangs, g_iGang[ id ], aData );

		Wtedy już możesz użyć np aData[ GangHP ]
Quote