Problem(error/warning): Pravio sam neku vrstu komande za oglas i na jednoj liniji imam error,a to je ...tu dole
Deo skripte: [pawn]format(string1, sizeof(string1), ""TZELENA"TROVO OGLAS | {FFFFFF}Oglas objavio: "TZELENA"%s "BELA"| Kontakt: "TZELENA"%d", ImeIgraca(playerid), PlayerInfo[playerid][xBrojTelefona]);[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [pawn]//[/pawn]
Slika/video ingame problema(obavezno ako je ingame problem): //
Evo cijela komanda:
[pawn]
CMD:toglas(playerid, params[]) {
if( ServerInfo[ Oglasi ] == false ) return SendErrorMessage( playerid, "Trenutno nije moguce slati oglase." );
if( PlayerInfo[ playerid ][ xBrojTelefona ] == 0 ) return SendErrorMessage( playerid, "Nemate mobilni telefon!" );
if(PlayerInfo[playerid][xTrovo] < 1) {
GivePlayerMoney(playerid, 400);
GameTextForPlayer(playerid, "Posto si objavio vise od 100 oglasa dobio si 400$", 10, 6);
}
new string[248], oglas[256], string1[248];
if( sscanf( params, "s[100]", oglas )) return SendUsageMessage(playerid, "/toglas ( text )");
format(string1, sizeof(string1), ""TZELENA"TROVO OGLAS | {FFFFFF}Oglas objavio: "TZELENA"%s "BELA"| Kontakt: "TZELENA"%d", ImeIgraca(playerid), PlayerInfo[playerid][xBrojTelefona]);
SendClientMessageToAll(-1, string1);
format(string, sizeof(string), ""TZELENA"TROVO OGLAS | {FFFFFF}%s", oglas;
SendClientMessageToAll(-1, string);
PlayerInfo[playerid][xTrovo] = ++;
return 1;
}
[/pawn]
Evo errori:
[pawn]
C:\Users\Emrah\Desktop\PANAMA PROJECT\Server\gamemodes\panama.pwn(66460) : error 001: expected token: "-string end-", but found "-identifier-"
C:\Users\Emrah\Desktop\PANAMA PROJECT\Server\gamemodes\panama.pwn(66460) : warning 215: expression has no effect
C:\Users\Emrah\Desktop\PANAMA PROJECT\Server\gamemodes\panama.pwn(66460) : error 001: expected token: ";", but found "-string-"
C:\Users\Emrah\Desktop\PANAMA PROJECT\Server\gamemodes\panama.pwn(66460) : warning 215: expression has no effect
C:\Users\Emrah\Desktop\PANAMA PROJECT\Server\gamemodes\panama.pwn(66460) : warning 215: expression has no effect
C:\Users\Emrah\Desktop\PANAMA PROJECT\Server\gamemodes\panama.pwn(66460) : error 001: expected token: ";", but found ")"
C:\Users\Emrah\Desktop\PANAMA PROJECT\Server\gamemodes\panama.pwn(66460) : fatal error 107: too many error messages on one line
[/pawn]
Fali ti zagrada na liniji:
[pawn]format(string, sizeof(string), ""TZELENA"TROVO OGLAS | {FFFFFF}%s", oglas;[/pawn]
Samo dodaj:
[pawn]format(string, sizeof(string), ""TZELENA"TROVO OGLAS | {FFFFFF}%s", oglas);[/pawn]
Pise ti sve ovde : https://balkan-samp.com/forum/index.php?topic=138030.0
Bukvalno uzmer primer vecine Error 001, naucis engleski i tjt...
Citat: choppa100 poslato Februar 26, 2022, 16:53:52 POSLE PODNE
Fali ti zagrada na liniji:
[pawn]format(string, sizeof(string), ""TZELENA"TROVO OGLAS | {FFFFFF}%s", oglas;[/pawn]
Samo dodaj:
[pawn]format(string, sizeof(string), ""TZELENA"TROVO OGLAS | {FFFFFF}%s", oglas);[/pawn]
Opet isto
Kako ti je definisana TZELENA ????
Verovatno omasena boja TZELENA ili BELA, proveri define za obe
Citat: Deleted User poslato Februar 26, 2022, 17:06:24 POSLE PODNE
Kako ti je definisana TZELENA ????
[pawn]#define TZELENA "{008040}"[/pawn]
Nisam mogao da ne komentiram efikasnu upotrebu heap memorije.
CMD:toglas(playerid, params[]) {
if( ServerInfo[ Oglasi ] == false ) return SendErrorMessage( playerid, "Trenutno nije moguce slati oglase." );
if( PlayerInfo[ playerid ][ xBrojTelefona ] == 0 ) return SendErrorMessage( playerid, "Nemate mobilni telefon!" );
if(PlayerInfo[playerid][xTrovo] < 1) {
GivePlayerMoney(playerid, 400);
GameTextForPlayer(playerid, "Posto si objavio vise od 100 oglasa dobio si 400$", 10, 6);
}
char string[186], oglas[101];
if( sscanf( params, "s[100]", oglas )) return SendUsageMessage(playerid, "/toglas ( text )");
format(string, 186, "TROVO OGLAS | {FFFFFF}Oglas objavio: ""TZELENA""%s "BELA"| Kontakt: ""TZELENA""%d", ImeIgraca(playerid), PlayerInfo[playerid][xBrojTelefona]);
SendClientMessageToAll(0x00FF00FF, string);
format(string, 64, "TROVO OGLAS | {FFFFFF}%s", oglas); // TU JE BILA GREŠKA
SendClientMessageToAll(0x00FF00FF, string);
PlayerInfo[playerid][xTrovo]++; // TU JE BILA GREŠKA
return 1;
}
Kad koristiš boju unutar teksta, idu dvije "".
Znači nešto ovako
"Test 1 ""BOJA"" Tekst 2"
Tvoj originalni kod je trošio 3008 bajtova(2.94kB) za C-stringove.
Ovaj trenutni(s mojim ispravcima) troši 287 bajtova(cca 90%) za C-stringove.
Moj ti je savjet da proučiš što su C-stringovi i kako se isti zapisuju u memoriju.