#1

Hola como dicй el tнtulo necesito ayuda, explico estoy creando un comando muy basico es de suicidio el comando esta muy bien funciуna perfecto lo que no me gusta de este comando es algo ustedes lo encontraran muy estupido pero soy detallista cuando lo usa el comando aparese la funcion de que murio si no me entiende me refiero al logo

imagen

ami me gustaria poner cuando uno usa el comando aparse nombre que uso el comando logo otra vez el nombre
ejemplo
sergio (logo)sergio

їse podra hacer?

comando
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if ( !strcmp( cmdtext,  "/morir",  true ) )
{
        SetPlayerHealth( playerid, 0.0);
        return 1;
}

    return 0;
}
Reply
#2

Quote:
Originally Posted by (SERGIO)
Посмотреть сообщение
Hola como dicй el tнtulo necesito ayuda, explico estoy creando un comando muy basico es de suicidio el comando esta muy bien funciуna perfecto lo que no me gusta de este comando es algo ustedes lo encontraran muy estupido pero soy detallista cuando lo usa el comando aparese la funcion de que murio si no me entiende me refiero al logo

imagen

ami me gustaria poner cuando uno usa el comando aparse nombre que uso el comando logo otra vez el nombre
ejemplo
sergio (logo)sergio

їse podra hacer?

comando
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if ( !strcmp( cmdtext,  "/morir",  true ) )
{
        SetPlayerHealth( playerid, 0.0);
        return 1;
}

    return 0;
}
Si se puede. Debes crear un estado o algo asi para que puedas identificarlo. Para eso debes trabajarlo en onplayerdeath y para lo del icono son las reason de muertes aca te las dejo Click aqui
Reply
#3

Te voy a dar un ejemplo porque no tengo tiempo para explicar:
pawn Код:
new bool:Suicidio[MAX_PLAYERS] = {false, ...};

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, "/morir", true) == 0)
    {
        Suicidio[playerid] = true;
        SetPlayerHealth(playerid, 0.0);
        return 1;
    }
    return 0;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    ... // En la parte de mandar el mensaje.
    if(Suicidio[playerid] == true)
    {
        SendDeathMessage(playerid, playerid, reason);
        Suicidio[playerid] = false;
    }
    else SendDeathMessage(playerid, killerid, reason);
    return 1;
}
Pregunta y responderemos tus dudas.
Reply
#4

Quote:
Originally Posted by Miguel
Посмотреть сообщение
Te voy a dar un ejemplo porque no tengo tiempo para explicar:
pawn Код:
new bool:Suicidio[MAX_PLAYERS] = {false, ...};

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, "/morir", true) == 0)
    {
        Suicidio[playerid] = true;
        SetPlayerHealth(playerid, 0.0);
        return 1;
    }
    return 0;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    ... // En la parte de mandar el mensaje.
    if(Suicidio[playerid] == true)
    {
        SendDeathMessage(playerid, playerid, reason);
        Suicidio[playerid] = false;
    }
    else SendDeathMessage(playerid, killerid, reason);
    return 1;
}
Pregunta y responderemos tus dudas.
MIGUEL esta bien lo que me digiste pero sale 2 veces la muerte


yo solo quiero la que esta en rojo se podra areglar.
Reply
#5

Pasa lo que hay en "OnPlayerDeath" para decirte cual es el problema.
Reply
#6

Quote:
Originally Posted by Miguel
Посмотреть сообщение
Pasa lo que hay en "OnPlayerDeath" para decirte cual es el problema.
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    new playercash;
    if(killerid == INVALID_PLAYER_ID) {
        SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
        ResetPlayerMoney(playerid);
    } else {
            SendDeathMessage(killerid,playerid,reason);
            SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
            playercash = GetPlayerMoney(playerid);
            if (playercash > 0)  {
                GivePlayerMoney(killerid, playercash);
                ResetPlayerMoney(playerid);
            }
            else
            {
            }
        }

         // En la parte de mandar el mensaje.
         if(Suicidio[playerid] == true)
         {
               SendDeathMessage(playerid, playerid, 200);
               Suicidio[playerid] = false;
         }
         else SendDeathMessage(playerid, killerid, reason);

    return 1;
}
Estoy usando el [GM] lvdm que viene por default con el server
Reply
#7

Reemplбzalo por este:
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    if((Suicidio[playerid] == true) && (killerid == INVALID_PLAYER_ID))
        SendDeathMessage(playerid, playerid, 200);
    else
    {
        new cash = GetPlayerMoney(playerid);       
        SendDeathMessage(playerid, killerid, reason);
        if(cash > 0) GivePlayerMoney(killerid, cash);
        GivePlayerScore(killerid, GetPlayerScore(killerid) + 1);
    }
    ResetPlayerMoney(playerid);
    Suicidio[playerid] = false;
    return 1;
}
Reply
#8

Gracias miguel eso me sirvio pero me salia un error del GivePlayerScore pero lo renplase por SetPlayerScore

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    if((Suicidio[playerid] == true) && (killerid == INVALID_PLAYER_ID))
        SendDeathMessage(playerid, playerid, 200);
    else
    {
        new cash = GetPlayerMoney(playerid);
        SendDeathMessage(playerid, killerid, reason);
        if(cash > 0) GivePlayerMoney(killerid, cash);
        SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
    }
    ResetPlayerMoney(playerid);
    Suicidio[playerid] = false;
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)