[Tutorial] Otimizando Loopings ( Parte 2 ) - Versão de Impressão +- Portal SAMP (https://portalsamp.com) +-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5) +--- Fórum: Guias e Tutoriais (https://portalsamp.com/forumdisplay.php?fid=7) +--- Tópico: [Tutorial] Otimizando Loopings ( Parte 2 ) (/showthread.php?tid=1890) |
Otimizando Loopings ( Parte 2 ) - SrBlue - 03/12/2021 Bom dia/tarde/noite. Aproveitando o tópico do amigo Nilat, vim trazer a parte mas aprofudanda do foreach no tutorial do mesmo, foi dito somente como otimizar loop para a variavel MAX_PLAYESR ( PLAYERS ), para podermos utilizar outras variaveis como MAX_VEHICLES, ou como exemplo, MAX_ORGS nos teria que criar. como faço para criar? use: new B = 10; Iterator: A <B>
segue exemplo do MAX_VEHICLES: Código: #define MAX_VEHICLES 100 Exemplo² Código: new MAX_ORGS = 15; pode-se notar que ocorreu um warning denonimado de: * warning 203: symbol is never used: "MAX_ORGS@YSII_Cg" isso ocorreu nos ambos exemplos devido NÃO TER INICIADO A ARRAY! para iniciar, usemos: new B = VALOR Iterator: A <B> Iter_init(A); exemplo: Código: #define MAX_VEHICLES 100 e sim, nos podemos usar NUMERO diretamente invés de pré definir uma variável com valor. exemplo: Código: new Iterator:NomeAleatorio<10>; enfim, esse é o tutorial =) RE: Otimizando Loopings ( Parte 2 ) - ipsLuan - 03/12/2021 Bom tutorial ensinando o uso do foreach, mas há algo que você se equivocou. O foreach percorre os dados de 0 até o último valor definido pelo init e não pelo valor máximo definido anteriormente. Um adendo que esqueci: hoje em dia existe GetVehiclePoolSize e GetPlayerPoolSize que faz basicamente a mesma coisa que o foreach em MAX_PLAYERS e MAX_VEHICLES. RE: Otimizando Loopings ( Parte 2 ) - SrBlue - 03/12/2021 (03/12/2021 13:09)ipsLuan Escreveu: Bom tutorial ensinando o uso do foreach, mas há algo que você se equivocou. opa, reforçando, o init somente INICIA a ARRAY, sendo assim quando inicia um interator, ele vem vazio ( esqueci de mecionar no tutorial ), Código: new Iterator:MAX_VEHICLES<MAX_VEHICLES>; ou seja MAX_VEHICLES vai ser somente o valor MAX_VEHICLES definido anteriormente para definimos varios valor na array devemos usar: Código: for(new veh=0....veh<....veh++){ // abreviado ( SOMENTE TEORICA ) sendo assim vai ficar na teorica MAX_VEHICLES = [0,1,2,3,4,5,6,7.... até o valor max]; ai na forech vai precorrer entre esse valores! alias sobre os GetVehiclePoolSize e GetPlayerPoolSize , dei exemplo os valores de Vehicle, porem pode-se ser feito com qual quer valor especifico grato pelo comentario! RE: Otimizando Loopings ( Parte 2 ) - xbruno1000x - 03/12/2021 Ótimo complemento, tenho certeza que ajudará muitos. |