SA-MP Forums Archive
[Tutorial] Bucles]_ Aprende a dar IDґs y a facilitarte el trabajo con tus objetos. - 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)
+----- Forum: Lanzamientos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=59)
+----- Thread: [Tutorial] Bucles]_ Aprende a dar IDґs y a facilitarte el trabajo con tus objetos. (/showthread.php?tid=637491)



Bucles]_ Aprende a dar IDґs y a facilitarte el trabajo con tus objetos. - MeScript2212 - 15.07.2017

Hola..!, esta guнa te enseсarб como generar bucles, en este caso muchos lo conoceran (for(new [...])
pero no saben como funcionan, o todas las funciones que se les puede dar, hoy, te enseсarй a aprovechar al mбximo esta estupenda funciуn.






Ejemplo de TextDraw




En esta ocasiуn, el bucle nos ayudarб con la simplificaciуn del trabajo, y mucho ahorro de tiempo y memoria.

Code:
Ejemplo sin bucles


new text:mistextdraw[12];


TextDrawShowForPlayer(playerid, mistextdraw[0]);
TextDrawShowForPlayer(playerid, mistextdraw[1]);
TextDrawShowForPlayer(playerid, mistextdraw[2]);
TextDrawShowForPlayer(playerid, mistextdraw[3]);
TextDrawShowForPlayer(playerid, mistextdraw[4]);

[.....]
Si la lнnea de TextDraws llega a ser mбs de 100(mistextdraw[100] o mбs) se deberнan generar muchas lнneas solo para mostrar el cуdigo entero.


Code:
Ejemplo con Bucle

new text:mistextdraw[99];

for(new i = 0; i < 99; i++)
{
TextDrawShowForPlayer(playerid, mistextdraw[i]);
}
Ese simple cуdigo realizado, mostrarб al player el textdraw mistextdraw con la id "i", es decir, la i se repite, una vez, otra vez, y otra vez, el resultado es" i++ ", si i es menor a 99 sigue sumando "i", cuando llega a 99, se detiene.





Ejemplo de ID's

Si queremos realizar algъn sistema, que lleve a cabo npcґs, playerid, o sistemas que se refieren a ids, los bucles te ayudaran a generar y simplificar el trabajo de las ids.


Code:
Ejemplo de Cуdigo con playerid
_Sin simplificaciуn


public mandarmensaje(playerid)
{
SendClientMessage(playerid, -1, "Mensaje");
return 1;
}




_Con simplificacion


public mandarmensaje(playerid)
{
 
      for(new i = 0; i < MAX_PLAYERS; i++)
      SendClientMessage(i, -1, "Mensaje");
return 1;
}


En este caso la simplificaciуn no combiene mucho, ya que generamos mбs lнneas que antes, y la simplificaciуn solo se da en un caso: en el SendClientMessage.


Lo que hace es obtener la id del jugador, va sumando "i++" , i es menor a Max players.

Code:
_Ejemplo cуdigo grande

#define MAX_ZOMBIES 1000 //Maximo de zombies es 1000
public MoveZombie(npcid, zombieid)
{

       for(new i = 0; i < MAX_ZOMBIES; i++)
       {
       new Float:x, Float:y, Float:z,  Float:x2, Float:y2, Float:z2;
       GetPlayerPos(i, x, y, z);
       GetPlayerPos(playerid, x2, y2, z2);
       if(IsPlayerInRangeOfPoint(i, x2, y2, z2))
       FCNPC_MeleeAttack(i, 1, 1);
       }
       return 1;     
}
      



[...]Guнa En progreso


     for(new i = 0; i <



Respuesta: Bucles]_ Aprende a dar IDґs y a facilitarte el trabajo con tus objetos. - adri1 - 15.07.2017

Code:
Ejemplo de Cуdigo con playerid
_Sin simplificaciуn

public mandarmensaje(playerid)
{
SendClientMessage(playerid, -1, "Mensaje");
return 1;
}




_Con simplificacion


public mandarmensaje(playerid)
{
 
      for(new i = 0; i < MAX_PLAYERS; i++)
      SendClientMessage(i, -1, "Mensaje");
return 1;
}
No serбs el proximo Y_Less?
que manera tan peculiar de simplificar


Respuesta: Bucles]_ Aprende a dar IDґs y a facilitarte el trabajo con tus objetos. - aoEXE - 15.07.2017

Ni la buena intenciуn harб que Dios te perdone esto


Re: Bucles]_ Aprende a dar IDґs y a facilitarte el trabajo con tus objetos. - SmileJack - 15.07.2017

Jajaja. No es por ser demigrante pero el segundo ejemplo no fue el mejor la verdad. Borralo c:


Respuesta: Bucles]_ Aprende a dar IDґs y a facilitarte el trabajo con tus objetos. - Revelation - 15.07.2017

PHP Code:
/*Ejemplo de Cуdigo con playerid
_Sin simplificaciуn
Crйditos totales: adri1
*/
public mandarmensaje(playerid)
{
SendClientMessage(playerid, -1"Mensaje pedorro");
return 
1;
}
//_Con simplificacion
public mandarmensaje(playerid)
{
 
      
SendClientMessageToAll(-1"Mensaje pedorro");
return 
1;




Respuesta: Bucles]_ Aprende a dar IDґs y a facilitarte el trabajo con tus objetos. - FelipeAndres - 15.07.2017

Este tutorial merece estar en pawnscript


Re: Bucles]_ Aprende a dar IDґs y a facilitarte el trabajo con tus objetos. - SmileJack - 15.07.2017

Jajaja xd


Respuesta: Re: Bucles]_ Aprende a dar IDґs y a facilitarte el trabajo con tus objetos. - AndrewRussett - 15.07.2017

Quote:
Originally Posted by SmileJack
View Post
Uy, eso si fue ofenza xd, pobre man.
Mejor ve a escribir "ofenza" en PawnScript.


Re: Bucles]_ Aprende a dar IDґs y a facilitarte el trabajo con tus objetos. - Unrea1 - 15.07.2017

Ya tenemos el reemplazo de Kalcor.


Respuesta: Bucles]_ Aprende a dar IDґs y a facilitarte el trabajo con tus objetos. - MeScript2212 - 15.07.2017

JJAJAJAJAJAJJAJAJAJJAJAA pensй que alguien le servirнa, igual no terminй la guнa


Re: Bucles]_ Aprende a dar IDґs y a facilitarte el trabajo con tus objetos. - SmileJack - 16.07.2017




Re: Bucles]_ Aprende a dar IDґs y a facilitarte el trabajo con tus objetos. - Graber - 07.08.2017

si esto es un ejemplo no me imagino el gm que andas haciendo