![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 13.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam taką funkcję, którą wykorzystuję w jednej z gier - ma ona na celu zamianę tekstu wpisanego przez gracza na format liczbowy.
Kod stock pass_hash(buf[]) { new length = strlen(buf); new s1 = 1, s2 = 0; for(new n=0; n<length; n++) { s1 = (s1 + buf[n] + buf[n]) % 66666; s2 = (s2 + s1) % 66666; } return (s2 << 16) + s1; } Próbowałem ją przerobić na PHP uzyskująć taki efekt
Jednakże, funkcja ta nie działa i wypluwa dwa błędy Kod Notice: Use of undefined constant x - assumed 'x' in *:\*\*\*\*\logowanie.php on line 68 Warning: Illegal string offset 'x' in *:\*\*\*\*\logowanie.php on line 68 W jaki sposób mogę zrobić to tak, aby działało poprawnie? Wszelka pomoc mile widziana (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
$buf[x] - zgubiłeś coś. Powinno być $buf[$x]
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 354 Pomógł: 100 Dołączył: 14.11.2013 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 13.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Błędy zniknęły i coś tam robi - jednak nie tak jak powinno (IMG:style_emoticons/default/sad.gif)
dla pewnego ciągu znaków o długości 10 zamiast 787875935 wychodzi 65536 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 13.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Niestety, dalej to samo (IMG:style_emoticons/default/sad.gif)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) ![]() ![]() |
$s1 = ($s1 + ord($buf[$x])*2) % 66666;
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 13.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jest o wiele lepiej, jednak to nadal nie jest to (IMG:style_emoticons/default/sad.gif) Teraz wynikiem konwersji jest 787286110 a powinno być 787875935
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Nie jesteśmy od poprawiania błędów w działaniach matematycznych...
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 13.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam Cię bardzo, ale ten sam skrypt działa w dwócyh różnych miejscach na dwa różne sposoby. Jeśli nie masz chęci pomaganie, to nie zaglądaj do tego wątku.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 12:44 |