Problem(error/warning): Ovako,imam dva problema..Prvi je taj da kada nekog unbanujem izbacuje mi u konzoli dva warninga[pawn]
-sscanf warning: Invalid data length.
-sscanf warning: Invalid character in data length.[/pawn]
Dio skripte:[pawn]CMD:unban( playerid, const params[] )
{
if( PlayerInfo[ playerid ][ xAdmin ] >= 3 )
{
if( PlayerInfo[ playerid ][ xAdmin ] <= 3 && !AdminDuty[ playerid ] ) return SendErrorMessage( playerid, "Da bi koristili ovu komandu morate biti Admin na duznosti." );
new imeigraca[ MAX_PLAYER_NAME ];
if( sscanf( params, "s[MAX_PLAYER_NAME]", imeigraca ) ) return SendUsageMessage( playerid, "/unban [Ime_Prezime]");
new query[128];
mysql_format( mSQL, query, sizeof(query), "SELECT `user_id` FROM `banned` WHERE `user_name` = '%e' LIMIT 1", imeigraca );
mysql_pquery( mSQL, query, "CheckPlayerUnBan", "is", playerid, imeigraca );
}
else return SendErrorMessage( playerid, "Niste u mogucnosti koristiti ovu komandu." );
return(true);
}[/pawn]
Drugi problem je u tome da kad kreiram "poklon" server pukne i mora se rr.Ukoliko neke zna rješenje neka cima , hvala unapred.
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Slika/video ingame problema(obavezno ako je ingame problem): link slike
Ne mozes ovo ovako koristiti
[pawn]"s[MAX_PLAYER_NAME]"[/pawn]
radije
[pawn]"s[24]" [/pawn]
ili
[pawn]sprintf("s[%d]", MAX_PLAYER_NAME)[/pawn]
CitatDrugi problem je u tome da kad kreiram "poklon" server pukne i mora se rr.Ukoliko neke zna rješenje neka cima , hvala unapred.
Niti nam dao dio koda gdje kreiras nekakav "poklon" ni crashdetect log, ne mozemo znati kakav je tvoj kod, ¯\_(ツ)_/¯
Za drugi problem pošalji AmxBackTrace a za prvi se ne slažem sa Ino-m jer može #MAX_PLAYER_NAME jer verujem da nisi došao do toga da stavljaš zagrade ( (24) )
[pawn]
#define STR_SIZE 32
new
str[STR_SIZE],
val;
sscanf("hello\\ there 27", "s[" #STR_SIZE "]i", str, val);
[/pawn]
Ja npr koristim (value) pa nmg tako.jpg
radije
[pawn]"s[24]" [/pawn]
Buraz hvala ti na ovome , radi.
Što se tiče tog "poklona" bukvalno server samo pukne i ništa mi ne izbacuje u logu(crashdetect) , eo cod https://pastebin.com/rknDj8Mp
^^ debugaj, pa salji
[pawn]sscanf(params, "p<|>is[24]dudududu", ...);
or
sscanf(szFileStr, "p<|>is[MAX_PLAYER_NAME]ffffiiiiiiiiiiiiii", ...);
[/pawn]
Uradio sam printf na svaku od akcija
[pawn]
#if ZIMSKI_MOD == 0
new i = 0;
for( new j = 1; j < MAX_PRESENTS; j++ )
{
if( presentsInfo[ j ][ presSQLID ] == -1 )
{
i = j;
break;
}
}
printf("akcija 1"); // ovo jedino izbaci u server logu.
if( i != 0 ) return SendErrorMessage( playerid, "Vec je jedan poklon u procesu izgradnje, nije dovrsen, sacekajte(sigurnost baze)." );
i = -1;
for( new j = 1; j < MAX_PRESENTS; i++)
{
if( presentsInfo[ j ][ presSQLID ] == 0 )
{
i = j;
break;
}
}
printf("akcija 2");
if( presentsInfo[ (MAX_PRESENTS-1) ][ presSQLID ] != 0 ) return SendErrorMessage( playerid, "Ima maksimalno kreiranih poklona." );
if( presentsInfo[presSQLID] != 0 ) return SendErrorMessage( playerid, "ID tog poklona vec postoji." );
printf("akcija 3");
new Float:x, Float:y, Float:z, Float:angle;
GetPlayerPos( playerid, x, y, z);
GetPlayerFacingAngle( playerid, angle );
presentsInfo[ i ][ presPos ][ 0 ] = x;
presentsInfo[ i ][ presPos ][ 1 ] = y;
presentsInfo[ i ][ presPos ][ 2 ] = z;
presentsInfo[ i ][ presPos ][ 3 ] = 0;
presentsInfo[ i ][ presPos ][ 4 ] = 0;
presentsInfo[ i ][ presPos ][ 5 ] = 0;
presentsInfo[ i ][ presTaken ] = false;
presentsInfo[ i ][ presObject ] = CreateDynamicObject( 19054, x+2, y, z+0.6, 0.0, 0.0, angle );
printf("akcija 4");
Streamer_Update( playerid );
EditDynamicObject( playerid, presentsInfo[ i ][ presObject ] );
EditPresents[ playerid ] = i;
mSQL_CreatePresent( i );
printf("akcija 5"); //
#else
SendErrorMessage( playerid, "Nije ukljucen zimski mod." );
#endif[/pawn]
Pa šta zadnje printuje prije nego server pukne?
[pawn]printf("akcija 1"); // ovo jedino izbaci u server logu.[/pawn]
Bump