Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: .ysi poslato Februar 26, 2022, 16:51:58 POSLE PODNE

Naslov: Errori
Poruka od: .ysi poslato Februar 26, 2022, 16:51:58 POSLE PODNE
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]
Naslov: Odg: Errori
Poruka od: 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]
Naslov: Odg: Errori
Poruka od: markosimic poslato Februar 26, 2022, 16:54:25 POSLE PODNE
Pise ti sve ovde : https://balkan-samp.com/forum/index.php?topic=138030.0

Bukvalno uzmer primer vecine Error 001, naucis engleski i tjt...
Naslov: Odg: Errori
Poruka od: .ysi poslato Februar 26, 2022, 17:05:02 POSLE PODNE
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
Naslov: Odg: Errori
Poruka od: Bit Frosty poslato Februar 26, 2022, 17:06:24 POSLE PODNE
Kako ti je definisana TZELENA ????
Naslov: Odg: Errori
Poruka od: markosimic poslato Februar 26, 2022, 17:11:03 POSLE PODNE
Citat: Deleted User poslato Februar 26, 2022, 17:06:24 POSLE PODNE
Kako ti je definisana TZELENA ????

Trovo Zelena mislis ?  :D
Naslov: Odg: Errori
Poruka od: V01D poslato Februar 26, 2022, 17:13:30 POSLE PODNE
Verovatno omasena boja TZELENA ili BELA, proveri define za obe
Naslov: Odg: Errori
Poruka od: .ysi poslato Februar 27, 2022, 12:36:45 POSLE PODNE
Citat: Deleted User poslato Februar 26, 2022, 17:06:24 POSLE PODNE
Kako ti je definisana TZELENA ????
[pawn]#define TZELENA  "{008040}"[/pawn]
Naslov: Odg: Errori
Poruka od: Pararera poslato Februar 27, 2022, 13:06:43 POSLE PODNE
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.