Skocz do zawartości
jamajkisamp

Gamemode Unknown + warningi przy kompilacji

Rekomendowane odpowiedzi

Witam

Mam problem z GM mysantos.pl z tego tematu mysantos.pl. Otóż posiadam serwer na serverproject, skompilowałem mapę i wyskoczyły warningi:

 

C:\Users\Michal\Desktop\samp\samp03z_svr_R1_win32\pawno\include\progress.inc(170) : warning 217: loose indentation

C:\Users\Michal\Desktop\samp\samp03z_svr_R1_win32\pawno\include\progress.inc(175) : warning 217: loose indentation
C:\Users\Michal\Desktop\samp\samp03z_svr_R1_win32\pawno\include\lib\labels.inc(104) : warning 213: tag mismatch
C:\Users\Michal\Desktop\samp\samp03z_svr_R1_win32\pawno\include\lib\labels.inc(187) : warning 213: tag mismatch
C:\Users\Michal\Desktop\samp\mysantos-main-master\mysantos-main-master\vliveb.pwn(7452) : warning 217: loose indentation
C:\Users\Michal\Desktop\samp\mysantos-main-master\mysantos-main-master\vliveb.pwn(7455) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
 
 
6 Warnings.

 

Czytałem, że warningi loose indentation są spowodowane brakiem porządku w kodzie i można je pominąć pragmą. Nie wiem co oznacza tag mismatch.... Pomijając to (jestem totalny swieżak ale z zapałem) wrzuciłem pliki na serwer. Gamemoda do folderu gamemodes, z linux/libs/plugins do plugins, plik z folderu sql wgrałem do bazy danych z serwera. Do configu dodałem gamemoda i wyskakuje mi mode "unknown" w sampie, wchodzę do gry i spadam postacią pod mape. Jak to rozwiązać? Chce się nauczyć czegoś i w sumie postawić serwer rp 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

 

 

[18:57:47] Number of vehicle models: 0 

[18:57:47] Script[gamemodes/vliveb.amx]: Run time error 19: "File or function is not found" 

[18:57:47] Reading File: properties/police.txt 

[18:57:47] Reading File: properties/banks.txt 

[18:57:47] Reading File: properties/businesses.txt 

[18:57:47] Reading File: properties/houses.txt 

[18:57:47] Reading File: blank 

[18:57:47] Loaded 4 filterscripts. 

[18:57:47] Loading filterscript 'gl_realtime.amx'... 

[18:57:47] ----------------------------------- 

[18:57:47] Grand Larceny Property Filterscript

----------------------------------- 

[18:57:47] 

[18:57:47] Loading filterscript 'gl_property.amx'... 

[18:57:47] Loading filterscript 'gl_actions.amx'... 

--Base FS loaded. 

[18:57:47] 

[18:57:47] Loading filterscript 'base.amx'... 

[18:57:47] --------------- 

[18:57:47] Filterscripts 

[18:57:47] 

[18:57:47] Loaded 0 plugins. 

[18:57:47] -------------- 

[18:57:47] Server Plugins 

[18:57:47] 

[18:57:47] password = "" (string) 

v0.3z-R4, ©2005-2014 SA-MP Team 

---------------------- 

SA-MP Dedicated Server 

 

[18:57:47] Script[gamemodes/vliveb.amx]: Run time error 19: "File or function is not found"  Coś z samym gamemodem jest? Nic w nim osobiście nie zmieniałem mam go taki jak w downloadzie był. Tylko skompilowałem z tymi warningami.

Chyba, że mam ten plik vliveb.amx wrzucić do jeszcze jakiegoś folderu?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

btw. W server.cfg do pluginów jest linijka "plugins sscanf audio etc..." ? Bo ogólnie jej nie miałem a po podaniu frazy plugins sscanf w logach mam 

 

 

Failed (plugins/sscanf: cannot open shared object file: No such file or directory) 
[19:25:44] Loading plugin: sscanf 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Tag mismatch czyli np.:

new t;
t = TextDrawCreate(...);
Czyli np. Chcesz stworzyc textdraw do zwyklej zmiennej, a textdraw chce zmienna Text:t...

Prosciej ci wytlumaczyc nie umiem xD

A do lini plugins sscanf dodajesz rozszerzenie .so dla serwera na lineuxie, a .dll dla serwerow na Windowsie

Edytowane przez ReveresPL

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

dzięki za odpowiedz z tym .so ale sam doszedłem

 

ps. wszystko dziala serwer włącza sie tylko nie mogę się zalogować. konta da sie tylko robic poprzez forum na IPB?

Edytowane przez jamajkisamp

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

 

 

Postać musisz stworzyć w tabeli core_players, logujesz się na nicku postaci Imię_Nazwisko, hasło wpisujesz takie samo jak do konta globalnego na forum.

 

tak napisał autor skryptu +

 

core_players masz coś takiego jak char_gid <- tam wpisujesz id z tabeli mysa_members do konta globalnego

 

przykład:

1. mam konto o nazwie blint na forum (mysa_members), id tego konta to 250

2. w core_players mam swoją postać John_Paul

3. UID John_Paul = (?) jakikolwiek

4. char_gid = 250

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Heh na naukę nigdy za późno. Może za jakiś czas ogarnę :D

Okej czyli muszę tabele stworzyć ok, ale zastanawia mnie jak powiązanie będzie te ip.board z serwerem? Poprzez podanie ip serwera w jakimś configu? W ogóle czy ipb jest "silnikiem" jak np mybb? I czy jest to darmowe? 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

IP.Board jest silnikiem forumowym tak jak MyBB niestety, ale jest płatne i to dosyć drogo - jednak ma spore możliwości. Zapewne serwer i IP.Board łączyły się z tą samą bazą danych.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Można i bez zmiany rejestracji, wystarczy stworzyć skrypt, który dodaje nowego gracza do bazy danych i "podszywa" się pod IPB. Czyli w SQL dodajesz sobie zapytanie, w którym dodajesz tylko nick i zahaszowane hasło, a w tabeli automatycznie stworzy Ci się unikalne ID, które dodajesz potem według opisu, który dałem wyżej. A jeszcze prościej to dodajesz pole z hasłem do core_players i z niej korzystasz.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

No to chyba jednak zrezygnuje z tego GM i pobawię się jakimś na którym jest zwykła rejestracja bo przerabianie tego to chyba aktualnie nie na moje siły... Myślałem że to tylko będzie podmiana linijek z innego gm'a którego mam z poradnika ale no chyba znajde inny gm...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie chce robić nowego tematu napisze tu.

po wejsciu na serwer od razu dostaje bw. Wychodze zmieniam bw w pliku z kontem gracza z 10 na 0, daje 100 zycia. loguje sie i kolejne bw... jakies rozwiązanie?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zamiana systemu logowania na GM mysantos to kwestia zmiany jednej funkcji, jak wrócę do domu to mogę wam naskrobać coś co wg. mnie powinno działać.

 

P.S. MyBB i IP.Board mają różne metody hashowania haseł - wystarczy poszukać na googlach lub samym konkretnym pliku na forum.

 

  1. https://mybboard.pl/watek-mybb-kodowanie-hasla-w-mybb_2627
  2. przykladu z IP.Board nie podam bo jest w kodzie

 

@edit:

https://github.com/blint96/mysantos-main/blob/master/vliveb.pwn-> linia 7545

 

Tutaj wersja dla leniwych :P

public CheckPassword(playerid,password[])		//sprawdzanie czy gracz wpisal poprawnie haslo
{
	new buffer[256],pname[MAX_PLAYER_NAME];
	GetPlayerName(playerid,pname,sizeof(pname));
	format(buffer,sizeof(buffer),"SELECT char_gid FROM core_players WHERE char_name='%s'",pname);
	mysql_query(buffer);
	mysql_store_result();
	PlayerGID[playerid] = mysql_fetch_int();
	mysql_free_result();
	
	format(buffer,sizeof(buffer),"SELECT members_pass_salt FROM mysa_members WHERE member_id=%i",PlayerGID[playerid] );
	mysql_query(buffer);
	mysql_store_result();
	new memberPassSalt[5];
	mysql_fetch_string(memberPassSalt);
	mysql_free_result();

	new password_e[128];
	mysql_real_escape_string(password,password_e);
	format(buffer,sizeof(buffer),"SELECT name FROM mysa_members WHERE member_id=%i AND members_pass_hash=md5(CONCAT(md5('%s'),md5('%s')))",PlayerGID[playerid] ,memberPassSalt,password_e);
	mysql_query(buffer);
	
	
	mysql_store_result();
	if(mysql_num_rows() == 0)
	{
		TogglePlayerSpectating(playerid,1);
		LogTry[playerid]++;

		mysql_free_result();
		ShowPlayerDialog(playerid,DIAL_L,DIALOG_STYLE_PASSWORD,"Logowanie","Wpisz swoje has³o, aby po³¹czyæ siê z serwerem.\n"COL_RED"* - Ÿle wpisa³eœ has³o, spróbuj jeszcze raz","Gotowe","Wyloguj");
		return 0;
	}
	else
	{
	    mysql_free_result();		
		TogglePlayerSpectating(playerid,0);
		GetPlayerInfo(playerid);
		LogPlayerLogin(playerid,1);
		Logged[playerid] = 1;
		SetSpawnInfo(playerid, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);	
		SpawnPlayer(playerid);
		
		GetPlayerGroups(playerid);
		
		GetPlayerBlocks(playerid);		//do tej pory dziala
		
	    new welcome[256],name[24],surname[24];
	    sscanf(pname,"p<_>s[24]s[24]",name,surname);
	    format(welcome,sizeof(welcome),"Witaj, %s na %s %s. ¯yczymy Ci przyjemnej gry :)",GetPlayerGlobalNickname(playerid),SERVERNAME,VERSION);
		SetSpawnInfo(playerid, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
		SpawnPlayer(playerid);
		//Attach3DTextLabelToPlayer(PlayerNick[playerid], playerid, 0.0, 0.0, 0.2);
	    SendClientMessage(playerid,COLOR_SERVER,welcome);
		new query2[256];
		format(query2,sizeof(query2),"UPDATE core_players SET char_logged=1 WHERE char_uid=%i",GetPlayerUID(playerid));
		mysql_query(query2);
		return 1;
	}
} 

Edytowane przez blint

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×