![]() |
Logowanie na serwer nie działa - Printable Version +- Gothic Online Forums (https://archive.gothic-online.com) +-- Forum: Community (https://archive.gothic-online.com/forum-18.html) +--- Forum: Polish (Polski) (https://archive.gothic-online.com/forum-19.html) +---- Forum: Pomoc (https://archive.gothic-online.com/forum-23.html) +---- Thread: Logowanie na serwer nie działa (/thread-2096.html) Pages:
1
2
|
Logowanie na serwer nie działa - Kania69 - 10.06.2017 [Squirrel] Cannot finish call callback: onCommand, expected params count 3 [Squirrel] Error runtime: (sq_fileRead) wrong number of parameters, expecting 2 params [Squirrel] Stack Dump: [1]: In function 'onCommand()' ./server-scripts/server_rp.nut line [148] [Squirrel] Locals: - gracz (TABLE) - file (USERPOINTER) - buffer ("") - haslo ("taktaktak") - sdf (ARRAY) - params ("taktaktak") - command ("zaloguj") - pid (0) - this (TABLE) [Squirrel] Cannot finish call callback: onCommand, expected params count 3 [connection] Ledley disconnected from server 25.56.254.96|58847 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ case "zaloguj": { if(gracz[pid].zalogowany!=0) return 1; { local sdf = sscanf("s", params); local haslo = sdf[0]; if(sdf) { if(fileExists("baza/konta/" + getPlayerName(pid) + ".txt") == true) { local buffer = ""; local file = fileOpen("baza/konta/" + getPlayerName(pid) + ".txt","r+"); if( file ) { buffer = ""; buffer = fileRead(file); buffer = format("%s",buffer); gracz[pid].haslo = buffer; if(buffer==haslo) sendMessage(pid, 45, 136, 45, "Zostałeś poprawnie zalogowany. Miłej gry!"); else { sendMessage(pid, 119, 127, 127, "Błędne hasło."); fileClose(file); return 1; } gracz[pid].zalogowany=1; getPlayerName(pid); wczytajKonto(pid); callClientFunc(pid, RELIABLE, "spawnujGracza", gracz[pid].posX, gracz[pid].posY, gracz[pid].posZ); fileClose(file); } } else sendMessage(pid, 119, 127, 127, "Konto nie istnieje."); } else sendMessage(pid, 119, 127, 127, "Tip: /zaloguj (hasło)"); } } break; Pomoże ktoś? RE: Logowanie na serwer nie działa - Quarchodron - 10.06.2017 Jasne ..prosze. [Squirrel] Cannot finish call callback: onCommand, expected params count 3 [Squirrel] Error runtime: (sq_fileRead) wrong number of parameters, expecting 2 params RE: Logowanie na serwer nie działa - Marcel - 10.06.2017 Pamiętam, że kiedyś był jakiś problem z modułem Nubziora i któraś tam wersja była niekompatybilna z win32, bo skompilowana w 64 bitach czy funkcje się pozmieniały albo inaczej. Zmień system zapisu na natywny squirrelowski. RE: Logowanie na serwer nie działa - Patrix - 10.06.2017 Zacznijmy od początku... local sdf = sscanf("s", params); local haslo = sdf[0]; if(sdf) { ... Przenieś local haslo do warunku. Poza tym w case musi być break. RE: Logowanie na serwer nie działa - Son Goku - 10.06.2017 if(gracz[pid].zalogowany!=0) return 1; ja bym stwiał że w 3 lijce jest brak jednego "=" ![]() @Patrix jest break; edt co a pierdolę tu jest przczenie ![]() /server-scripts/server_rp.nut line [148] to wskarzl. znaczy się pokaż linijkę 148 RE: Logowanie na serwer nie działa - Kania69 - 10.06.2017 buffer = fileRead(file); Nie wczytuje gracza a nie chce za każdym razem tworzyć nowe konto RE: Logowanie na serwer nie działa - Patrix - 10.06.2017 Son Goku Wrote:@Patrix jest break; break jest poza case'em, jeśli teraz pod tym aktualnym case'em znajdzie się jakiś inny (a break będzie na samym dole switcha) to od znalezionego case'a do końca skrypt będzie się wykonywać. Innymi słowy break jest w złym miejscu. RE: Logowanie na serwer nie działa - Kania69 - 10.06.2017 No dobrze więc go usunę RE: Logowanie na serwer nie działa - Patrix - 10.06.2017 Nie usuwaj go, przenieś go do case'a ![]() RE: Logowanie na serwer nie działa - Patrix - 10.06.2017 Squirrel Script
Wiesz jak działa słowo kluczowe local? Utworzyłeś lokalną zmienną buffer w if'ie Squirrel Script
local oznacza teraz że ta zmienna będzie tylko dostępna w tym if'ie, nigdzie poza nim. Squirrel Script
Można to zrobić znacznie prościej, wystarczy w drugim if'ie dodać to: Squirrel Script
|