Converter Zcmd para Sscanf -
MaTheuSs - 10.11.2015
Tem um comando em Zcmd que eu gostaria de converter para Sscanf, pois meu gm й com base nela, eu procurei e achei uma cambada de tуpicos porйm o maluco postava e comando e os caras convertiam porйm ninguйm explicou como fez para converter, nгo achei mais nada alйm disso...
Aqui estб um exemplo de cmd em sscanf do GM:
Code:
if(strcmp(cmd, "/trazer", true) == 0)
{
if(pAdmin[playerid] == 2 || pAdmin[playerid] == 3 || pAdmin[playerid] == 4 || dini_Int(file, "Profissao") == Temac ||dini_Int(file, "Profissao") == Caminhoneiro || pAdmin[playerid] == 5 || pAdmin[playerid] == 6 || pAdmin[playerid] == 7 || pAdmin[playerid] == 8)
{
new tmp[256], plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, Vermelho, "Digite: /trazer [id]");
return 1;
}
plid = strval(tmp);
if(IsPlayerConnected(plid))
{
new Float:X, Float:Y, Float:Z;
new interiormeu = GetPlayerInterior(playerid);
SetPlayerInterior(plid, interiormeu);
GetPlayerPos(playerid, X, Y, Z);
if(IsPlayerInAnyVehicle(plid))
{
new VehicleID = GetPlayerVehicleID(plid);
SetVehiclePos(VehicleID, X+2, Y+2, Z);
PutPlayerInVehicle(plid, VehicleID, 0);
}
else
{
SetPlayerPos(plid, X+2, Y+2, Z);
TogglePlayerControllable(plid, false);
SetTimerEx("DestogglePlayerControllable", 1000, 0, "d", plid);
}
format(string, sizeof(string), "%s (ID: %d) trouxe vocк atй sua posiзгo!", PlayerName(playerid), playerid);
SendClientMessage(plid, tcadm, string);
format(string, sizeof(string), "Vocк trouxe %s (ID: %d) atй sua posiзгo!", PlayerName(plid), plid);
SendClientMessage(playerid, tcadm, string);
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Valor invбlido, tente novamente!");
}
}
return 1;
}
Aqui o comando que quero converter.. (Por favor expliquem como fizeram para converter)
Code:
CMD:siren(playerid, params[])
{
if(IsACop(playerid))
{
new string[128], type;
new VID = GetPlayerVehicleID(playerid);
if(sscanf(params, "d", type))
{
SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /siren [type]");
SendClientMessageEx(playerid, COLOR_GRAD2, "Type: 1 = Inside, 2 = Roof, 3 = Off.");
return 1;
}
switch(type)
{
case 1:
{
if(Siren[VID] == 1)
{
SendClientMessageEx(playerid, COLOR_GRAD2, "This vehicle already has a siren!");
return 1;
}
new sendername[MAX_PLAYER_NAME];
Siren[VID] = 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
SirenObject[VID] = CreateObject(18646, 10.0, 10.0, 10.0, 0, 0, 0);
AttachObjectToVehicle(SirenObject[VID], VID, 0.0, 0.75, 0.275, 0.0, 0.1, 0.0);
format(string, sizeof(string), "* %s puts the siren on the dashboard.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
case 2:
{
if(Siren[VID] == 1)
{
SendClientMessageEx(playerid, COLOR_GRAD2, "This vehicle already has a siren!");
return 1;
}
Siren[VID] = 1;
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
SirenObject[VID] = CreateObject(18646, 10.0, 10.0, 10.0, 0, 0, 0);
AttachObjectToVehicle(SirenObject[VID], VID, -0.43, 0.0, 0.785, 0.0, 0.1, 0.0);
format(string, sizeof(string), "* %s puts the siren on the roof.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
case 3:
{
if(Siren[VID] == 0)
{
SendClientMessageEx(playerid, COLOR_GRAD2, "This vehicle doesn't have a siren on it!");
return 1;
}
Siren[VID] = 0;
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
DestroyObject(SirenObject[VID]);
format(string, sizeof(string), "* %s takes down the siren.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
default:
{
SendClientMessageEx(playerid, COLOR_WHITE, "Invalid license type! /siren [type]");
SendClientMessageEx(playerid, COLOR_GRAD2, "Type: 1 = Roof, 2 = Inside, 3 = Off.");
}
}
}
else SendClientMessageEx(playerid, COLOR_GREY, "You're not authorised to use this command.");
return 1;
}
Re : Converter Zcmd para Sscanf -
DjonathaTM - 10.11.2015
Й fбcil.
Se eu nгo me engano
й sу trocar o
Code:
CMD: siren(playerid,params[])
por
Code:
if(strcmp(cmd, "siren", true) == 0)
e o:
por
Estб ai o Cmd.
Code:
if(strcmp(cmd, "/siren", true) == 0)
{
if(IsACop(playerid))
{
new string[128], type;
new VID = GetPlayerVehicleID(playerid);
if(sscanf(cmdtext, "d", type))
{
SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /siren [type]");
SendClientMessageEx(playerid, COLOR_GRAD2, "Type: 1 = Inside, 2 = Roof, 3 = Off.");
return 1;
}
switch(type)
{
case 1:
{
if(Siren[VID] == 1)
{
SendClientMessageEx(playerid, COLOR_GRAD2, "This vehicle already has a siren!");
return 1;
}
new sendername[MAX_PLAYER_NAME];
Siren[VID] = 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
SirenObject[VID] = CreateObject(18646, 10.0, 10.0, 10.0, 0, 0, 0);
AttachObjectToVehicle(SirenObject[VID], VID, 0.0, 0.75, 0.275, 0.0, 0.1, 0.0);
format(string, sizeof(string), "* %s puts the siren on the dashboard.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
case 2:
{
if(Siren[VID] == 1)
{
SendClientMessageEx(playerid, COLOR_GRAD2, "This vehicle already has a siren!");
return 1;
}
Siren[VID] = 1;
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
SirenObject[VID] = CreateObject(18646, 10.0, 10.0, 10.0, 0, 0, 0);
AttachObjectToVehicle(SirenObject[VID], VID, -0.43, 0.0, 0.785, 0.0, 0.1, 0.0);
format(string, sizeof(string), "* %s puts the siren on the roof.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
case 3:
{
if(Siren[VID] == 0)
{
SendClientMessageEx(playerid, COLOR_GRAD2, "This vehicle doesn't have a siren on it!");
return 1;
}
Siren[VID] = 0;
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
DestroyObject(SirenObject[VID]);
format(string, sizeof(string), "* %s takes down the siren.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
default:
{
SendClientMessageEx(playerid, COLOR_WHITE, "Invalid license type! /siren [type]");
SendClientMessageEx(playerid, COLOR_GRAD2, "Type: 1 = Roof, 2 = Inside, 3 = Off.");
}
}
}
else SendClientMessageEx(playerid, COLOR_GREY, "You're not authorised to use this command.");
return 1;
}
Nгo testei, qualquer coisa me informe.
Re: Converter Zcmd para Sscanf -
SaDaN - 10.11.2015
Vocк vai alterar o:
Code:
CMD: siren(playerid,params[])
Por:
Code:
if(strcmp(cmd, "/siren", true) == 0)
E o:
Por:
Re : Converter Zcmd para Sscanf -
DjonathaTM - 10.11.2015
й, isso.
Re: Converter Zcmd para Sscanf -
MaTheuSs - 10.11.2015
Manos, deu esses erros seguintes, oque pode ser ? pelo tуpico que vi era so adc em cima da GM isso :
Code:
new Siren[MAX_VEHICLES];
new SirenObject[MAX_VEHICLES];
Esses sгo os erros
Code:
\gamemodes\dten.pwn(18607) : error 017: undefined symbol "IsACop"
\gamemodes\dten.pwn(18609) : warning 219: local variable "string" shadows a variable at a preceding level
\gamemodes\dten.pwn(18611) : warning 217: loose indentation
\gamemodes\dten.pwn(18617) : warning 217: loose indentation
\gamemodes\dten.pwn(18626) : warning 217: loose indentation
\gamemodes\dten.pwn(18632) : error 017: undefined symbol "ProxDetector"
\gamemodes\dten.pwn(18633) : warning 217: loose indentation
\gamemodes\dten.pwn(18642) : warning 217: loose indentation
\gamemodes\dten.pwn(18648) : error 017: undefined symbol "ProxDetector"
\gamemodes\dten.pwn(18663) : error 017: undefined symbol "ProxDetector"
\gamemodes\dten.pwn(18673) : warning 217: loose indentation
\gamemodes\dten.pwn(18674) : warning 217: loose indentation
Re : Converter Zcmd para Sscanf -
DjonathaTM - 10.11.2015
Tu pego esse code da onde cara? '-'
O Comando'
Re: Converter Zcmd para Sscanf -
MaTheuSs - 11.11.2015
https://sampforum.blast.hk/showthread.php?tid=307319
Re: Converter Zcmd para Sscanf -
BykiLler - 11.11.2015
Hey voce nгo quiz dizer
Covertar strtok para sscanf ?
e a funзгo com o processador Zcmd

?
Re: Converter Zcmd para Sscanf -
SaDaN - 11.11.2015
O IsACop deve ser a variбvel usada pra ver se o jogador й policial, й sу remover ela e fazer a indentaзгo novamente. Quanto ao ProxDetector eu nгo sei.
Re: Converter Zcmd para Sscanf -
zPawnu - 11.11.2015
man sscanf й uma funзгo q processa o zcmd se eu n me engano
Re: Converter Zcmd para Sscanf -
MaTheuSs - 11.11.2015
Ok, me passaram a informaзгo errada entгo.
Respuesta: Converter Zcmd para Sscanf -
DjonathaTM - 12.11.2015
Vocк copiou esse code antes de estuda-lo. IsACop deve ser uma variavel, porйm nгo tem no seu gamemode.
ProxDetector, deve ser alguma nativa ou algo que nгo consta em seu sistema.