Problema: error 28: invalid subscript
#1

Bueno, intentaba hacer un cуdigo para aumentar el daсo a las armas. Este es el codigo:

Код:
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
	new Float:AR, Float:HP;
	GetPlayerArmour(playerid, AR);
	GetPlayerHealth(playerid, HP);
	if(AR[playerid] > 0.0 )
	{
		if(weaponid == 24) SetPlayerHealth(playerid, AR-50);//DesertEagle
    	if(weaponid == 22) SetPlayerHealth(playerid, AR-20);//Colt45
    	if(weaponid == 32) SetPlayerHealth(playerid, AR-10);//Tec9
    	if(weaponid == 28) SetPlayerHealth(playerid, AR-10);//Uzi
    	if(weaponid == 23) SetPlayerHealth(playerid, AR-50);//SilencedColt
    	if(weaponid == 31) SetPlayerHealth(playerid, AR-35);//M4
    	if(weaponid == 30) SetPlayerHealth(playerid, AR-40);//AK
    	if(weaponid == 29) SetPlayerHealth(playerid, AR-18);//MP5
    	if(weaponid == 34) SetPlayerHealth(playerid, AR-300);//SniperRifle
    	if(weaponid == 33) SetPlayerHealth(playerid, AR-60);//CuntGun
    	if(weaponid == 25) SetPlayerHealth(playerid, AR-100);//PumpShotgun
    	if(weaponid == 27) SetPlayerHealth(playerid, AR-70);//Spaz12
	}
	else if(AR[playerid] == 0.0 )
	{
		if(weaponid == 24) SetPlayerHealth(playerid, HP-50);//DesertEagle
    	if(weaponid == 22) SetPlayerHealth(playerid, HP-20);//Colt45
    	if(weaponid == 32) SetPlayerHealth(playerid, HP-10);//Tec9
    	if(weaponid == 28) SetPlayerHealth(playerid, HP-10);//Uzi
    	if(weaponid == 23) SetPlayerHealth(playerid, HP-50);//SilencedColt
    	if(weaponid == 31) SetPlayerHealth(playerid, HP-35);//M4
    	if(weaponid == 30) SetPlayerHealth(playerid, HP-40);//AK
    	if(weaponid == 29) SetPlayerHealth(playerid, HP-18);//MP5
    	if(weaponid == 34) SetPlayerHealth(playerid, HP-300);//SniperRifle
    	if(weaponid == 33) SetPlayerHealth(playerid, HP-60);//CuntGun
    	if(weaponid == 25) SetPlayerHealth(playerid, HP-100);//PumpShotgun
    	if(weaponid == 27) SetPlayerHealth(playerid, HP-70);//Spaz12
    }
	return 1;
}
Y este el error:
Код:
C:\Users\Sw3Ko\Desktop\DELTA TDM\DELTA Train fast proyect\gamemodes\DELTATrainserver2.pwn(3056) : error 028: invalid subscript (not an array or too many subscripts): "AR"
C:\Users\Sw3Ko\Desktop\DELTA TDM\DELTA Train fast proyect\gamemodes\DELTATrainserver2.pwn(3056) : warning 215: expression has no effect
C:\Users\Sw3Ko\Desktop\DELTA TDM\DELTA Train fast proyect\gamemodes\DELTATrainserver2.pwn(3056) : error 001: expected token: ";", but found "]"
C:\Users\Sw3Ko\Desktop\DELTA TDM\DELTA Train fast proyect\gamemodes\DELTATrainserver2.pwn(3056) : error 029: invalid expression, assumed zero
C:\Users\Sw3Ko\Desktop\DELTA TDM\DELTA Train fast proyect\gamemodes\DELTATrainserver2.pwn(3056) : fatal error 107: too many error messages on one line
Sinceramente, no localizo el fallo y no tengo ni diea de arreglarlo ._. Es justo en esta linea:
Код:
	if(AR[playerid] > 0.0 )
Reply
#2

pawn Код:
if(AR[playerid] > 0.0 )
?
Reply
#3

Quote:
Originally Posted by RaZVaN ^ xD
Посмотреть сообщение
pawn Код:
if(AR[playerid] > 0.0 )
?
Acabo de darme cuenta que habia puesto ; donde no va xD Lo arregle pero sigue tirandome el error.

Quiero poner de tal forma que, si tienes mбs armadura de 0 te quite armadura, y no vida.

Edit: Ya lo solucione. Sorry y cierren o borren post.
Reply
#4

Quote:
Originally Posted by ZakeMeteo
Посмотреть сообщение
Acabo de darme cuenta que habia puesto ; donde no va xD Lo arregle pero sigue tirandome el error.

Quiero poner de tal forma que, si tienes mбs armadura de 0 te quite armadura, y no vida.

Edit: Ya lo solucione. Sorry y cierren o borren post.
new AR[MAX_PLAYERS];
Reply
#5

es if(AR > 0.0)
Reply
#6

new Float:AR, Float:HP; ¬¬
Reply
#7

Quote:
Originally Posted by bytytus
Посмотреть сообщение
new Float:AR, Float:HP; ¬¬
new Float:AR, Float:HP;
lo tiene igual no se que decis xD
Pero lo usa con [playerid] lo tiene que definir con [MAX_PLAYERS]
o sacarle el [playerid]
Reply
#8

PHP код:

public OnPlayerTakeDamage(playeridissueridFloatamountweaponid)
{
    new 
Float:AR[MAX_PLAYERS], Float:HP[MAX_PLAYERS];
    
GetPlayerArmour(playeridAR);
    
GetPlayerHealth(playeridHP);
    if(
AR[playerid] > 0.0 )
    {
        if(
weaponid == 24SetPlayerHealth(playeridAR-50);//DesertEagle
        
if(weaponid == 22SetPlayerHealth(playeridAR-20);//Colt45
        
if(weaponid == 32SetPlayerHealth(playeridAR-10);//Tec9
        
if(weaponid == 28SetPlayerHealth(playeridAR-10);//Uzi
        
if(weaponid == 23SetPlayerHealth(playeridAR-50);//SilencedColt
        
if(weaponid == 31SetPlayerHealth(playeridAR-35);//M4
        
if(weaponid == 30SetPlayerHealth(playeridAR-40);//AK
        
if(weaponid == 29SetPlayerHealth(playeridAR-18);//MP5
        
if(weaponid == 34SetPlayerHealth(playeridAR-300);//SniperRifle
        
if(weaponid == 33SetPlayerHealth(playeridAR-60);//CuntGun
        
if(weaponid == 25SetPlayerHealth(playeridAR-100);//PumpShotgun
        
if(weaponid == 27SetPlayerHealth(playeridAR-70);//Spaz12
    
}
    else if(
AR[playerid] == 0.0 )
    {
        if(
weaponid == 24SetPlayerHealth(playeridHP-50);//DesertEagle
        
if(weaponid == 22SetPlayerHealth(playeridHP-20);//Colt45
        
if(weaponid == 32SetPlayerHealth(playeridHP-10);//Tec9
        
if(weaponid == 28SetPlayerHealth(playeridHP-10);//Uzi
        
if(weaponid == 23SetPlayerHealth(playeridHP-50);//SilencedColt
        
if(weaponid == 31SetPlayerHealth(playeridHP-35);//M4
        
if(weaponid == 30SetPlayerHealth(playeridHP-40);//AK
        
if(weaponid == 29SetPlayerHealth(playeridHP-18);//MP5
        
if(weaponid == 34SetPlayerHealth(playeridHP-300);//SniperRifle
        
if(weaponid == 33SetPlayerHealth(playeridHP-60);//CuntGun
        
if(weaponid == 25SetPlayerHealth(playeridHP-100);//PumpShotgun
        
if(weaponid == 27SetPlayerHealth(playeridHP-70);//Spaz12
    
}
    return 
1;

Reply
#9

probe el de cesar_****** y funciono perfectamente
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)