Page 1 of 1

Libraria DIV

Posted: 21 Jul 2018, 00:50
by Filiq_
Nu stiu de la ce vine DIV, pur si simplu mi-a venit asa in cap, probabil o sa zic ca de la Diversity.

Nu stiu daca stiti, dar in sa-mp pawn este o librarie numita "YSI", sunt multe includeuri folositoare in acea librarie si am zis sa fac si eu pentru cs, orice sfat sau orice altceva este bine venit.

Libraria YSI ( SA-MP ): https://github.com/Southclaws/YSI-4.0
Libraria DIV( CS 1.6 ): https://pastebin.com/iRnJeAhQ ( o sa adaug si pe github dar ma bate acum :)) )


Momentan aceasta librarie contine doar d_iterate.inc, ce este aceasta? Iteratorii sunt o functie foarte utila in sa-mp scripting, de ce sa nu fie si aici? Se pot crea diferiti iteratori si adaugati playeri sau altceva in iteratorul respectiv.

Ex:

Code: Select all

#include <amxmodx> 
#include <DIV/d_iterate> 

#define MAX_PLAYERS 31

new Player [ MAX_PLAYERS + 1 ]; // max_players are max slots your server


public client_authorized(id) {
// daca nu este bot, il adauga in iteratorul "Player"
    if(!is_user_bot(id) || !is_user_hltv(id))
        Iter_Add(Player, id); 

    return true;
}

public client_disconnect(id) {
// daca nu este bot il sterge din iteratorul "Player"
    if(!is_user_bot(id) || !is_user_hltv(id))
        Iter_Remove(Player, id);

    return true;
}
 
Aceasta librarie o sa va fie de foarte mare ajutor mai ales cand o sa termin si libraria "foreach", aceasta librarie va ajuta sa parcurgeti toti jucatorii dintr un iterator mult mai eficient, de ce? Pai e simplu, se creeaza un for() si se parcurge doar jucatorii care sunt in iteratorul respectiv, intelegeti?

Daca doreste cineva sa intre in proiect, da-ti-mi un mesaj in privat.

Re: Libraria DIV

Posted: 27 Jul 2018, 21:42
by JaiLBreaK
cam nimic din ce ai facut tu nu e ok, sa nu zic ca nici nu o sa functioneze, daca vrei sa continui 'proiectu' imi zici sa nu ma chinui sa detaliez degeaba

Re: Libraria DIV

Posted: 28 Jul 2018, 14:38
by LondoN eXtream
Stai ca nu m-am prins de ceva.

new Player[MAXPLAYERS+1] // aici cred ca maxp = 32 +1 = 33.

Itter_Add(Player, id) -> cred ca mai corect ar fi Itter_Add(Player[id], value) cred ca la asa ceva ai vrea tu sa ajungi. In acest caz ar fi cam inutila libraria ta pentru ca poti face mai simplu Player[id] = value. Nu prea inteleg la ce ar trebui sa ajute libraria ta.

Re: Libraria DIV

Posted: 28 Jul 2018, 18:03
by JaiLBreaK
LondoN eXtream wrote:Stai ca nu m-am prins de ceva.

new Player[MAXPLAYERS+1] // aici cred ca maxp = 32 +1 = 33.

Itter_Add(Player, id) -> cred ca mai corect ar fi Itter_Add(Player[id], value) cred ca la asa ceva ai vrea tu sa ajungi. In acest caz ar fi cam inutila libraria ta pentru ca poti face mai simplu Player[id] = value. Nu prea inteleg la ce ar trebui sa ajute libraria ta.
a pus maxp pentru memorie mai putina în caz de sv rulează 8n mai puține sloturi iar cât despre propunerea ta nu prea sunt de acord, nici de librăria lui, mai bine folosește macrourile bit

Re: Libraria DIV

Posted: 28 Jul 2018, 18:04
by The Kalu
Eu zic sa va potoliti si sa lasati profesionistii sa faca astea.

Re: Libraria DIV

Posted: 30 Jul 2018, 13:09
by YONTU
Nu vad eficienta..
Codul l-ai scris si gresit. Lipsesc variabile
Te complici