Alt-Chat | Admin Warn - Textdraw v2 (moja verzija)

Započeo youngdeal, Avgust 21, 2018, 01:42:29 PRE PODNE

prethodna tema - sledeća tema

0 članova i 2 gostiju pregledaju ovu temu.

Citat: Ino42O poslato Avgust 22, 2018, 08:02:10 PRE PODNE
Ovakav sietem nema veze sa vremenom nikakvim, niti timeri ni gettime, nista od toga, potreban ti je string array sa 8 slotova, ne trebas ni ove variable 'zauzeto' i slicno, jednostavno kada se nova poruka upise sve se pomjeraju za slot unatrag, time ces automatski dobiti rezultat da se najstarija poruka brise, samo malo logicki razmisli

Ovu logiku mozes u doslovno 5 linija odraditi
to je bilo u v1 verziji ovog systema od Sladea i nije radilo na Lospions modu kad sam ubacio drugu i ja sam malo ispravio kod po svojoj ideji i eto objavio da nekom posluzi kome ne radi system v1 verzije - ako zeza , svako ima svoje ideje kako ce realizirat to, moze se na vise nacina,ja sam ovako i pomogao drugu i objavio ovdje da posluzi kome i tjt :D
69

Citat: youngdeal poslato Avgust 22, 2018, 21:32:54 POSLE PODNE
to je bilo u v1 verziji ovog systema od Sladea i nije radilo

U mene nije bio nikakav tajmer, zasto dodati tajmer kada se sve radi preko jedne funkcije.
moje funkcije:

[pawn]stock OcistiWarnove() {
    for(new i = 0; i < sizeof(AdminWarns); i++) strmid(AdminWarns[ i ][ Text ], "~r~(AC) ~w~Nema", 0, strlen("~r~(AC) ~w~Nema"), 128);
}
stock OsvjeziWarn() {
    strdel( updatewarntd, 0, sizeof(updatewarntd) );
    for(new i = 0; i < sizeof(AdminWarns); i++) format(updatewarntd, 128, "%s%s~n~", updatewarntd, AdminWarns[ i ][ Text ]);
    TextDrawSetString(WarnTD, updatewarntd);
}
stock DodajWarnRed(text[]) {
    for ( new i = sizeof(AdminWarns); i != 1; i-- ) {
        strmid(AdminWarns[ i ][ Text ], AdminWarns[ i-1 ][ Text ], 0, strlen(AdminWarns[ i-1 ][ Text ]), 128);
    }
    strmid(AdminWarns[ 0 ][ Text ], text, 0, strlen(text), 128);
    OsvjeziWarn();
    return 1;
}[/pawn]

Nema tajmera, mozda jedino da se zamjeni funkcija DodajWarnRed u:
[pawn]stock DodajWarnRed(text[]) {
    for ( new i = 0; i < sizeof(AdminWarns); i++ ) {
        strmid(AdminWarns[ i ][ Text ], AdminWarns[ i+1 ][ Text ], 0, strlen(AdminWarns[ i+1 ][ Text ]), 128);
    }
    strmid(AdminWarns[ 0 ][ Text ], text, 0, strlen(text), 128);
    OsvjeziWarn();
    return 1;
}[/pawn]

Jer ja sam prebacio sto sam radio u Jamaica modu i dodao define za broj redova, al buduci da nisam testirao nisam ni skapirao da mi petlja nije dobra. Eto sad bi trebala raditi.

Citat: Slade poslato Avgust 22, 2018, 22:55:12 POSLE PODNE
U mene nije bio nikakav tajmer, zasto dodati tajmer kada se sve radi preko jedne funkcije.
moje funkcije:

[pawn]stock OcistiWarnove() {
    for(new i = 0; i < sizeof(AdminWarns); i++) strmid(AdminWarns[ i ][ Text ], "~r~(AC) ~w~Nema", 0, strlen("~r~(AC) ~w~Nema"), 128);
}
stock OsvjeziWarn() {
    strdel( updatewarntd, 0, sizeof(updatewarntd) );
    for(new i = 0; i < sizeof(AdminWarns); i++) format(updatewarntd, 128, "%s%s~n~", updatewarntd, AdminWarns[ i ][ Text ]);
    TextDrawSetString(WarnTD, updatewarntd);
}
stock DodajWarnRed(text[]) {
    for ( new i = sizeof(AdminWarns); i != 1; i-- ) {
        strmid(AdminWarns[ i ][ Text ], AdminWarns[ i-1 ][ Text ], 0, strlen(AdminWarns[ i-1 ][ Text ]), 128);
    }
    strmid(AdminWarns[ 0 ][ Text ], text, 0, strlen(text), 128);
    OsvjeziWarn();
    return 1;
}[/pawn]

Nema tajmera, mozda jedino da se zamjeni funkcija DodajWarnRed u:
[pawn]stock DodajWarnRed(text[]) {
    for ( new i = 0; i < sizeof(AdminWarns); i++ ) {
        strmid(AdminWarns[ i ][ Text ], AdminWarns[ i+1 ][ Text ], 0, strlen(AdminWarns[ i+1 ][ Text ]), 128);
    }
    strmid(AdminWarns[ 0 ][ Text ], text, 0, strlen(text), 128);
    OsvjeziWarn();
    return 1;
}[/pawn]

Jer ja sam prebacio sto sam radio u Jamaica modu i dodao define za broj redova, al buduci da nisam testirao nisam ni skapirao da mi petlja nije dobra. Eto sad bi trebala raditi.
ma samo sam dao npr kako se moze napravit da se brisu najstariji warn-ovi a mogu i preko funkcije u DodajWarnRed kazem ima svakako vise nacina na koje se to moze napravit ne mora bit timer/ timeri, dobro je i u tebe,nije mi se dalo ispravljat bilo mi je dosadno a imao sam ideju svoju i realiziro je tako i pomogao drugu i objavio ovdje da posluzi kome
69


moze da posluzi
Vandals Project OGC
[size=11.25pt]Vandals Project OGC[/size][/font]
[/color]



Pohvale za trud.
SA:MP scripter & TeamSpeak3 developer