sistema de escore por muertes
#1

hola me pueden ayudar como ago un sistema de escore por muertes y matados ...



y como quito el sistema de score de lvdm...
Reply
#2

Esto almacenarб en variables las muertes/matanzas de un jugador y setearб las matanzas en el score del jugador.

pawn Код:
new
      Kills[MAX_PLAYERS],
      Deaths[MAX_PLAYERS]
;

public OnPlayerDeath(playerid, killerid, reason)
{
    Deaths[playerid] ++;

    if(killerid != INVALID_PLAYER_ID) Kills[killerid] ++;
    return 1;
}

SetTimer("SetPlayerScore", 10000, false);

public SetPlayerScore()
{
    for(new i; i < MAX_PLAYERS; i ++)  SetPlayerScore(i, Kills[i]);
}
Para quitar el score por defecto de LVDM, ve a MoneyGrubScoreUpdate() y quнta la funciуn.
Reply
#3

pawn Код:
new
      Kills[MAX_PLAYERS],
      Deaths[MAX_PLAYERS]
;

public OnPlayerDeath(playerid, killerid, reason)
{
    Deaths[playerid] ++;  

    if(killerid != INVALID_PLAYER_ID || IsPlayerConnected(killerid)) SetPlayerScore(killerid, ++Kills[killerid]);
    return 1;
}

public OnPlayerConnect(playerid)
{
   return Deaths[playerid] = 0, Kills[playerid] = 0, true;
}
No loop.

__
y como quito el sistema de score de lvdm...

El sistema por dinero? Quite el SetPlayerScore(playerid, GetPlayerMoney(playerid));
Reply
#4

Cierto, lo del timer + loop es ineficiente, hazlo a travйs OnPlayerDeath.
Reply
#5

no entiendo nada me enrredaron todo mejor si puedes hacerlo y me lo pasa por aka seria bueno
Reply
#6

pawn Код:
new
      Kills[MAX_PLAYERS],
      Deaths[MAX_PLAYERS]
;

public OnPlayerConnect(playerid)
{
   SetPlayerScore(playerid, 0);
   Deaths[playerid] = 0, Kills[playerid] = 0;

   return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    Deaths[playerid] ++;

    if(killerid != INVALID_PLAYER_ID) Kills[killerid] ++, SetPlayerScore(killerid,  Kills[killerid]);
    return 1;
}
Listo.
Reply
#7

Poner el code in filter script:

pawn Код:
new
      Kills[MAX_PLAYERS],
      Deaths[MAX_PLAYERS]
;

public OnPlayerDeath(playerid, killerid, reason)
{
    Deaths[playerid] ++;  

    if(killerid != INVALID_PLAYER_ID || IsPlayerConnected(killerid)) SetPlayerScore(killerid, ++Kills[killerid]);
    return 1;
}

public OnPlayerConnect(playerid)
{
   return Deaths[playerid] = 0, Kills[playerid] = 0, true;
}

public OnPlayerUpdate(playerid) return SetPlayerScore(playerid, Kills[playerid]), true;
Reply
#8

Quote:
Originally Posted by [M]onsieur
Посмотреть сообщение
Poner el code in filter script:

pawn Код:
new
      Kills[MAX_PLAYERS],
      Deaths[MAX_PLAYERS]
;

public OnPlayerDeath(playerid, killerid, reason)
{
    Deaths[playerid] ++;  

    if(killerid != INVALID_PLAYER_ID || IsPlayerConnected(killerid)) SetPlayerScore(killerid, ++Kills[killerid]);
    return 1;
}

public OnPlayerConnect(playerid)
{
   return Deaths[playerid] = 0, Kills[playerid] = 0, true;
}

public OnPlayerUpdate(playerid) return SetPlayerScore(playerid, Kills[playerid]), true;
Para que actualizar el score OnPlayerUpdate si ya lo estбs haciendo cada vez que sumas una muerte?
Reply
#9

pawn Код:
Para que actualizar el score OnPlayerUpdate si ya lo estбs haciendo cada vez que sumas una muerte?
Para no que el resultado mantiene la GetPlayerMoney (lvdm cambia en money, filterscript cambia en kills mбs rбpido)
Reply
#10

Quote:
Originally Posted by [M]onsieur
Посмотреть сообщение
pawn Код:
Para que actualizar el score OnPlayerUpdate si ya lo estбs haciendo cada vez que sumas una muerte?
Para no que el resultado mantiene la GetPlayerMoney (lvdm cambia en money, filterscript cambia en kills mбs rбpido)
El quiere eliminar el score de money y implementar el de kills ... para ello elimina la funciуn que va con un timer que te dije mбs adelante.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)