27.11.2016, 13:04
Alguem sabe fazer 1 matriz para armazenar score, salvamento usando include modio
um exemplo: Skills
Sу que quero para Score
um exemplo: Skills
Код:
hook OnPlayerSave(playerid, filename[]) { if(skl_PlayerSkillCount[playerid] == 0) return Y_HOOKS_CONTINUE_RETURN_1; new data[MAX_PLAYER_SKILLS * (MAX_SKILL_NAME + 2)], ptr, tmp; for(new i; i < skl_PlayerSkillCount[playerid]; i++) { tmp = 0; do { data[ptr++] = skl_PlayerSkills[playerid][i][skl_name][tmp]; } while(skl_PlayerSkills[playerid][i][skl_name][tmp++] != EOS); data[ptr++] = _:skl_PlayerSkills[playerid][i][skl_amount]; printf("skill value for '%s': %f", skl_PlayerSkills[playerid][i][skl_name], skl_PlayerSkills[playerid][i][skl_amount]); } modio_push(filename, _T<S,K,I,L>, ptr, data); return Y_HOOKS_CONTINUE_RETURN_1; } hook OnPlayerLoad(playerid, filename[]) { new data[MAX_PLAYER_SKILLS * (MAX_SKILL_NAME + 2)], length, ptr; length = modio_read(filename, _T<S,K,I,L>, sizeof(data), data); skl_PlayerSkillCount[playerid] = 0; for(new i; i < length; i++) { if(32 < data[i] < 256) { skl_PlayerSkills[playerid][skl_PlayerSkillCount[playerid]][skl_name][ptr++] = data[i]; } else if(data[i] == EOS) { // pass the EOS onto the skill amount cell, add an EOS to skill name i++; skl_PlayerSkills[playerid][skl_PlayerSkillCount[playerid]][skl_name][ptr++] = EOS; ptr = 0; if(_skl_SkillNameToID(playerid, skl_PlayerSkills[playerid][skl_PlayerSkillCount[playerid]][skl_name]) != -1) { printf("ERROR: Skill '%s' duplicated in player data", skl_PlayerSkills[playerid][skl_PlayerSkillCount[playerid]][skl_name]); continue; } skl_PlayerSkills[playerid][skl_PlayerSkillCount[playerid]][skl_amount] = Float:data[i]; skl_PlayerSkillCount[playerid]++; } } for(new i; i < skl_PlayerSkillCount[playerid]; i++) { printf("skill '%s' value: %f", skl_PlayerSkills[playerid][i][skl_name], skl_PlayerSkills[playerid][i][skl_amount]); } return Y_HOOKS_CONTINUE_RETURN_1; }