[Ayuda] Player En Agua...
#1

Buenas a todos, Quiero hacer un script para ke cuando el p layer este en el agua ke le de una funcion, pero la forma ke he visto en la seccion FUNCIONES , se floodea mucho, podeso kiero saber si alguien sabe como hacerlo de alguna forma mas eficaz.

Essta es la forma ke tengo, pero se floodear y lagueada al server.

pawn Код:
CALLBACK: OnPlayerUpdate(playerid)
{
    EstaEnAgua(playerid);
    return 1;
}

stock EstaEnAgua(playerid)
{
    new Animacion[32], Libreria[32];
    GetAnimationName(GetPlayerAnimationIndex(playeid), Libreria, sizeof(Libreria), Animacion, sizeof(Animacion));
    if(!strcmp(Libreria, "SWIM", true))
    {
        //FUNCION
        return 1;
    }
    return 0;
}
desde ya muchas gracias .
Reply
#2

usa un timer ....

yo uso esto para mi CS cuando entra al agua con Animacion , se muere

pawn Код:
stock estanadando(playerid)
{
    new animlib[32];
    new animname[32];
    GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,sizeof(animlib),animname,sizeof(animname));
    if(IsPlayerConnected(playerid))
    {
        if(GetPlayerAnimationIndex(playerid))
        {
            if(!strcmp(animlib,"SWIM",true) &&!strcmp(animname,"SWIM_crawl",true)){
            return 1;}
            if(!strcmp(animlib,"SWIM",true) &&!strcmp(animname,"Swim_Breast",true)){
            return 1;}
            if(!strcmp(animlib,"SWIM",true) &&!strcmp(animname,"Swim_Dive_Under",true)){
            return 1;}
            if(!strcmp(animlib,"SWIM",true) &&!strcmp(animname,"Swim_Glide",true)){
            return 1;}
            if(!strcmp(animlib,"SWIM",true) &&!strcmp(animname,"Swim_jumpout",true)){
            return 1;}
            if(!strcmp(animlib,"SWIM",true) &&!strcmp(animname,"Swim_Tread",true)){
            return 1;}
            if(!strcmp(animlib,"SWIM",true) &&!strcmp(animname,"Swim_Under",true)){
            return 1;}
        }
    }
    return 0;
}
y no se flodea si no pones la funcion en el stock , si el stock devuelve un value seria asi

pawn Код:
public OnPlayerUpdate(playerid)
{
        if(estanadando(playerid))
        {
        //Funcion
        }
}
Aqui Nadamas checa el valor del stock , Si SI o NO esta nadando , no necesita leer toda la funcion ....
Reply
#3

emm si mal no recuerdo en el include "callbackz" de chaoz viene esta funciуn
Reply
#4

pawn Код:
forward CheckWater();
public CheckWater()
{
    for(new i = 0; i < MAX_PLAYERS; i ++)
    {
        new Librerias[2][32];
        GetAnimationName(GetPlayerAnimationIndex(i), Librerias[0], 32, Librerias[1], 32);
        if(Librerias[0][0])
        {
            if(!strcmp(Librerias[0], "SWIM")) SpawnPlayer(i);
        }
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)