15.07.2017, 17:04
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.
En esta ocasiуn, el bucle nos ayudarб con la simplificaciуn del trabajo, y mucho ahorro de tiempo y memoria.
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.
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.
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.
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]); [.....]
Code:
Ejemplo con Bucle new text:mistextdraw[99]; for(new i = 0; i < 99; i++) { TextDrawShowForPlayer(playerid, mistextdraw[i]); }
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 <