їSe bugea al morir?
#1

Bueno, quiero reparar este bug que cuando se uno muere justo al momento de estar editando el objeto para el skin, queda como con 0 de vida y el skin parado(bugeado), y eso trae problemas, porque hasta pasa que se cierra el sv, y quiero saber como puedo hacer que al momento de morir, estando editando el objeto, automaticamente se termine de editar, no se si me explico, pero al morir es como si aun pudiera editar el objeto, y eso lo quiero evitar... gracias
Reply
#2

Entonces no es problema de al editar el objeto o el toy al personaje.

En alguna parte de tu GM debe de estar el error, probablemente en alguna de tus funciones tendrбs algo asн:
Код:
SetPlayerHealth(playerid, 0);
Busca esa funciуn con el buscador.
Reply
#3

Quote:
Originally Posted by Yerro
Посмотреть сообщение
Entonces no es problema de al editar el objeto o el toy al personaje.

En alguna parte de tu GM debe de estar el error, probablemente en alguna de tus funciones tendrбs algo asн:
Код:
SetPlayerHealth(playerid, 0);
Busca esa funciуn con el buscador.
mmm nop, y eso no es lo que quiero, solo quiero que al morir se termine de editar el objeto(solo si se estaba editando)
Reply
#4

Para hacer eso vas a necesitar saber si el jugador estб editando o no; y al morir, si estб editando usas CancelEdit y destruyes el objeto. Para lo primero podrнas usar una variable booleana.

Serнa algo asн:

pawn Код:
new bool:EstaEditando[MAX_PLAYERS];

// En algъn comando o lugar donde uses EditObject...
EditObject(playerid, objectid);
EstaEditando[playerid] = true;
pawn Код:
// Cuando el jugador muera...
public OnPlayerDeath(playerid, killerid, reason)
{
    // їEsta editando algъn objeto?
    if(EstaEditando[playerid])
    {
        // Cancelamos la ediciуn del objeto
        CancelEdit(playerid);
        EstaEditando[playerid] = false;

        // Informamos al jugador acerca de esto
        SendClientMessage(playerid, 0xFF0000FF, "INFO: ЎHas muerto mientras estabas editando un objeto!");
        SendClientMessage(playerid, 0xFF0000FF, "INFO: La ediciуn ha sido cancelada.");

        // Destruimos el objeto que se estaba editando
        DestroyObject(objectid);    
    }
    return true;
}
Reply
#5

Quote:
Originally Posted by LuiisRubio
Посмотреть сообщение
Para hacer eso vas a necesitar saber si el jugador estб editando o no; y al morir, si estб editando usas CancelEdit y destruyes el objeto. Para lo primero podrнas usar una variable booleana.

Serнa algo asн:

pawn Код:
new bool:EstaEditando[MAX_PLAYERS];

// En algъn comando o lugar donde uses EditObject...
EditObject(playerid, objectid);
EstaEditando[playerid] = true;
pawn Код:
// Cuando el jugador muera...
public OnPlayerDeath(playerid, killerid, reason)
{
    // їEsta editando algъn objeto?
    if(EstaEditando[playerid])
    {
        // Cancelamos la ediciуn del objeto
        CancelEdit(playerid);
        EstaEditando[playerid] = false;

        // Informamos al jugador acerca de esto
        SendClientMessage(playerid, 0xFF0000FF, "INFO: ЎHas muerto mientras estabas editando un objeto!");
        SendClientMessage(playerid, 0xFF0000FF, "INFO: La ediciуn ha sido cancelada.");

        // Destruimos el objeto que se estaba editando
        DestroyObject(objectid);    
    }
    return true;
}
No mira, quiero algo mas simple, esta la funcion EditAttachedObject
y quiero saber si hay alguna funcion como StopEditAttachedObject o algo por el estнlo??

PD: Encontre CancelEdit(playerid); servira?
Reply
#6

Prueba.
Reply
#7

si funciona bien
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)