ZCMD e SSCANF -
Gii - 15.07.2012
estava olhando tutoriais para passar os comandos de meu servidor para zcmd e sscanf (
https://sampforum.blast.hk/showthread.php?tid=277842) e no tutorial axei facil agora quero ver na pratica, estarei postando um comando aki do meu server e peзo que alguma alma caridosa o refaзa em zcmd para eu comparar com o meu !
pawn Код:
if(strcmp(cmd, "/criarlider", true) == 0)
{
for(new i = 0; i < sizeof(PaperInfo); i++)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
//SendClientMessage(playerid, COLOR_GRAD2, "Uso correto: /lider [ id ] [Ids de 1 - 26].");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strval(tmp);
if(level > 26 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "Organizaзхes de 0 a 26."); return 1; }
if (PlayerInfo[playerid][pAdmin] >= 1337)
{
if(admtrampando[playerid] < 1)
{
SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб trabalhando! (/modoadm)");
return 1;
}
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if(PlayerInfo[para1][pMembro] > 0)
{
SendClientMessage(playerid, COLOR_GREY, " O jogador jб tem um emprego ou uma lideranзa !");
return 1;
}
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pLider] = level;
format(string, sizeof(string), " Vocк foi promovido a lнder pelo admin %s.", sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
SendClientMessage(para1, COLOR_LIGHTBLUE,"O jogador se tornou lнder com sucesso.");
if(level == 0) { PlayerInfo[para1][pChar] = 0; }
else if(level == 1) { PlayerInfo[para1][pChar] = 265;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255);} //Police Force
else if(level == 2) { PlayerInfo[para1][pChar] = 171;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255);} //PF/ATF
else if(level == 3) { PlayerInfo[para1][pChar] = 287;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Exйrcito
else if(level == 4) { PlayerInfo[para1][pChar] = 295;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Fire/Ambulance
else if(level == 5) { PlayerInfo[para1][pChar] = 114;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Varrios Los Aztecas
else if(level == 6) { PlayerInfo[para1][pChar] = 292;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Hamas
else if(level == 7) { PlayerInfo[para1][pChar] = 186;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //MaYou
else if(level == 8) { PlayerInfo[para1][pChar] = 294;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Hitmans
else if(level == 9) { PlayerInfo[para1][pChar] = 187;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //noticias Reporters
else if(level == 10) { PlayerInfo[para1][pChar] = 255;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Taxistas
else if(level == 11) { PlayerInfo[para1][pChar] = 171;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Detran
else if(level == 15) { PlayerInfo[para1][pChar] = 270;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Groove
else if(level == 16) { PlayerInfo[para1][pChar] = 291;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //ALQaeda
else if(level == 17) { PlayerInfo[para1][pChar] = 285;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Policia Civil
else if(level == 18) { PlayerInfo[para1][pChar] = 102;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Ballas
else if(level == 19) { PlayerInfo[para1][pChar] = 108;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255);} //Vagos
else if(level == 20) { PlayerInfo[para1][pChar] = 113;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Thug
else if(level == 21) { PlayerInfo[para1][pChar] = 100; } //Cobras
else if(level == 22) { PlayerInfo[para1][pChar] = 126;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Mбfia La Hermandad
else if(level == 23) { PlayerInfo[para1][pChar] = 170;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Comando Vermelho
else if(level == 24) { PlayerInfo[para1][pChar] = 47;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //PCC
else if(level == 25) { PlayerInfo[para1][pChar] = 287; } //FAB
else if(level == 26) { PlayerInfo[para1][pChar] = 285; strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); }//GATE
new arquivoi[256];
format(arquivoi, sizeof(arquivoi), "/Orgs/Infoorg%d.ini", level);
dini_Set(arquivoi, "Lider", pNome(para1));
gTeam[para1] = 11;
PlayerInfo[para1][pTeam] = 11;
SetPlayerSpawn(para1);
//SetPlayerToTeamColor(para1, PlayerInfo[para1][pChar]);
PlayerInfo[para1][pCargo] = 555;
SetPlayerSkin(para1, PlayerInfo[para1][pChar]);
}
}//not connected
}
}//for new p xD
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Voce nгo esta autorizado a usar este comando!");
}
}
return 1;
}
Re: ZCMD e SSCANF -
ViniBorn - 15.07.2012
Й mais fбcil vocк mostrar o seu, e nуs corrigirmos o que estiver errado.
Re: ZCMD e SSCANF -
Gii - 15.07.2012
kkk tinha medo q vc falasse isso
pawn Код:
CMD:criarlider(playerid, params[])
{
for(new i = 0; i < sizeof(PaperInfo); i++)
{
if(IsPlayerConnected(playerid))
{
if(sscanf(params, "ud",para1,level))
{
SendClientMessage(playerid,-1,"Use: /criarlider [id] [Org ID]");
}
else
new para1;
new level;
//para1 = ReturnUser(tmp);
//tmp = strtok(cmd, idx);
//level = strval(tmp);
if(level > 26 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "Organizaзхes de 0 a 26."); return 1; }
if (PlayerInfo[playerid][pAdmin] >= 1337)
{
if(admtrampando[playerid] < 1)
{
SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб trabalhando! (/modoadm)");
return 1;
}
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if(PlayerInfo[para1][pMembro] > 0)
{
SendClientMessage(playerid, COLOR_GREY, " O jogador jб tem um emprego ou uma lideranзa !");
return 1;
}
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pLider] = level;
format(string, sizeof(string), " Vocк foi promovido a lнder pelo admin %s.", sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
SendClientMessage(para1, COLOR_LIGHTBLUE,"O jogador se tornou lнder com sucesso.");
if(level == 0) { PlayerInfo[para1][pChar] = 0; }
else if(level == 1) { PlayerInfo[para1][pChar] = 265;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255);} //Police Force
else if(level == 2) { PlayerInfo[para1][pChar] = 171;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255);} //PF/ATF
else if(level == 3) { PlayerInfo[para1][pChar] = 287;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Exйrcito
else if(level == 4) { PlayerInfo[para1][pChar] = 295;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Fire/Ambulance
else if(level == 5) { PlayerInfo[para1][pChar] = 114;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Varrios Los Aztecas
else if(level == 6) { PlayerInfo[para1][pChar] = 292;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Hamas
else if(level == 7) { PlayerInfo[para1][pChar] = 186;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //MaYou
else if(level == 8) { PlayerInfo[para1][pChar] = 294;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Hitmans
else if(level == 9) { PlayerInfo[para1][pChar] = 187;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //noticias Reporters
else if(level == 10) { PlayerInfo[para1][pChar] = 255;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Taxistas
else if(level == 11) { PlayerInfo[para1][pChar] = 171;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Detran
else if(level == 15) { PlayerInfo[para1][pChar] = 270;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Groove
else if(level == 16) { PlayerInfo[para1][pChar] = 291;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //ALQaeda
else if(level == 17) { PlayerInfo[para1][pChar] = 285;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Policia Civil
else if(level == 18) { PlayerInfo[para1][pChar] = 102;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Ballas
else if(level == 19) { PlayerInfo[para1][pChar] = 108;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255);} //Vagos
else if(level == 20) { PlayerInfo[para1][pChar] = 113;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Thug
else if(level == 21) { PlayerInfo[para1][pChar] = 100; } //Cobras
else if(level == 22) { PlayerInfo[para1][pChar] = 126;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Mбfia La Hermandad
else if(level == 23) { PlayerInfo[para1][pChar] = 170;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //Comando Vermelho
else if(level == 24) { PlayerInfo[para1][pChar] = 47;strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); } //PCC
else if(level == 25) { PlayerInfo[para1][pChar] = 287; } //FAB
else if(level == 26) { PlayerInfo[para1][pChar] = 285; strmid(InfoOrg[level][iLider],pNome(para1),0,strlen(pNome(para1)), 255); }//GATE
new arquivoi[256];
format(arquivoi, sizeof(arquivoi), "/Orgs/Infoorg%d.ini", level);
dini_Set(arquivoi, "Lider", pNome(para1));
gTeam[para1] = 11;
PlayerInfo[para1][pTeam] = 11;
SetPlayerSpawn(para1);
//SetPlayerToTeamColor(para1, PlayerInfo[para1][pChar]);
PlayerInfo[para1][pCargo] = 555;
SetPlayerSkin(para1, PlayerInfo[para1][pChar]);
}
}//not connected
}
}//for new p xD
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Voce nгo esta autorizado a usar este comando!");
}
}
return 1;
}
e a primeira vez q eu faзo isso intaoo ...... compilei e nao deu erros
Re: ZCMD e SSCANF -
Lukinhas_Ice - 15.07.2012
quais foram os erros?
Re: ZCMD e SSCANF -
Gii - 15.07.2012
nao teve erros na compilaзгo !! porem gostaria de saber se o codigo foi feito corretamente
Re: ZCMD e SSCANF -
Lukinhas_Ice - 15.07.2012
ah li errado xD
bom, ao meu ver estб correto =]
mais nгo uso ZCMD, em tгo minha opiniгo nгo conta -q
Re: ZCMD e SSCANF -
Gii - 15.07.2012
lol no notpad obtive sucesso na compilзгo porem no pawno nao
pawn Код:
C:\Users\Windows 7\Desktop\Server\Brasil SampForever v3.1b\gamemodes\BSF3.1b.pwn(31697) : error 029: invalid expression, assumed zero
C:\Users\Windows 7\Desktop\Server\Brasil SampForever v3.1b\gamemodes\BSF3.1b.pwn(31697) : error 017: undefined symbol "cmd_criarlider"
C:\Users\Windows 7\Desktop\Server\Brasil SampForever v3.1b\gamemodes\BSF3.1b.pwn(31697) : error 029: invalid expression, assumed zero
C:\Users\Windows 7\Desktop\Server\Brasil SampForever v3.1b\gamemodes\BSF3.1b.pwn(31697) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Re: ZCMD e SSCANF -
Gii - 16.07.2012
alguem ?
Re: ZCMD e SSCANF -
@Riichard - 16.07.2012
Re: ZCMD e SSCANF -
Gii - 16.07.2012
estou usando a include