Skocz do zawartości
Jaev

Gamemode w częściach \ kilku plikach.

Rekomendowane odpowiedzi

Witam, podesłałby ktoś poradnik jak podzielić Gamemode na pliki, wczytać je w głownym tzn:

• GM.pwn - > Główny plik 

• GM_system1.pwn - > Plik .pwn z systemem 1

• GM_system2.pwn - > Plik .pwn z systemem 2

 

Proszę o pomoc w postaci poradnika lub wyjaśnienia niżej, dzięki :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

C:\Users\Piotrek\Desktop\Pawn - podobne\compiler\pawno\include\lib/obiekty.inc(8) : error 021: symbol already defined: "CreateDynamicObject"

hem?

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

	#include <a_samp>
	#include <dfile>
	#include <zcmd>    
	#include <sscanf2>
	#include <streamer>
	#include "lib\obiekty.inc"

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

zamien \ na /

"lib/obiekty.inc" - w folderze gamemode

<lib/obiekty.inc> - w folderze programu pawno

Edytowane przez xBBBay ☆

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

I tak dalej ..

#include &lt;lib/obiekty.inc&gt;
	 
	C:\Users\Piotrek\Desktop\Pawn - podobne\compiler\pawno\include\lib/obiekty.inc(1) : error 021: symbol already defined: "printf"
	C:\Users\Piotrek\Desktop\Pawn - podobne\compiler\pawno\include\lib/obiekty.inc(8) : error 021: symbol already defined: "CreateDynamicObject"
	C:\Users\Piotrek\Desktop\Pawn - podobne\compiler\pawno\include\lib/obiekty.inc(193) : error 021: symbol already defined: "CreateDynamicObject"
	C:\Users\Piotrek\Desktop\Pawn - podobne\compiler\pawno\include\lib/obiekty.inc(808) : error 021: symbol already defined: "CreateDynamicObject"

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

#include to instrukcja pre-procesora, która po prostu wrzuca zawartość pliku do środka skryptu przed kompilacją. Dam Ci przykład jak to może działać:

test1.inc:

	    return 1;
	}

 

gamemode.pwn:

	stock testing() {
	    printf("test");
	#include "test1.inc"



W trzeciej linijce gamemode.pwn pre-processor zaimportuje zawartość pliku test1.inc i po prostu wrzuci w miejsce #include;
Kiedy kod dojdzie do kompilatora to będzie wyglądał tak:
 

	stock testing() {
	    printf("test");
	    return 1;
	}




Wniosek z tego jest taki, że Ty #includując obiekty.inc wrzucasz zawartość tego pliku w miejsce #include;
Twój kod wygląda tak:
 

	#include <a_samp>
	#include <dfile>
	#include <zcmd>
	#include <sscanf2>
	#include <streamer>

	printf("********************");
	printf("********************");
	printf(" ... ");
	printf("********************");
	printf("********************");

	//WORD
	CreateDynamicObject( ... );
	CreateDynamicObject( ... );
	// i tak dalej



Jak widzisz, próbujesz użyć funkcji printf i CreateDynamicObject po za zakresem jakiejkolwiek funkcji albo callbacka.

Proste rozwiązanie to wrzucić kod w obiekty.inc w jakąś funkcję i potem tę funkcję wywołać.
Alternatywnie możesz wrzucić #include do środka jakiegoś callbacka albo funkcji w środku gamemode.pwn.
Polecam rozwiązanie pierwsze.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wrzuciłem to w callbacki, zrobiłem sobie stock i mam błąd związany z ? ze SSCANFEM -,-'

stock WczytajObiekty()
	{
	    #include &lt;lib/obiekty.inc&gt;
	    return 1;
	}
	 
	C:\Users\Piotrek\Desktop\Pawn - podobne\compiler\pawno\include\sscanf2.inc(159) : error 017: undefined symbol "SSCANF_OnFilterScriptInit"

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Co jest nie tak?

 C:\Users\Piotrek\Desktop\Pawn - podobne\compiler\pawno\include\lib\obiekty.inc(3) : error 029: invalid expression, assumed zero
	C:\Users\Piotrek\Desktop\Pawn - podobne\compiler\pawno\include\lib\obiekty.inc(4) : error 001: expected token: ";", but found "{"
	 
	public OnGameModeInit()
	{
	    return 1;
	}

 

Edytowane przez Jaev

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

×