[Ajuda] SSCANF2 -
Lуs - 31.08.2011
Pessoal, comecei a mudar um pouco meu GM para sscanf2, alguem pode dar um help, pois travei em uma parte.
pawn Код:
CMD:cv(playerid, params[])
{
if(jInfo[playerid][Admin] < 2) return SendClientMessage(playerid, VERMELHO, "{FF1493}[WarZone]{FF0000}{FFFF00} Vocк nгo estб autorizado.");
if(AdminTrabalhando[playerid] < 1) return SendClientMessage(playerid, VERMELHO, "{FF1493}[WarZone]{FF0000} Vocк nгo estб trabalhando!");
new carro, cor1 = -1, cor2 = -1;
if(sscanf(params, "iii",carro, cor1, cor2))
{
SendClientMessage(playerid, VERMELHO,"Use: /cv [Modelo] [Cor1] [Cor2");
}
if(carro < 400 || carro > 611) return SendClientMessage(playerid, VERMELHO, "{FF1493}[WarZone]{FF0000} O modelo tem que ser entre 400 e 611");
//=========== [ DAQUI PRA BAIXO EU TRAVEI. ] =====================//
cor1 = strval(tmp);
tmp = strtok(params, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO, "{FF1493}[WarZone]{FF0000} Use: /cv [Modelo] [Cor1] [Cor2]");
cor2 = strval(tmp);
DestroyVehicle(Carro[playerid]);
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
Carro[playerid] = CreateVehicle(carro, X, Y, Z-1, 0.0, cor1, cor2, 25000);
PutPlayerInVehicle(playerid, Carro[playerid], 0);
format(string, sizeof(string), "{FF1493}[WarZone]{551A8B} ** O Administrador %s, criou um carro. **", GetPlayerNameEx(playerid));
SendMessageToAdmins(ROXO, string);
new d,m,a;
new h,mi,s;
getdate(d,m,a);
gettime(h,mi,s);
format(string, sizeof(string), "(%d/%d/%d)[%d:%d:%d] [WarZone] O Administrador %s, criou um carro.",d,m,a,h,mi,s, GetPlayerNameEx(playerid));
Administracao(string);
return 1;
}
Brigadгo
Re: [Ajuda] SSCANF2 -
Allan Kardec - 31.08.2011
O sscanf2 nгo й bem uma include. E sim um cуdigo.
pawn Код:
native sscanf(const data[], const format[], {Float,_}:...);
native unformat(const data[], const format[], {Float,_}:...) = sscanf;
Leia este tutorial, acho que lhe ajuda.
https://sampforum.blast.hk/showthread.php?tid=120356
Re: [Ajuda] SSCANF2 -
Lуs - 31.08.2011
Na verdade
666 o sscanf2, й um plugin, e uma include, eu sou novato nesse negуcio de sscanf2, e esse "tutorial" que vocк me passou acho que vocк quis me mostrar esse:
https://sampforum.blast.hk/showthread.php?tid=277842
ou esse
https://sampforum.blast.hk/showthread.php?tid=279179
Pois os 2 nгo entendi muito bem essa parte de substituir o strtok.
Re: [Ajuda] SSCANF2 -
Lуs - 31.08.2011
pawn Код:
#define IsValidCar(%0) (0x258 < %0 > 0x190)
Oque essa linha significa? '-'
Re: [Ajuda] SSCANF2 -
Allan Kardec - 31.08.2011
pawn Код:
#define IsValidCar(%0) (0x258 < %0 > 0x190)
Senгo me falho a memуria, ainda quando eu estava no Brazil fiz um cursinho de informбtica e aprendi nъmeros hexadecimais,binбrios e etc.
%0 » Carid ou algo como o centro.
0x258 (Hex) - 611 (Decimal)
0x190 (Hex) - 400 (Decimal)
Entгo em nossa 'lingua' ficaria
pawn Код:
#define IsValidCar(carid) (611 < carid > 400)
Re: [Ajuda] SSCANF2 -
RebeloX - 31.08.2011
Los, quando tu postou o code tu tinha usado sscanf + strock '-' isso vai bugar tudo, ou tu usa strock ou tu usa sscanf '-' mais digo sscanf й mais facil e poupa mais tempo '-'...
Re: [Ajuda] SSCANF2 -
RebeloX - 31.08.2011
Nгo sabia dessa '-' agora aprendi xD
Re: [Ajuda] SSCANF2 -
DreeH - 31.08.2011
Quote:
Originally Posted by Nathy.SA-MP
esta funcгo eu peguei na pastebin de um amigo meu.
|
Na verdade isso nгo й uma funзгo, isso й um Macro, para facilitar nas suas funзхes posteriores.
Re: [Ajuda] SSCANF2 -
Lуs - 31.08.2011
Blue, eu parei de usar o strtok atй aonde falei que tinha travado, o resto nгo consegui, e ainda nгo entendi essa macro.
Re: [Ajuda] SSCANF2 -
Lуs - 01.09.2011
Mais um probleminha aqui:
pawn Код:
CMD:promoveradmin(playerid, params[])
{
new string[ 100 ], giveplayerid, level;
giveplayerid = ReturnUser(params);
level = strval(params);
if(jInfo[playerid][Admin] < 5) return SendClientMessage(playerid, VERMELHO, "{FF1493}[WarZone]{FF0000} Vocк nгo estб autorizado.");
if(AdminTrabalhando[playerid] < 1) return SendClientMessage(playerid, VERMELHO, "{FF1493}[WarZone]{FF0000} Vocк nгo estб trabalhando!");
if(jInfo[giveplayerid][Admin] < 1 || jInfo[giveplayerid][Admin] == 5) return SendClientMessage(playerid, VERMELHO, "{FF1493}[WarZone]{FF0000} Esse jogador nгo й administrador ou й administrador scripter.");
if(sscanf(params, "ud", params, level)) return SendClientMessage(playerid, VERMELHO, "{FF1493}[WarZone]{FF0000} USE: /promoveradmin [playerid] [level]");
if(level < 2 || level > 5) return SendClientMessage(playerid, VERMELHO, "{FF1493}[WarZone]{FF0000} USO: Level somente de 2 a 5");
jInfo[giveplayerid][Admin] = level;
format(string, sizeof(string), "{FF1493}[WarZone]{FFFF00} Vocк foi promovido para Administrador level %d pelo administrador %s.", level, GetPlayerNameEx(playerid));
SendClientMessage(giveplayerid, AMARELO, string);
format(string, sizeof(string), "{FF1493}[WarZone]{FFFF00} Vocк promoveu %s para Administrador level %d.", giveplayerid, level);
SendClientMessage(playerid, AMARELO, string);
format(string, sizeof(string),"{FF1493}[WarZone]{00FFFF} O administrador %s foi promovido para administrador level %d. Parabйns :)", giveplayerid, level);
SendClientMessageToAll(AZUL,string);
new d,m,a;
new h,mi,s;
getdate(d,m,a);
gettime(h,mi,s);
format(string, sizeof(string),"(%d/%d/%d)[%d:%d:%d] [WarZone] %s promoveu %s para Administrador level %d.",d,m,a,h,mi,s, GetPlayerNameEx(playerid), giveplayerid);
Administracao(string);
return 1;
}
Atй a parte do playerid tб certo, mais depois que escrevo /promoveradmin ID LEVEL completo, ele da unknow command, e eu acho que й nessa parte:
pawn Код:
new string[ 100 ], giveplayerid, level;
giveplayerid = ReturnUser(params);
level = strval(params);
Sу nгo sei como resolver.