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
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

...
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

...
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ą.