PARTNERI:
-UPOZORENJE-

Samo registrovani članovi mogu da vide/koriste forum u celini.
Prijavite se ili registrujte nalog na Balkan SA-MP forumu.


Autor Tema: [Pitanje/Savet] Bool ili int  (Pročitano 384 puta)

0 članova i 1 gost pregledaju ovu temu.

Van mreže Kriso

Bool ili int
« poslato: Februar 11, 2020, 12:46:13 posle podne »
Problem(error/warning): Sta je bolje int ili bool? UlogovanProvera[playerid]==1 ili ==true
Dio skripte:
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Slika/video ingame problema(obavezno ako je ingame problem):
GAD SAM JA
 

Van mreže malitoni

Odg: Bool ili int
« Odgovor #1 poslato: Februar 11, 2020, 12:48:13 posle podne »
Nema neke razlike u PAWN jeziku jer iirc isto imaju bitova (kec/true) (nula/false)
Svakako koristi bool za 0/1 vrednosti

Edit, evo sada cu videti asm kodove, samo da jedem
« Poslednja izmena: Februar 11, 2020, 12:49:51 posle podne malitoni »
 

Van mreže Kriso

Odg: Bool ili int
« Odgovor #2 poslato: Februar 11, 2020, 12:49:48 posle podne »
Okej, samo me je ovo zanima.
GAD SAM JA
 

Van mreže malitoni

Odg: Bool ili int
« Odgovor #3 poslato: Februar 11, 2020, 12:58:10 posle podne »
Ovo sam dobio za bool:
CODE 0 ; 0
;program exit point
halt 0


DATA 4 ; 0
dump 37030

DATA 0 ; 4
dump 1

CODE 0 ; 8
proc ; main
; line 6
break ; c
; line 7
break ; 10
load.pri 4
const.alt 1
eq
jzer 1c
;$exp
l.1c ; 30
zero.pri
retn


STKSIZE 1000
...a ovo za int
CODE 0 ; 0
;program exit point
halt 0


DATA 4 ; 0
dump 37030

DATA 0 ; 4
dump 1

CODE 0 ; 8
proc ; main
; line 6
break ; c
; line 7
break ; 10
load.pri 4
const.alt 1
eq
jzer 1c
;$exp
l.1c ; 30
zero.pri
retn


STKSIZE 1000
Znaci potpuno je isti koliko mogu videti :)

Ovo sam koristio za test:
Pawno Code: [Izaberi]
#include <a_samp>

new a = 1;

main()
{
if (a == 1)
{
//code
}
}
Pawno Code: [Izaberi]
#include <a_samp>

new bool:a = true;

main()
{
if (a == true)
{
//code
}
}

EDIT: I da, bila je ugasena optimizacija koda u compileru tako da nema greske
« Poslednja izmena: Februar 11, 2020, 12:59:26 posle podne malitoni »
 

Van mreže Kriso

Odg: Bool ili int
« Odgovor #4 poslato: Februar 11, 2020, 12:59:57 posle podne »
Znaci isti djavo
GAD SAM JA
 
Korisnici koji su se zahvalili: malitoni

Van mreže malitoni

Odg: Bool ili int
« Odgovor #5 poslato: Februar 11, 2020, 13:00:31 posle podne »
Znaci isti djavo
Kao sto mozes videti :P
Mozes lock temu
 

Van mreže Kriso

Odg: Bool ili int
« Odgovor #6 poslato: Februar 11, 2020, 13:01:15 posle podne »
PS. Verovatno compajler pretvara bool u int ili tako nesto
GAD SAM JA
 

Van mreže // impact

Odg: Bool ili int
« Odgovor #7 poslato: Februar 11, 2020, 13:02:09 posle podne »
Samo nemoj da koristis UlogovanProvera molim te.
 

Van mreže Kriso

Odg: Bool ili int
« Odgovor #8 poslato: Februar 11, 2020, 13:02:44 posle podne »
Dao sam kao primer, i kao da je bitno sta koristis
GAD SAM JA
 

Van mreže malitoni

Odg: Bool ili int
« Odgovor #9 poslato: Februar 11, 2020, 13:03:17 posle podne »
Samo nemoj da koristis UlogovanProvera molim te.
To je samo ime funkcije, najbolje je primenjivati ENGLESKA imena za sve u modu (kao sto ja radim) ali svakako mu je potrebno i ovo za neke stvari :) (ne u svakoj komandi kao sto obicno rade haha)
 

Van mreže Kriso

Odg: Bool ili int
« Odgovor #10 poslato: Februar 11, 2020, 13:04:23 posle podne »
Pawno Code: [Izaberi]
public OnPlayerCommandReceived(playerid, cmdtext[])
{
    if(IgracUlogovan[playerid] == 0)
{
        SCM(playerid, COLOR_GREY, "Niste se prijavili, te ne mozete koristiti komande!");
return 0;
}
    return 1;
}
GAD SAM JA
 

Van mreže YumikoJR

Odg: Bool ili int
« Odgovor #11 poslato: Februar 11, 2020, 13:08:57 posle podne »
y_bit

Pawno Code: [Izaberi]
new
    BitArray:UlogovanProvera<MAX_PLAYERS>;

public OnPlayerConnect(playerid) {
    Bit_Vet(UlogovanProvera, playerid); // Bit_Vet postavlja na false (0)
    return 1;
}

public OnPlayerSpawn(playerid) {
    Bit_Let(UlogovanProvera, playerid); // Bit_Let postavlja na true (1)
    return 1;
}

// Ali nemas potrebe da koristis to `UlogovanProvera` ja sam ti dao primer samo kako da koristis y_bit..
 

Van mreže malitoni

Odg: Bool ili int
« Odgovor #12 poslato: Februar 11, 2020, 13:09:52 posle podne »
y_bit

Pawno Code: [Izaberi]
new
    BitArray:UlogovanProvera<MAX_PLAYERS>;

public OnPlayerConnect(playerid) {
    Bit_Vet(UlogovanProvera, playerid); // Bit_Vet postavlja na false (0)
    return 1;
}

public OnPlayerSpawn(playerid) {
    Bit_Let(UlogovanProvera, playerid); // Bit_Let postavlja na true (1)
    return 1;
}

// Ali nemas potrebe da koristis to `UlogovanProvera` ja sam ti dao primer samo kako da koristis y_bit..
Ne koristi se za to y_bit :)
 

Van mreže YumikoJR

Odg: Bool ili int
« Odgovor #13 poslato: Februar 11, 2020, 13:12:16 posle podne »
 

Van mreže malitoni

Odg: Bool ili int
« Odgovor #14 poslato: Februar 11, 2020, 14:59:24 posle podne »
PS. Verovatno compajler pretvara bool u int ili tako nesto
Edit: Ovu msg nisam video, ne, pawn je retardiran i ta dva imaju isto bitova (bool ima istu vrednost kao int koji ima vrednost 2mil+ (cellmax).., isto je ugl)