SA-MP Forums Archive
No funciona mi public. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: No funciona mi public. (/showthread.php?tid=319354)



No funciona mi public. - ValenRatti - 18.02.2012

Hola, no me funciona mi simple public? WHY?
pawn Код:
public Sonidito(playerid)
{
   if(PlayerToPoint(2.0,playerid,1217.3802,-1693.1292,19.7344))
   {
      PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
   }
   return 1;
}
Gracias.


Respuesta: No funciona mi public. - [Nikk] - 18.02.2012

Para que tenes esa public ? es por un timer ?


Respuesta: No funciona mi public. - ValenRatti - 18.02.2012

Tengo un textdraw pero no lo puedo poner en el codigo del textdraw porque loopea y ese sonido se vuelve una ametralladora de soniditos.El cod de td.
pawn Код:
public EnTd(playerid)
{
    if(PlayerToPoint(2.0,playerid,1217.3802,-1693.1292,19.7344))
    {
        TextDrawShowForPlayer(playerid,Textdraw2[playerid]);
        Ttextdraw[playerid] = SetTimerEx("Parado", 100, 0,"d",playerid); // el timer que haria que el sonidito se lupee
        return 1;
    }
    else
    {
        TextDrawHideForPlayer(playerid,Textdraw2[playerid]);
        Ttextdraw[playerid] = SetTimerEx("Parado", 100, 0,"d",playerid);
        return 1;
    }
}
Y por eso trate de ponerlo afuera de ese public. (Quiero que aga el sonidito cuando aparece el td)


Respuesta: No funciona mi public. - LuisGraph - 18.02.2012

te faltу
pawn Код:
forward Sonidito(playerid);
arriba de todo, y en OnGameModeInit()
pawn Код:
SetTimer("Sonidito", 0500, true);
Eso si es para que se active cuando el jugador estй en el punto, si no es para eso olvida el timer.


Respuesta: No funciona mi public. - ValenRatti - 18.02.2012

El forward ya lo tenia, y bueno, puse el timer (aunque todavia noc xq tenia que ponerlo ya que no quiero que loopee) y sigue sin funcionar. Aclaro: es un fs.


Respuesta: No funciona mi public. - LuisGraph - 18.02.2012

pawn Код:
new bool:soniditoplay;

public Sonidito(playerid)
{
   if(PlayerToPoint(2.0,playerid,1217.3802,-1693.1292,19.7344))
   {
        if(soniditoplay == false)
        {
            PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
            soniditoplay = true;
        }
    }
   else
    {
        soniditoplay = false;
    }
   return 1;
}



Respuesta: No funciona mi public. - ValenRatti - 18.02.2012

No me anduvo, debe ser un prob mio. El codigo es muy bueno, nunca se me ubiera ocurrido =) , voy a probar poniendo este codigo en el script en ves de ponerlo en el fs, capas se arregla. Ah , y GRACIAS!


Respuesta: No funciona mi public. - LuisGraph - 18.02.2012

Ok, de nada.


Re: No funciona mi public. - rubensm - 19.02.2012

Prueba asн:

pawn Код:
new bool:soniditoplay;

public Sonidito(playerid)
{
   if(PlayerToPoint(2.0,playerid,1217.3802,-1693.1292,19.7344))
   {
        if(soniditoplay == false)
        {
            PlayerPlaySound(playerid, 1052, 1217.3802,-1693.1292,19.7344);
            soniditoplay = true;
        }
    }
   else
    {
        soniditoplay = false;
    }
   return 1;
}



Re: No funciona mi public. - clavador - 20.02.2012

Si estas llamando a la funcion sonidito desde otro script que no sea el mismo donde la funcion esta declarada, aparte de agregarle el forward correspondiente y hacer la funcion public, para llamarlo tenes que usar: CallRemoteFunction( "Sonidito", "i", playerid );

Con eso llamarias a una funcion publica que esta fuera del script en el que ejecutas este codigo.