[AJUDA] OnPlayerDeath errado!!! (Pontuaзгo estranha) -
Kasura - 13.10.2010
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
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;
}
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!
Re: [AJUDA] OnPlayerDeath errado!!! (Pontuaзгo estranha) -
Kasura - 14.10.2010
Acho que ja se passaram 12h
tipuw me ajuda ai pessoal
=/
O poco que ajudarem ja ajuda ^^
Re: [AJUDA] OnPlayerDeath errado!!! (Pontuaзгo estranha) -
Canabis - 14.10.2010
pawn Код:
public OnPlayerDeath(playerid, killerid)
{
if(GetPlayerTeam(killerid) == Time_Marinha && GetPlayerTeam(playerid) == Time_Exercito) // Se o matador for marinha, a equipe ganha 1 de score
{
Marinha[killerid] += 1; // score +1
Exercito[playerid] -= 1; //perde 1 score
}
if(GetPlayerTeam(killerid) == Time_Exercito && GetPlayerTeam(playerid) == Time_Marinha) // Se o matador for exercito, a equipe ganha 1 de score
{
Marinha[killerid] -= 1; // score +1
Exercito[playerid] += 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 // 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[killerid] += 1; // adiciona exp +1 pra quem mata
Exp[playerid] -= 1; // o morto perde 1 de exp
if(Exp[killerid] == 10) // com 10 de exp ele sobe de level!
{
Nivel[killerid] += 1; // matador sobe de level!
Exp[killerid] = 0; // reseta a 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;
}
Re: [AJUDA] OnPlayerDeath errado!!! (Pontuaзгo estranha) -
sergio_xd - 14.10.2010
usa assim:
pawn Код:
//
public OnPlayerDeath(playerid, killerid)
{
if(GetPlayerTeam(killerid) == Time_Marinha && GetPlayerTeam(playerid) == Time_Exercito) // Se o matador for marinha, a equipe ganha 1 de score
{
Marinha[killerid]++; // score +1
Exercito[playerid]--; //perde 1 score
}
if(GetPlayerTeam(killerid) == Time_Exercito && GetPlayerTeam(playerid) == Time_Marinha) // Se o matador for exercito, a equipe ganha 1 de score
{
Marinha[killerid]++; // score +1
Exercito[playerid]--; //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 // 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[killerid] ++; // adiciona exp +1 pra quem mata
Exp[playerid]--; // o morto perde 1 de exp
if(Exp[killerid] == 10) // com 10 de exp ele sobe de level!
{
Nivel[killerid]++; // matador sobe de level!
Exp[killerid] = 0; // reseta a 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]--; } //se morrer 10 vezes perde 1 nivel
}
return 1;
}
Re: [AJUDA] OnPlayerDeath errado!!! (Pontuaзгo estranha) -
ipsBruno - 14.10.2010
Kasura Observe:
pawn Код:
if(playerid >= 10){ Nivel[playerid] -= 1; } //se morrer 10 vezes perde 1 nivel
Se o id dele for maior que 10 ele perde um nivel?
Re: [AJUDA] OnPlayerDeath errado!!! (Pontuaзгo estranha) -
zSuYaNw - 14.10.2010
pawn Код:
if(/* para quem morreuu */[playerid] >= 10){ Nivel[playerid] -= 1; } //se morrer 10 vezes perde 1 nivel
Re: [AJUDA] OnPlayerDeath errado!!! (Pontuaзгo estranha) -
Kasura - 14.10.2010
й ratiei bastante kkkk
Vou refazer umas partes do code
й que no dia eu sertamente tava meio doido O.O nem tinha notado esses erros grotescos kkkk
Vou mexer no code ^^
Vlws ai quem ajudou
se eu tiver + alguma duvida eu posto ^^
--------------------------------------------------------
Este codigo esta certo? MODIFIQUEI ELE
pawn Код:
if(Equipe[killerid] == Equipe[playerid])
{
new warning[256];
format(warning, sizeof(warning), "[Anti-TK]:Por matar um membro de sua gang vocк foi morto!");
SendClientMessage(killerid, 0xFFFF00AA, warning);
SetPlayerHealth(killerid, 0);
SetPlayerScore(killerid,GetPlayerScore(killerid) -1); //<< modifiquei o killerid do getscore pra tirar 1 de score de quem mato n de quem morreu!
}
Re: [AJUDA] OnPlayerDeath errado!!! (Pontuaзгo estranha) -
zSuYaNw - 14.10.2010
pawn Код:
if(Marinha[killerid] == Marinha[playerid] || Exercito[killerid] == Exercito[playerid])
{
new warning[256];
format(warning, sizeof(warning), "[Anti-TK]:Por matar um membro de sua gang vocк foi morto!");
SendClientMessage(killerid, 0xFFFF00AA, warning);
SetPlayerHealth(killerid, 0);
SetPlayerScore(killerid,GetPlayerScore(killerid) -1); //<< modifiquei o killerid do getscore pra tirar 1 de score de quem mato n de quem morreu!
}
Re: [AJUDA] OnPlayerDeath errado!!! (Pontuaзгo estranha) -
Kasura - 14.10.2010
garfield entra no msn!