13.10.2010, 03:08
Bom estou fazendo 1 gamemode com o garfield mas estamos tendo problemas com as pontuaзхes.
Esta todas elas erradas O.O nenhuma funcionando!
Vou explicar a intenзгo de cada uma e me ajudem a arrumar por favor
eu notei alguns erros mas nгo to entendendo pq ta pontuando tudo errado
OBS: EXP SCORE DO PLAYER E NIVEL NГO ESTГO MUDANDO!
Esta todas elas erradas O.O nenhuma funcionando!
Vou explicar a intenзгo de cada uma e me ajudem a arrumar por favor
pawn Код:
public OnPlayerDeath(playerid, killerid)
{
for(new i; i < MAX_PLAYERS; i ++) //Funзгo pra aplicar a todos player
{
if(GetPlayerTeam(killerid) == Time_Marinha) // Se o matador for marinha, a equipe ganha 1 de score
{
Marinha[i] += 1; // score +1
}else
if(GetPlayerTeam(killerid) == Time_Exercito) // Se o matador for exercito, a equipe ganha 1 de score
{
Exercito[i] += 1; // score +1
}
}
for(new i; i < MAX_PLAYERS; i ++)
{
if(GetPlayerTeam(playerid) == Time_Marinha){ // Se o morto for marinha, a equipe perde 1 de score
Marinha[i] -= 1; //perde 1 score
}else
if(GetPlayerTeam(playerid) == Time_Exercito){ // Se o morto for exercito, a equipe perde 1 de score
Exercito[i] -= 1; //perde 1 score
}
}
if(Equipe[killerid] == Equipe[playerid]) // Se alguem matar alguem da mesma equipe
{
new warning[256];
format(warning, sizeof(warning), "[Anti-TK]:Por matar um membro de sua gang vocк foi morto!");
SendClientMessage(killerid, 0xFFFF00AA, warning); // msg de aviso
SetPlayerHealth(killerid, 0); // mata o assasino
SetPlayerScore(killerid,GetPlayerScore(playerid) -1); e tira 1 de score do assasino
}
else if(Equipe[playerid] != Equipe[playerid]) // se quem matar ou morre for de equipe diferente
{
SetPlayerScore(killerid,GetPlayerScore(killerid) +1); // add 1 score ao player matador
GivePlayerMoney(playerid,GetPlayerMoney(playerid) -500); // tira 500 de money de quem morre
SetPlayerScore(playerid,GetPlayerScore(playerid) -1); // tira 1 score de quem morre
Exp[playerid] += 10; // adiciona exp +10 pra quem mata
if(killerid == 10){ Nivel[killerid] += 1; } // ganha de 10 em 10 = 1 level
if(killerid == 20){ Nivel[killerid] += 1; }
if(killerid == 30){ Nivel[killerid] += 1; }
if(killerid == 40){ Nivel[killerid] += 1; }
if(killerid == 50){ Nivel[killerid] += 1; }
if(killerid == 60){ Nivel[killerid] += 1; }
if(killerid == 70){ Nivel[killerid] += 1; }
if(killerid == 80){ Nivel[killerid] += 1; }
if(killerid == 90){ Nivel[killerid] += 1; }
if(killerid == 100){ Nivel[killerid] += 1; } // Eu queria por mais de 100kills como diminuir esse codigo e fazer funcionar que pra cada 10 kills = 1 nivel ?
if(Exp[killerid] >= 110){ Exp[killerid] -= 100; } // quando a exp chegar a 110 volta a 10
if(playerid >= 1){ Exp[playerid] -= 10; } // o morto perde 10 de exp
if(Exp[playerid] <= 0){ Exp[playerid] += 0; } // se a exp ficar menor ou igual a 0 ele volta a 0 pra nгo fica negativa
if(playerid >= 10){ Nivel[playerid] -= 1; } //se morrer 10 vezes perde 1 nivel
}
return 1;
}
OBS: EXP SCORE DO PLAYER E NIVEL NГO ESTГO MUDANDO!