Jump to content
  • 0

Problema include


GEORGIKAA

Question

Salut. Recent am incercat sa mut textdraw-urile din .pwn-ul gamemode-ului intr-un iinclude desi nu prea stiu exact cum ar trebui sa fac. 

Le-am pus intr-un fisier .inc, dupa l-am inclus in gamemode-ul principal si am erorile astea:

D:\server\pawno\include\textdraws.inc(1) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(11) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(21) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(31) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(41) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(51) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(62) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(72) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(82) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(92) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(102) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(112) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(121) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(128) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(135) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(145) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(155) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(165) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(175) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(185) : error 010: invalid function or declaration
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


26 Errors.
D:\server\pawno\include\textdraws.inc(195) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(205) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(215) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(225) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(231) : error 010: invalid function or declaration
D:\server\pawno\include\textdraws.inc(237) : error 010: invalid function or declaration

Cum as putea baga textdraw-urile corect?

 

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Salut @GEORGIKAA,

Avem nevoie de fisierul cu textdraw-uri si locatia in care le-ai inclus (#include etc).

Textdraw-urile din fisierul .inc ar trebui sa fie adaugate intr-o functie (ex: function Load_TextDraws( ), respectiv o functie pentru textdraw-urile pentru playerid, separata, ex: function Load_Player_TextDraws( playerid )).

Functia Load_TextDraws o apelezi la OnGameModeInit, iar Load_Player_TextDraws, la OnPlayerConnect( playerid ).

Daca te-am ajutat =>

spacer.png

Link to comment
Share on other sites

  • 0
Acum 9 minute, shane a spus:

Avem nevoie de fisierul cu textdraw-uri si locatia in care le-ai inclus (#include etc).

 

#include <textdraws>            //19

 

fisierul in sine//locatie: pawno - includes.

https://pastebin.com/uibM8ALE

L-am apelat in gamemode la OnGameModeInit insa nu stiu cum ar trebui sa fac aceea si pt playerid, gen daca si functia pt playerid ar trebui trecuta in include

Edited by GEORGIKAA
Link to comment
Share on other sites

  • 0

Acum arata cam asa fisierul .inc:

https://pastebin.com/nEPwLeEK

insa la compilare in GM am problemele astea:

 

D:\server\pawno\include\geolocation.inc(474) : warning 219: local variable "playerid" shadows a variable at a preceding level
D:\server\pawno\include\textdraws.inc(6) : error 017: undefined symbol "FishTD"
D:\server\pawno\include\textdraws.inc(6) : warning 215: expression has no effect
D:\server\pawno\include\textdraws.inc(6) : error 001: expected token: ";", but found "]"
D:\server\pawno\include\textdraws.inc(6) : error 029: invalid expression, assumed zero
D:\server\pawno\include\textdraws.inc(6) : fatal error 107: too many error messages on one line

 

Link to comment
Share on other sites

  • 0

Bun, hai sa-ti explic cum ar trebui sa faci un include pentru textdraw-uri. Mai simplu de atat nu cred ca e.

Bun, faci un nou fisier numit textdraws.inc, faci un folder nou in folder-ul in care ai server-ul numit "modules" sau cum vrei tu si pui include-ul creat in folderul respectiv.
Te duci in gamemode si treci 

#include "../cum_ai_denumit_tu_folderul/textdraws.inc


Dupa ce ai facut treaba asta (vei avea nevoie de libraria YSI pentru hook-uri, daca vrei sa lucrezi mai usor).
Daca ai libraria YSI te duci in textdraws.inc si pui pe prima linie: 

#include 				<YSI\y_hooks>

Acum.. Te poti apuca sa faci textdraw-urile. 

Apropo, inca ceva care te va ajuta cu siguranta.
Adauga asta in gamemode-ul tau pe la inceput.

#define function%0(%1) forward%0(%1); public%0(%1)

Sa-ti explic ce face, te scapa de multe linii inutile in gamemode.
In loc sa folosesti pentru o functie asta:

forward testez_cv(playerid);
public testez_cv(playerid)
{
  	return 1;
}

Folosesti doar:

function testez_cv(playerid)
{
	SendClientMessage(playerid, -1, "Super");
}


Poti incepe dupa urmatorul exemplu in "textdraws.inc", el ar trebui sa arate cam asa:

Quote

#include                 <YSI\y_hooks>

function LoadInitTextdraws()

{

    Aici faci textdraw-urile publice.

}

hook OnGameModeInit()

{

      LoadInitTextdraws();

}

function LoadPlayerTextdraws(playerid)

{

   Aici faci textdrawurile pentru player.

}

hook OnPlayerConnect(playerid)

{

    LoadPlayerTextdraws(playerid);

}

Sper ca te-am ajutat, nu este greu, dar cu timpul inveti, eu ti-am aratat ce trebuie sa faci mura-n gura. ;)

  • Like 1
Link to comment
Share on other sites

  • 0

Am facut pe alt stil cum ai dat tu doar ca nu am YSI.

Am problema asta la compilare in modules.

D:\server\modules\textdraws.inc(473) : error 013: no entry point (no public functions)

 

https://pastebin.com/mRQuceju asa arata asta acum, stock-urile le-am bagat la load in gamemode si am problema asta:

 

../modules/textdraws.inc(5) : error 017: undefined symbol "FishTD"
../modules/textdraws.inc(5) : warning 215: expression has no effect
../modules/textdraws.inc(5) : error 001: expected token: ";", but found "]"
../modules/textdraws.inc(5) : error 029: invalid expression, assumed zero
../modules/textdraws.inc(5) : fatal error 107: too many error messages on one line

 

sunt incepator si incerc sa fac un gamemode edit, scuze daca nu prind unele chestii din prima.

Link to comment
Share on other sites

  • 0

@GEORGIKAA,

In primul rand, aceasta functie (stock LoadPlayerTextdraw()), trebuie sa fie per/playerid, adica: stock LoadPlayerTextdraw( playerid ).

In al 2-lea rand, nu ai nevoie sa incluzi a_samp iar, il ai odata introdus in gamemode.

Si nu in ultimul rand, incearca sa muti acel include undeva deasupra la OnGameModeInit.

 

Iar pe langa asta, nu ai creata in gamemode variabila FishTD. (EROAREA: error 017: undefined symbol "FishTD")

Edited by shane
  • Like 1

Daca te-am ajutat =>

spacer.png

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.