Problema en OnPlayerDeath
#1

Hola!
Tengo un problema que no consigo solucionar.
Utilizo un servidor privado (solo amigos) y este usa el motor de LS Turf Wars 2 Ultimate v2 de POPO (modificado) version Special Edition.
EL problema es que no consigo que sume score al eliminar a un jugador del equipo contrario.
He probado de mil maneras pero nada, resta puntos al morir solo pero no suma al matarlos.
Alguien me puede echar una mano?

Quote:

public OnPlayerDeath( playerid, killerid, reason )
{
new Float, Float:y, Float:z;
new string[ 256 ];
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
Spawned[ playerid ] =0;
SetPlayerArmour( playerid, 0 );
GetPlayerPos(playerid,x,y,z); //cuando muere la camara se aleja un poco
SetPlayerCameraPos( playerid,x,y+10,z+10); //cuando muere la camara se aleja un poco
SetPlayerCameraLookAt( playerid,x,y,z); //cuando muere la camara se aleja un poco
SendDeathMessage(killerid,playerid,reason);
if (killerid == INVALID_PLAYER_ID)
{
SetPlayerScore(playerid, GetPlayerScore(playerid) - 1);
DisablePlayerRaceCheckpoint(playerid);
if(reason == 255){
format(string, sizeof(string), "%s se mato solo G(¬ ¬).", pName,killerid);
SendClientMessageToAll(0xAA3333AA, string);}
if(reason == 54){
format(string, sizeof(string), "Menudo aterrizaje el de %s G(o o).", pName,killerid);
SendClientMessageToAll(0xAA3333AA, string);}
}
else
{
//SendDeathMessage( killerid, playerid, reason );
if (gTeam[ killerid ] != gTeam[ playerid ]) // Valid kill
{
SetPlayerScore( killerid, GetPlayerScore( killerid ) +1 );
//GivePlayerMoney( killerid, 500 );
//SetPlayerWantedLevel( killerid, GetPlayerWantedLevel( killerid )+1 );
}
else { //Team Killer!
//SendDeathMessage(killerid,playerid,reason);
GivePlayerMoney(killerid, -5000);
SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);
GameTextForPlayer(killerid,"~r~MAL!!",5000,3);
GameTextForPlayer(playerid,"~r~ALAA!!~N~Te Mato tu Equipo",4000,1);
}
}
if(GetPlayerWantedLevel(playerid) >= 1)
{
SetTimerEx("en_carcel", 60000, 0,"d",playerid);
Tiene_carcel[playerid] = 1;
GameTextForPlayer(playerid,"~r~A LA CARCEL MALANDRIN! 1 MINUTO!",4000,1);
}
return 1;
}

Gracias por la ayuda
Reply
#2

en ningъn lado veo PlayerInfo[playerid][pkills]++;

o algo similar :S
Reply
#3

Como? no es necesario. No?
Digo que solo es el gamemode.
Reply
#4

Nadie sabe?ї
Reply
#5

Код:
public OnPlayerDeath( playerid, killerid, reason )
{
new Float, Float:y, Float:z;
new string[ 256 ];
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
Spawned[ playerid ] =0;
SetPlayerArmour( playerid, 0 );
GetPlayerPos(playerid,x,y,z); //cuando muere la camara se aleja un poco
SetPlayerCameraPos( playerid,x,y+10,z+10); //cuando muere la camara se aleja un poco
SetPlayerCameraLookAt( playerid,x,y,z); //cuando muere la camara se aleja un poco
SendDeathMessage(killerid,playerid,reason);
if (killerid == INVALID_PLAYER_ID)
{
SetPlayerScore(playerid, GetPlayerScore(playerid) - 1);
DisablePlayerRaceCheckpoint(playerid);
if(reason == 255){
format(string, sizeof(string), "%s se mato solo G(¬ ¬).", pName,killerid);
SendClientMessageToAll(0xAA3333AA, string);}
if(reason == 54){
format(string, sizeof(string), "Menudo aterrizaje el de %s G(o o).", pName,killerid);
SendClientMessageToAll(0xAA3333AA, string);}
}
else
{
//SendDeathMessage( killerid, playerid, reason );
if (killerid != INVALID_PlAYER_ID) // Valid kill
{
SetPlayerScore( killerid, GetPlayerScore( killerid ) +1 );
//GivePlayerMoney( killerid, 500 );
//SetPlayerWantedLevel( killerid, GetPlayerWantedLevel( killerid )+1 );
}
else { //Team Killer!
//SendDeathMessage(killerid,playerid,reason);
GivePlayerMoney(killerid, -5000);
SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);
GameTextForPlayer(killerid,"~r~MAL!!",5000,3);
GameTextForPlayer(playerid,"~r~ALAA!!~N~Te Mato tu Equipo",4000,1);
}
}
if(GetPlayerWantedLevel(playerid) >= 1)
{
SetTimerEx("en_carcel", 60000, 0,"d",playerid);
Tiene_carcel[playerid] = 1;
GameTextForPlayer(playerid,"~r~A LA CARCEL MALANDRIN! 1 MINUTO!",4000,1);
}
return 1;
}
Reply
#6

Gracias. Voy a probarlo a ver si funciona.

Edito:
Funciona perfectamente! Muchas gracias.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)