[Ajuda] Dъvidas bбsicas
#1

Galera, tenho umas dъvidas bem bбsicas. Estou comeзando a mexer com Pawno e jб fiz uns comandos simples, como uma forma de "treino" (usando zcmd+sscanf2), mas agora estou pensando em sair um pouco dos comandos e ver outras coisas, mas antes de fazer isso preciso tirar umas dъvidas.

1є: Vendo o fуrum me deparei com diversas situaзхes em que uma pessoa posta uma string (acho que й isso) com 256 cйlulas, e as pessoas nos comentбrios dizem que nгo tem necessidade de pфr 256 sendo que o mбximo que o SA:MP aceita й 128, entгo sу gostaria que alguйm confirmasse isso pra mim.

2є: Tambйm vendo o fуrum encontrei pessoas dizendo que o mбximo de caracteres que o SA:MP aceita й 24, mas eu testei aqui e disse que sу podia entre 3 e 20, eu testei e sу dava pra usar isso mesmo, entгo eu poderia botar no caso no mбximo 20 cйlulas se eu quisesse usar isso com um nome, porque se botasse mais ia ficar lб atoa, correto?

3є: Qual a diferenзa entre strcmp e zcmd+sscanf2? Disseram que strcmp nгo й interpretador de comando, mas eu vi que as pessoas fazem usando isso, entгo na PRБTICA, quais as diferenзas e qual й melhor e usa menos recursos?

4є: Quarta e ultima dъvida, botar os "new" no topo do GM faz o servidor ficar mais "leve" (zcmd+sscanf2)?

Ex:
pawn Код:
CMD:explodir(playerid, params[]) {
new id;
new Float:x, Float:y, Float:z;
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Vocк nгo tem permissгo para utilizar este comando.");
if(sscanf(params, "u", id)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Uso correto: /Explodir [ID].");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Jogador nгo conectado.");
GetPlayerName(playerid, nome, 20);
format(texto, sizeof(texto), "Vocк foi explodido pelo administrador %s.", nome);
GetPlayerPos(id, x, y, z);
CreateExplosion(x,y,z,7,10.0);
SendClientMessage(playerid, COLOR_GREEN,"Comando efetuado com кxito.");
SendClientMessage(id, COLOR_GREEN, texto);
return 1; }
COM OS NEW DENTRO DO PRУPRIO COMANDO (NO CASO REPETINDO ISSO EM TODO COMANDO).



pawn Код:
CMD:explodir(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Vocк nгo tem permissгo para utilizar este comando.");
if(sscanf(params, "u", id)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Uso correto: /Explodir [ID].");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Jogador nгo conectado.");
GetPlayerName(playerid, nome, 20);
format(texto, sizeof(texto), "Vocк foi explodido pelo administrador %s.", nome);
GetPlayerPos(id, x, y, z);
CreateExplosion(x,y,z,7,10.0);
SendClientMessage(playerid, COLOR_GREEN,"Comando efetuado com кxito.");
SendClientMessage(id, COLOR_GREEN, texto);
return 1; }
REPAREM QUE OS NEW NГO ESTГO DENTRO DO COMANDO, EU TIREI E DEIXEI O ID E AS FLOAT NO TOPO DO GM, DAI EM VEZ DE REPETIR OS NEW EM TODO COMANDO EU DEIXO LБ E FUNCIONA PERFEITAMENTE (DEIXANDO OS NEW NO TOPO DO GM E, OBVIAMENTE, NГO PRECISAR REPETIR EM TODOS OS COMANDOS).

Й sу isso mesmo galera, e um muito obrigado antecipado a quem responder .

ALGUNS OUTROS COMANDOS SIMPLES QUE EU FIZ:

pawn Код:
CMD:tapa(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Vocк nгo tem permissгo para utilizar este comando.");
if(sscanf(params, "u", id)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Uso correto: /Tapa [ID].");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Jogador nгo conectado.");
GetPlayerName(playerid, nome, 20);
format(texto, sizeof(texto), "O administrador %s lhe deu um tapa.", nome);
GetPlayerPos(id, x, y, z);
SetPlayerPos(id, x, y, z+10);
PlayerPlaySound(id, 1130, x, y, z+12);
SendClientMessage(playerid, COLOR_GREEN,"Comando efetuado com кxito.");
SendClientMessage(id, COLOR_GREEN, texto);
return 1; }
pawn Код:
CMD:tp(playerid, params[]) {
new x,y,z;
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Vocк nгo tem permissгo para utilizar este comando.");
if(sscanf(params, "iii", x, y, z)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Uso correto: /Tp [X] [Y] [Z].");
SetPlayerPos(playerid, x, y, z);
SendClientMessage(playerid, COLOR_GREEN,"Comando efetuado com кxito.");
return 1; }
pawn Код:
CMD:v(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Vocк nгo tem permissгo para utilizar este comando.");
if(sscanf(params, "iii", id, cor1, cor2)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Uso correto: /V [ID DO VEНCULO] [COR 1] [COR 2].");
if(id < 400 || id > 611) return SendClientMessage(playerid, COLOR_RED,"[ERRO]ID invбlido. IDs vбlidos: 400-611.");
GetPlayerPos(playerid, x, y, z);
CreateVehicle(id, x, y, z, 0, cor1, cor2, 0);
SendClientMessage(playerid, COLOR_GREEN,"Comando efetuado com кxito.");
return 1; }
pawn Код:
CMD:setskin(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Vocк nгo tem permissгo para utilizar este comando.");
if(sscanf(params, "ii", id, id2)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Uso correto: /Setskin [ID DO JOGADOR] [ID DA SKIN].");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Jogador nгo conectado.");
if(id2 < 0 || id2 > 299) return SendClientMessage(playerid, COLOR_RED,"[ERRO]ID invбlido. IDs vбlidos: 0-299.");
SetPlayerSkin(id, id2);
SendClientMessage(playerid, COLOR_GREEN,"Comando efetuado com кxito.");
return 1; }
pawn Код:
CMD:dararma(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Vocк nгo tem permissгo para utilizar este comando.");
if(sscanf(params, "iii", id, id2, id3)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Uso correto: /DarArma [ID DO JOGADOR] [ID DA ARMA] [MUNIЗГO].");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Jogador nгo conectado.");
if(id2 < 0 || id2 > 46) return SendClientMessage(playerid, COLOR_RED,"[ERRO]ID invбlido. IDs vбlidos: 0-46.");
GivePlayerWeapon(id,id2,id3);
SendClientMessage(playerid, COLOR_GREEN,"Comando efetuado com кxito.");
return 1; }
pawn Код:
CMD:ircarro(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Vocк nгo tem permissгo para utilizar este comando.");
if(sscanf(params, "i", id)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Uso correto: /IrCarro [ID DO CARRO].");
PutPlayerInVehicle(playerid, id, 0);
SendClientMessage(playerid, COLOR_GREEN,"Comando efetuado com кxito.");
return 1; }
pawn Код:
CMD:god(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Vocк nгo tem permissгo para utilizar este comando.");
SetPlayerHealth(playerid, 999999);
SendClientMessage(playerid, COLOR_GREEN,"Comando efetuado com кxito.");
return 1; }
pawn Код:
CMD:normal(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Vocк nгo tem permissгo para utilizar este comando.");
SetPlayerHealth(playerid, 100);
SendClientMessage(playerid, COLOR_GREEN,"Comando efetuado com кxito.");
return 1; }
pawn Код:
CMD:godcar(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Vocк nгo tem permissгo para utilizar este comando.");
SetVehicleHealth(GetPlayerVehicleID(playerid), 999999);
SendClientMessage(playerid, COLOR_GREEN,"Comando efetuado com кxito.");
return 1; }
pawn Код:
CMD:normalcar(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Vocк nгo tem permissгo para utilizar este comando.");
SetVehicleHealth(GetPlayerVehicleID(playerid), 100);
SendClientMessage(playerid, COLOR_GREEN,"Comando efetuado com кxito.");
return 1; }
pawn Код:
CMD:setlife(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Vocк nгo tem permissгo para utilizar este comando.");
if(sscanf(params, "ii", id, id2)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Uso correto: /SetLife [ID DO JOGADOR] [QUANTIDADE DE VDA].");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Jogador nгo conectado.");
SetPlayerHealth(id, id2);
SendClientMessage(playerid, COLOR_GREEN,"Comando efetuado com кxito.");
return 1; }
pawn Код:
CMD:setlata(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Vocк nгo tem permissгo para utilizar este comando.");
if(sscanf(params, "ii", id, id2)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Uso correto: /SetLata [ID DO CARRO] [QUANTIDADE DE VDA].");
SetVehicleHealth(id, id2);
SendClientMessage(playerid, COLOR_GREEN,"Comando efetuado com кxito.");
return 1; }
pawn Код:
CMD:tapac(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Vocк nгo tem permissгo para utilizar este comando.");
if(sscanf(params, "i", id)) return SendClientMessage(playerid, COLOR_RED,"[ERRO]Uso correto: /TapaC [ID DO CARRO].");
GetVehiclePos(id, x, y, z);
SetVehiclePos(id, x, y, z+10);
SendClientMessage(playerid, COLOR_GREEN,"Comando efetuado com кxito.");
return 1; }
OBS: COMECEI A CODAR ANTE-ONTEM, ENTГO NГO FIZ MUITAS COISAS NEM SOU MUITO EXPERIENTE .
Reply


Messages In This Thread
Dъvidas bбsicas - by zecage - 23.11.2013, 23:01
Re: Dъvidas bбsicas - by kreison - 23.11.2013, 23:18
Re: Dъvidas bбsicas - by zecage - 23.11.2013, 23:32
Re: Dъvidas bбsicas - by PT - 23.11.2013, 23:33
Re: Dъvidas bбsicas - by zecage - 23.11.2013, 23:37
Re: Dъvidas bбsicas - by kreison - 23.11.2013, 23:39
Re: Dъvidas bбsicas - by PT - 23.11.2013, 23:42
Re: Dъvidas bбsicas - by zecage - 24.11.2013, 00:05

Forum Jump:


Users browsing this thread: 1 Guest(s)