Array index out of bounds
#6

Quote:
Originally Posted by ALiScripter
Посмотреть сообщение
Learn how to shorten the code, how to use variables and if statements properly. You made the code very big, so I cleaned it up and fixed some bugs. Fix the indentation kindly, i wrote it in the browser. if you want to you can break the helmet and let player get headshot after getting their helmet broke, uncomment the lines to enable it.

PHP код:
public OnPlayerTakeDamage(playerid,issueridFloatamountweaponidbodypart

    if(
issuerid != INVALID_PLAYER_ID
    { 
        if((
weaponid == 34 || weaponid == 33) && bodypart == && gTeam[issuerid] != gTeam[playerid]) 
        {
                if(
gHelmet[playerid] == false)
                {
                    
SetPlayerHealth(playerid,0.0); 
                    
GameTextForPlayer(playerid,"~r~YOU GOT HEADSHOT~n~Type /buy To get Helmet",5000,3); 
                    
GameTextForPlayer(issuerid,"~r~wOw. Perfect Shot",5000,3); 
                    
PlayerPlaySound(playerid10500.00.00.0); 
                    
PlayerPlaySound(issuerid10500.00.00.0); 
                }
                else
                {
                        
/*gHelmet[playerid] = false;*/
                        
GameTextForPlayer(issuerid,"~w~Player has a ~r~helmet",5000,3); 
                        
/*RemovePlayerAttachedObject(playerid, 1);*/
                
}
        }
        
// anti-team-attack 
        
if(gTeam[issuerid] == gTeam[playerid] && EDM[playerid] == && weaponid != 18
        {
                if(
AntiSK[playerid])
                {
                        
GetPlayerHealth(issuerid,amount);
                        
SetPlayerHealth(issuerid,amount-5);
                        
GameTextForPlayer(issuerid,"~r~Player Have Anti Spawn Kill Protection"30003);
                }
                else
                {
                        
GetPlayerHealth(issuerid,amount);
                        
SetPlayerHealth(issuerid,amount-2);
                        
GameTextForPlayer(issuerid,"~r~Your teamattacking ~n~-2 health"30003); 
                }
        }
        
// anti team knifing 
        
if(gTeam[issuerid] == gTeam[playerid] && weaponid == 4
        { 
             
GameTextForPlayer(issuerid,"~g~do not knife~n~team mates"30003); 
             
GameTextForPlayer(playerid,"~g~you got team knifed~n~use /sync"30003); 
             
SetPlayerHealth(issuerid0); 
        }
        new 
str[26]; 
        
format(strsizeof(str),"-%.0f"amount); 
        
SetPlayerChatBubble(playeridstr0xFF0000FF100.02000); 
    }
    return 
1;

last time i did that but didn't work
anyway anyone know how to fix..
Quote:
Originally Posted by Younes44
Посмотреть сообщение
Fixed.. but i got another error :v
Код:
[05:14:27] [debug] Run time error 4: "Array index out of bounds"
[05:14:27] [debug]  Accessing element at index 5 past array upper bound 4
[05:14:27] [debug] AMX backtrace:
[05:14:27] [debug] #0 00156740 in public OnPlayerEnterCheckpoint (0) from _dark_.amx
PHP код:
public OnPlayerEnterCheckpoint(playerid)
{
new 
text[128];
    if(
IsCapturing[playerid][usapro] == 1)
    {
        if(
IsPlayerInVehicle(playeridusapro))
        {
             
DisablePlayerCheckpoint(playerid);
            
IsCapturing[playerid][usapro] = 0;
                
format(textsizeof(text), "~r~%s~w~ has Captured ~r~USA prototype ~w~for his team!"pName(playerid));
                
RemovePlayerFromVehicle(playerid);
                        
SCM(playeridC_GREEN"Congratulations! You got +6 score and +6000 cash!");
GivePlayerMoney(playerid6000);
SetVehicleToRespawn(usapro);
SetPlayerScore(playeridGetPlayerScore(playerid)+6);
TogglePlayerAllDynamicCPs(playerid1);
TextStats(playerid);
                
Savestatus(playerid);
        }
        else
        {
             
DisablePlayerCheckpoint(playerid);
            
SCM(playeridRED"You're not in the USA Prototype.");
        }
    }
    if(
IsCapturing[playerid][auspro] == 1)
    {
        if(
IsPlayerInVehicle(playeridauspro))
        {
            
DisablePlayerCheckpoint(playerid);
            
IsCapturing[playerid][auspro] = 0;
            
TextStats(playerid);
                
Savestatus(playerid);
                
format(textsizeof(text), "~r~%s~w~ has Captured ~r~ Australia prototype ~w~for his team!"pName(playerid));
                
RemovePlayerFromVehicle(playerid);
 
SCM(playeridC_GREEN"Congratulations! You got +6 score and +6000 cash!");
 
GivePlayerMoney(playerid6000);
 
SetVehicleToRespawn(auspro);
 
SetPlayerScore(playeridGetPlayerScore(playerid)+6);
TogglePlayerAllDynamicCPs(playerid1);
        }
        else
        {
              
DisablePlayerCheckpoint(playerid);
            
SCM(playeridRED"You're not in the Australia Prototype.");
        }
    }
    if(
IsCapturing[playerid][arabpro] == 1)
    {
        if(
IsPlayerInVehicle(playeridarabpro))
        {
            
DisablePlayerCheckpoint(playerid);
            
IsCapturing[playerid][arabpro] = 0;
            
TextStats(playerid);
                
Savestatus(playerid);
                
format(textsizeof(text), "~r~%s~w~ has Captured ~r~Arabian prototype ~w~for his team!"pName(playerid));
                
RemovePlayerFromVehicle(playerid);
 
SCM(playeridC_GREEN"Congratulations! You got +6 score and +6000 cash!");
 
GivePlayerMoney(playerid6000);
 
SetVehicleToRespawn(arabpro);
 
SetPlayerScore(playeridGetPlayerScore(playerid)+6);
TogglePlayerAllDynamicCPs(playerid1);
        }
        else
        {
            
DisablePlayerCheckpoint(playerid);
            
SCM(playeridRED"You're not in the Arabian Prototype.");
        }
    }
    if(
IsCapturing[playerid][sovpro] == 1)
    {
        if(
IsPlayerInVehicle(playeridsovpro))
        {
            
DisablePlayerCheckpoint(playerid);
                   
RemovePlayerFromVehicle(playerid);
                   
TextStats(playerid);
                
Savestatus(playerid);
                   
format(textsizeof(text), "~r~%s~w~ has Captured ~r~Soviet prototype ~w~for his team!"pName(playerid));
                
IsCapturing[playerid][sovpro] = 0;
                
SCM(playeridC_GREEN"Congratulations! You got +6 score and +6000 cash!");
                 
GivePlayerMoney(playerid6000);
                
SetVehicleToRespawn(sovpro);
                
SetPlayerScore(playeridGetPlayerScore(playerid)+6);
                 
TogglePlayerAllDynamicCPs(playerid1);
        }
        else
        {
            
DisablePlayerCheckpoint(playerid);
            
SCM(playeridRED"You're not in the Soviet Prototype.");
        }
    }
    if(
IsCapturing[playerid][eurapro] == 1)
    {
        if(
IsPlayerInVehicle(playerideurapro))
        {
            
DisablePlayerCheckpoint(playerid);
                
format(textsizeof(text), "~r~%s~w~ has Captured ~r~Erusia prototype ~w~for his team!"pName(playerid));
                
IsCapturing[playerid][eurapro] = 0;
                
RemovePlayerFromVehicle(playerid);
                
TextStats(playerid);
                
Savestatus(playerid);
                 
SCM(playeridC_GREEN"Congratulations! You got +6 score and +6000 cash!");
                 
GivePlayerMoney(playerid6000);
             
SetVehicleToRespawn(eurapro);
             
SetPlayerScore(playeridGetPlayerScore(playerid)+6);
              
TogglePlayerAllDynamicCPs(playerid1);
        }
        else
        {
            
DisablePlayerCheckpoint(playerid);
            
SCM(playeridRED"You're not in the Erusia Prototype.");
        }
    }
    return 
1;

Reply


Messages In This Thread
Array index out of bounds - by Younes44 - 10.08.2016, 10:56
Re: Array index out of bounds - by Vince - 10.08.2016, 11:12
Re: Array index out of bounds - by Mencent - 10.08.2016, 11:13
Re: Array index out of bounds - by Logic_ - 10.08.2016, 11:21
Re: Array index out of bounds - by Younes44 - 10.08.2016, 21:10
Re: Array index out of bounds - by Younes44 - 11.08.2016, 07:20
Re: Array index out of bounds - by Logic_ - 11.08.2016, 13:08

Forum Jump:


Users browsing this thread: 1 Guest(s)