Problem(error/warning): Znaci imam problem sa komandom postavilidera koju sam napravio i iskace mi ovaj erorr
Dio skripte: [ C:\Users\Comp\Desktop\Local City RolePlay by DjoLeX\gamemodes\LCRP2.pwn(842) : error 017: undefined symbol "SCMF"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
]
i evo vam komanda
CMD:postavilidera(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] <= 6) return SCM(playerid,-1,""BIJELA"[LC:RP ADMIN POMOC]"CRVENA2"Niste ovlasceni!");
new target, factionid, string[126];
if(sscanf(params, "ud", target, factionid))
{
SCM(playerid,-1, ""SPLAVA"LC:RP Pomoc | "CRVENA"/postavilidera [ID/Ime] [ID Org]");
SCM(playerid, -1,""SIVA"(ID:1). "SPLAVA"Grove Street Family");
return 1;
}
if(factionid < 0 || factionid > 19) return SendClientMessage(playerid, -1, ""CRVENA"[LC:RP] "SIVA"ne mozete ici ispod 0 i vise od 19!");
if(!IsPlayerConnected(target)) return SendClientMessage(playerid, -1 ,""SIVA"Pogresan ID (Nije Online)!");
if(factionid == PlayerInfo[target][pRank]) return SendClientMessage(playerid,-1, ""SIVA"[GRESKA] "CRVENA"Taj igrac je vec lider te organizacije!");
if(factionid == 0)
{
PlayerInfo[target][pOrgID] = 0;
PlayerInfo[target][pRank] = 0;
PlayerInfo[target][pSkin] = 1;
SetPlayerSkin(target,PlayerInfo[target][pSkin]);
SCMF(playerid, -1 ,"" SPLAVA"[LC:RP] "BELA"Admin %s vam je skinuo lidera!",GetName(playerid));
format(string, sizeof(string), ""SPLAVA"[LC:RP] "BELA"Skinuli ste lidera igracu %s!", GetName(target));
SendClientMessage(playerid, -1, string);
format(string, sizeof(string), ""SPLAVA"INFO | "BELA"Admin %s je skinuo lidera igracu %s.", GetName(playerid), GetName(target));
}
PlayerInfo[target][pRank] = factionid; PlayerInfo[target][pOrgID] = factionid; PlayerInfo[target][pRank] = 6;
if(factionid == 1) { PlayerInfo[target][pSkin] = 271; } //GSF
SetPlayerSkin(target, PlayerInfo[target][pSkin]);
format(string, sizeof(string), ""SPLAVA"A | "BELA"Admin %s vam je dao lidera organizacije %s!", GetName(playerid), ImeOrganizacije(factionid));
SendClientMessage(target, -1, string);
format(string, sizeof(string), ""SPLAVA"A | "BELA"Admin %s je dao lidera %s-u organizacije %s.", GetName(playerid), GetName(target), ImeOrganizacije(factionid));
return 1;
}
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):/
Slika/video ingame problema(obavezno ako je ingame problem)://
Dodaj ovo u skriptu
SCMF(playerid, colour, fmat[], {Float, _}:...)
{
new str[145];
va_format(str, sizeof (str), fmat, va_start<3>);
return SendClientMessage(playerid, colour, str);
}
Citat: PazzOnee poslato Oktobar 06, 2018, 11:39:46 PRE PODNE
Dodaj ovo u skriptu
SCMF(playerid, colour, fmat[], {Float, _}:...)
{
new str[145];
va_format(str, sizeof (str), fmat, va_start<3>);
return SendClientMessage(playerid, colour, str);
}
Sada ovi warninzi iskacu
C:\Users\Comp\Desktop\Local City RolePlay by DjoLeX\gamemodes\LCRP2.pwn(851) : warning 202: number of arguments does not match definition
C:\Users\Comp\Desktop\Local City RolePlay by DjoLeX\gamemodes\LCRP2.pwn(1148) : warning 203: symbol is never used: "SCMF"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Warnings.
Izbriši taj njegov SCMF i dodaj ovaj
[pawn]stock SCMF(playerid,color,fstring[],{Float, _}:...)
{
new n=(numargs()-3)*4;
if(n)
{
new message[128],arg_start,arg_end;
#emit CONST.alt fstring
#emit LCTRL 5
#emit ADD
#emit STOR.S.pri arg_start
#emit LOAD.S.alt n
#emit ADD
#emit STOR.S.pri arg_end
do
{
#emit LOAD.I
#emit PUSH.pri
arg_end-=4;
#emit LOAD.S.pri arg_end
}
while(arg_end>arg_start);
#emit PUSH.S fstring
#emit PUSH.C 255
#emit PUSH.ADR message
n+=4*3;
#emit PUSH.S n
#emit SYSREQ.C format
n+=4;
#emit LCTRL 4
#emit LOAD.S.alt n
#emit ADD
#emit SCTRL 4
return SCM(playerid,color,message);
}
else return SCM(playerid,color,fstring);
}[/pawn]
Citat: mus4. poslato Oktobar 06, 2018, 12:42:11 POSLE PODNE
Izbriši taj njegov SCMF i dodaj ovaj
[pawn]stock SCMF(playerid,color,fstring[],{Float, _}:...)
{
new n=(numargs()-3)*4;
if(n)
{
new message[128],arg_start,arg_end;
#emit CONST.alt fstring
#emit LCTRL 5
#emit ADD
#emit STOR.S.pri arg_start
#emit LOAD.S.alt n
#emit ADD
#emit STOR.S.pri arg_end
do
{
#emit LOAD.I
#emit PUSH.pri
arg_end-=4;
#emit LOAD.S.pri arg_end
}
while(arg_end>arg_start);
#emit PUSH.S fstring
#emit PUSH.C 255
#emit PUSH.ADR message
n+=4*3;
#emit PUSH.S n
#emit SYSREQ.C format
n+=4;
#emit LCTRL 4
#emit LOAD.S.alt n
#emit ADD
#emit SCTRL 4
return SCM(playerid,color,message);
}
else return SCM(playerid,color,fstring);
}[/pawn]
Sad ovaj warning
warning 202: number of arguments does not match definition
[pawn]stock SCMF(playerid,color,fstring[],{Float, _}:...)
{
new n=(numargs()-3)*4;
if(n)
{
new message[128],arg_start,arg_end;
#emit CONST.alt fstring
#emit LCTRL 5
#emit ADD
#emit STOR.S.pri arg_start
#emit LOAD.S.alt n
#emit ADD
#emit STOR.S.pri arg_end
do
{
#emit LOAD.I
#emit PUSH.pri
arg_end-=4;
#emit LOAD.S.pri arg_end
}
while(arg_end>arg_start);
#emit PUSH.S fstring
#emit PUSH.C 255
#emit PUSH.ADR message
n+=4*3;
#emit PUSH.S n
#emit SYSREQ.C format
n+=4;
#emit LCTRL 4
#emit LOAD.S.alt n
#emit ADD
#emit SCTRL 4
return SendClientMessage(playerid,color,message);
}
else return SendClientMessage(playerid,color,fstring);
}[/pawn]
probaj ovako staviti.
Citat: mus4. poslato Oktobar 06, 2018, 13:50:13 POSLE PODNE
[pawn]stock SCMF(playerid,color,fstring[],{Float, _}:...)
{
new n=(numargs()-3)*4;
if(n)
{
new message[128],arg_start,arg_end;
#emit CONST.alt fstring
#emit LCTRL 5
#emit ADD
#emit STOR.S.pri arg_start
#emit LOAD.S.alt n
#emit ADD
#emit STOR.S.pri arg_end
do
{
#emit LOAD.I
#emit PUSH.pri
arg_end-=4;
#emit LOAD.S.pri arg_end
}
while(arg_end>arg_start);
#emit PUSH.S fstring
#emit PUSH.C 255
#emit PUSH.ADR message
n+=4*3;
#emit PUSH.S n
#emit SYSREQ.C format
n+=4;
#emit LCTRL 4
#emit LOAD.S.alt n
#emit ADD
#emit SCTRL 4
return SendClientMessage(playerid,color,message);
}
else return SendClientMessage(playerid,color,fstring);
}[/pawn]
probaj ovako staviti.
Hvala resio sam