Page 1 of 3

CIRKAS KVIECIAMI VISI

Posted: 2013 Mar 24 22:27
by Tetusis

Code: Select all

get_user_authid(id, AUTH, charsmax(AUTH))

Code: Select all

            if (!equal("STEAM_ID_LAN",AUTH)            || !equal("VALVE_ID_LAN", AUTH)            || !equal("STEAM_ID_PENDING", AUTH)            || !equal("VALVE_ID_PENDING", AUTH)) {
tarkim noriu neleisti siems auth pakliuti i mano sistema, bet jie vistiek mistiskai pakliuna O_o nors yra tikrinimas, bandziau taip pat su containi, equali, keista, bet nieko nesigauna, any suggestions?

Re: auth tikrinimas

Posted: 2013 Mar 24 22:51
by hleV
|| → &&

Re: auth tikrinimas

Posted: 2013 Mar 24 23:30
by Tetusis
hleV wrote:|| → &&
nelogiska, nes operatorius || reiskia arba O_o

Re: auth tikrinimas

Posted: 2013 Mar 25 00:01
by beast
Kad logiška. Jei atrodo nelogiška, pakeisk visus simbolius žodžiais ir skaityk visą sąlygą kaip sakinį kol daeis.

Re: auth tikrinimas

Posted: 2013 Mar 25 00:14
by Tetusis
beast wrote:Kad logiška. Jei atrodo nelogiška, pakeisk visus simbolius žodžiais ir skaityk visą sąlygą kaip sakinį kol daeis.
pagal hlev:

tarkim client'o auth yra VALVE_ID_LAN, o mes turim tikrinima: jei STEAM_ID_LAN nelygus VALVE_ID_LAN ir VALVE_ID_LAN nelygus VALVE_ID_LAN ir STEAM_ID_PENDING nelygus VALVE_ID_LAN ir VALVE_ID_PENDING nelygus VALVE_ID_LAN kazkas ivyksta tik tada kai VALVE_ID_LAN yra nelygus nurodytoms salygoms

pagal mane:

client'o auth yra VALVE_ID_LAN, turim tikrinima: jei STEAM_ID_LAN nelygus VALVE_ID_LAN arba VALVE_ID_LAN nelygus VALVE_ID_LAN arba STEAM_ID_PENDING nelygus VALVE_ID_LAN arba VALVE_ID_PENDING nelygus VALVE_ID_LAN kazkas ivyksta tik tada kai VALVE_ID_LAN yra nelygus vienai is siu nurodytu salygu


.... fuck logic

Re: auth tikrinimas

Posted: 2013 Mar 25 00:31
by beast
Pagal hlev sąlygą, dėl to kad valve_id_lan bus lygu authid (valve_id_lan), tolesni veiksmai po { nebus vykdomi, nes sąlyga reikalauja, kad authid būtų nelygu visiems nurodytiems stringams. Kur problema?

Re: auth tikrinimas

Posted: 2013 Mar 25 00:48
by Tetusis
beast wrote:Pagal hlev sąlygą, dėl to kad valve_id_lan bus lygu authid (valve_id_lan), tolesni veiksmai po { nebus vykdomi, nes sąlyga reikalauja, kad authid būtų nelygu visiems nurodytiems stringams. Kur problema?
pagal hlev salyga VALVE_ID_LAN turi buti nelygus visiems nurodytiems, nes yra operatorius

Code: Select all

&&

Re: auth tikrinimas

Posted: 2013 Mar 25 01:16
by beast
Ne valve_id_lan, o authid, kad ir koks jis bebūtų. Tarkim jei bus steam:0 kažkos ten, tai bus vykdoma tai, kas eina po {. O jei bus bent vienas iš nurodytų sąlygoje, iš kart tolesni tikrinimai ir veiksmai tai sąlygai bus nutraukti. Tikiuosi aišku dabar bus :D...

Re: auth tikrinimas

Posted: 2013 Mar 25 01:40
by Tetusis
beast wrote:Ne valve_id_lan, o authid, kad ir koks jis bebūtų. Tarkim jei bus steam:0 kažkos ten, tai bus vykdoma tai, kas eina po {. O jei bus bent vienas iš nurodytų sąlygoje, iš kart tolesni tikrinimai ir veiksmai tai sąlygai bus nutraukti. Tikiuosi aišku dabar bus :D...
VALVE_ID_LAN buvo pateiktas kaip pavizdys, o su && to padaryti negalima.

Re: auth tikrinimas

Posted: 2013 Mar 25 02:49
by hleV
Aš nežinau kaip tu darai. Ar tu vykdai kažką jei ta sąlyga teisinga, ar darai return? Nes dabar pagal tave yra taip:

Code: Select all

new skaicius = random(1337); if (skaicius != 1 || skaicius != 2){    // Pagauni? Salyga visada teisinga, nes skaicius negali atitikt ir 1 ir 2.}
O pagal mano:

Code: Select all

new skaicius = random(1337); if (skaicius != 1 && skaicius != 2){    // Salyga teisinga tik tada, jei skaicius nera nei 1, nei 2.}
Jei darai tiesiog return, tai gali papraščiausiai pašalint šauktukus prieš equal.

Jei po šito nedašus, reiškia esi susipykęs su logika ir gali mest visą šitą reikalą.