Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //==========================================================
- // PVar Arrays include
- //==========================================================
- // Version: 1.0
- // Date: 25/07/2012
- // Author: MadeMan
- //==========================================================
- stock PVA_g_VarName[64];
- stock PVA_g_UpperIndex;
- stock SetPVarArrayUpperIndex(playerid, varname[], index)
- {
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_u_%s", varname);
- return SetPVarInt(playerid, PVA_g_VarName, index);
- }
- stock GetPVarArrayUpperIndex(playerid, varname[])
- {
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_u_%s", varname);
- return GetPVarInt(playerid, PVA_g_VarName);
- }
- stock SetPVarArrayFreeIndex(playerid, varname[], index)
- {
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_f_%s", varname);
- return SetPVarInt(playerid, PVA_g_VarName, index);
- }
- stock GetPVarArrayFreeIndex(playerid, varname[])
- {
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_f_%s", varname);
- return GetPVarInt(playerid, PVA_g_VarName);
- }
- stock UpdatePVarArray(playerid, varname[], index)
- {
- new uidx = GetPVarArrayUpperIndex(playerid, varname);
- if(index >= uidx)
- {
- uidx = index + 1;
- SetPVarArrayUpperIndex(playerid, varname, uidx);
- }
- new freeidx = GetPVarArrayFreeIndex(playerid, varname);
- if(index == freeidx)
- {
- for(freeidx = index + 1; ; freeidx++)
- {
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_%d_%s", freeidx, varname);
- if(GetPVarType(playerid, PVA_g_VarName) == PLAYER_VARTYPE_NONE)
- {
- break;
- }
- }
- SetPVarArrayFreeIndex(playerid, varname, freeidx);
- }
- }
- stock SetPVarArrayInt(playerid, varname[], index, int_value)
- {
- UpdatePVarArray(playerid, varname, index);
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_%d_%s", index, varname);
- return SetPVarInt(playerid, PVA_g_VarName, int_value);
- }
- stock GetPVarArrayInt(playerid, varname[], index)
- {
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_%d_%s", index, varname);
- return GetPVarInt(playerid, PVA_g_VarName);
- }
- stock SetPVarArrayString(playerid, varname[], index, string_value[])
- {
- UpdatePVarArray(playerid, varname, index);
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_%d_%s", index, varname);
- return SetPVarString(playerid, PVA_g_VarName, string_value);
- }
- stock GetPVarArrayString(playerid, varname[], index, string_return[], len)
- {
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_%d_%s", index, varname);
- return GetPVarString(playerid, PVA_g_VarName, string_return, len);
- }
- stock SetPVarArrayFloat(playerid, varname[], index, Float:float_value)
- {
- UpdatePVarArray(playerid, varname, index);
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_%d_%s", index, varname);
- return SetPVarFloat(playerid, PVA_g_VarName, float_value);
- }
- stock Float:GetPVarArrayFloat(playerid, varname[], index)
- {
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_%d_%s", index, varname);
- return GetPVarFloat(playerid, PVA_g_VarName);
- }
- stock IsPVarArraySlotUsed(playerid, varname[], index)
- {
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_%d_%s", index, varname);
- return (GetPVarType(playerid, PVA_g_VarName) != PLAYER_VARTYPE_NONE);
- }
- stock GetPVarArraySize(playerid, varname[])
- {
- new count;
- new uidx = GetPVarArrayUpperIndex(playerid, varname);
- for(new i=0; i < uidx; i++)
- {
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_%d_%s", i, varname);
- if(GetPVarType(playerid, PVA_g_VarName))
- {
- count++;
- }
- }
- return count;
- }
- stock GetPVarArrayNextIndex(playerid, varname[], i)
- {
- for( ; i < PVA_g_UpperIndex; i++)
- {
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_%d_%s", i, varname);
- if(GetPVarType(playerid, PVA_g_VarName))
- {
- return i;
- }
- }
- return -1;
- }
- stock GetPVarArrayFirstIndex(playerid, varname[])
- {
- PVA_g_UpperIndex = GetPVarArrayUpperIndex(playerid, varname);
- return GetPVarArrayNextIndex(playerid, varname, 0);
- }
- #define PVA_Loop(%1,%2,%3) for(new %3 = GetPVarArrayFirstIndex(%1,%2); %3 != -1; %3 = GetPVarArrayNextIndex(%1,%2,%3+1))
- stock AddToPVarArrayInt(playerid, varname[], int_value)
- {
- new index = GetPVarArrayFreeIndex(playerid, varname);
- SetPVarArrayInt(playerid, varname, index, int_value);
- return index;
- }
- stock AddToPVarArrayString(playerid, varname[], string_value[])
- {
- new index = GetPVarArrayFreeIndex(playerid, varname);
- SetPVarArrayString(playerid, varname, index, string_value);
- return index;
- }
- stock AddToPVarArrayFloat(playerid, varname[], Float:float_value)
- {
- new index = GetPVarArrayFreeIndex(playerid, varname);
- SetPVarArrayFloat(playerid, varname, index, float_value);
- return index;
- }
- stock DeletePVarArray(playerid, varname[], index = -1)
- {
- if(index == -1)
- {
- new uidx = GetPVarArrayUpperIndex(playerid, varname);
- for(new i=0; i < uidx; i++)
- {
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_%d_%s", i, varname);
- if(GetPVarType(playerid, PVA_g_VarName))
- {
- DeletePVar(playerid, PVA_g_VarName);
- }
- }
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_u_%s", varname);
- DeletePVar(playerid, PVA_g_VarName);
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_f_%s", varname);
- DeletePVar(playerid, PVA_g_VarName);
- }
- else
- {
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_%d_%s", index, varname);
- DeletePVar(playerid, PVA_g_VarName);
- new uidx = GetPVarArrayUpperIndex(playerid, varname);
- if((index + 1) == uidx)
- {
- for(uidx -= 2; uidx >= 0; uidx--)
- {
- format(PVA_g_VarName, sizeof(PVA_g_VarName), "PVA_%d_%s", uidx, varname);
- if(GetPVarType(playerid, PVA_g_VarName))
- {
- break;
- }
- }
- uidx++;
- SetPVarArrayUpperIndex(playerid, varname, uidx);
- }
- new freeidx = GetPVarArrayFreeIndex(playerid, varname);
- if(index < freeidx)
- {
- SetPVarArrayFreeIndex(playerid, varname, index);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement