SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 26/06/2017, 03:39 AM   #1
JhonnyBR
Little Clucker
 
JhonnyBR's Avatar
 
Join Date: Jun 2017
Location: C:\Users\PC\Desktop\JhonnyBR
Posts: 18
Reputation: 0
Question pegar parametros que o player digitou no comando sem utilizar sscanf ?

eu queria pegar oque o player digitou sem utilizar sscanf o motivo é que o sscanf ta bugando na minha host quando eu o coloco as dialogs não pega tipo as seleções ficam sem função e o dialog fecha , exemplo:

PHP Code:

CMD
:trazer(playeridparams[])
{
    if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"{FF0000}Você não é admin!");
    new 
idESCOLHIDO;
    if(
sscanf(params"d"idESCOLHIDO)) return SendClientMessage(playerid, -1"{FF0000}Uso Correto: /trazer [id]");
       if(!
IsPlayerConnected(idESCOLHIDO)) return SendClientMessage(playerid, -1"{FF0000}Jogador não conectado!");
    if(
IsPlayerInAnyVehicle(idESCOLHIDO))
    {
        new 
Float:X,Float:Y,Float:Z,Float:AGetPlayerPos(playeridXYZ); GetPlayerFacingAngle(playerid,A);
        new 
interior GetPlayerInterior(playerid);
        new 
veiculo GetPlayerVehicleID(idESCOLHIDO);
          
SetVehiclePos(veiculo552);
          
SetPlayerInterior(idESCOLHIDOinterior);
          
LinkVehicleToInterior(veiculointerior);
     }
     else
     {
         new 
Float:X,Float:Y,Float:Z,Float:string[120]; GetPlayerPos(playeridXYZ); GetPlayerFacingAngle(playerid,A);
         
SetPlayerPos(idESCOLHIDO552);
         
format(stringsizeof(string), "{00FF00}Você trouxe o jogador: {FF0000}%s(%d) {00FF00}até você"PlayerName(idESCOLHIDO), idESCOLHIDO);
         
SendClientMessage(playerid, -1string);

     }

    return 
1;

mais isso sem utilizar o sscanf teria como ?
__________________
Meus Feitos:
Nenhum Ainda...
JhonnyBR is offline   Reply With Quote
Old 26/06/2017, 01:14 PM   #2
RazorGuigo
Banned
 
Join Date: May 2016
Location: South is my Country
Posts: 1,137
Reputation: 104
Cool Programando & Relaxando!

tem como fazer, mas recomendo ainda tentar resolver o problema com scanf, ele traz muitas funcionalidades, e desempenho, aos seus codes, alem de deixá-los facil e limpos!



segue o code sem scanf:
PHP Code:
CMD:trazer(playeridparams[]) 

    if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"{FF0000}Você não é admin!"); 
    new 
idESCOLHIDOstrval(param); //linha alterada, para converter o texto, em int
                                    //sscanf removido
       
if(!IsPlayerConnected(idESCOLHIDO)) return SendClientMessage(playerid, -1"{FF0000}Jogador não conectado!"); 
    if(
IsPlayerInAnyVehicle(idESCOLHIDO)) 
    { 
        new 
Float:X,Float:Y,Float:Z,Float:AGetPlayerPos(playeridXYZ); GetPlayerFacingAngle(playerid,A); 
        new 
interior GetPlayerInterior(playerid); 
        new 
veiculo GetPlayerVehicleID(idESCOLHIDO); 
          
SetVehiclePos(veiculo552); 
          
SetPlayerInterior(idESCOLHIDOinterior); 
          
LinkVehicleToInterior(veiculointerior); 
     } 
     else 
     { 
         new 
Float:X,Float:Y,Float:Z,Float:string[120]; GetPlayerPos(playeridXYZ); GetPlayerFacingAngle(playerid,A); 
         
SetPlayerPos(idESCOLHIDO552); 
         
format(stringsizeof(string), "{00FF00}Você trouxe o jogador: {FF0000}%s(%d) {00FF00}até você"PlayerName(idESCOLHIDO), idESCOLHIDO); 
         
SendClientMessage(playerid, -1string); 

     } 

    return 
1

RazorGuigo is offline   Reply With Quote
Old 28/06/2017, 10:09 PM   #3
HoodScript
Big Clucker
 
Join Date: Dec 2016
Location: Itajaí , SC
Posts: 176
Reputation: 24
Default Re: pegar parametros que o player digitou no comando sem utilizar sscanf ?

Quote:
Originally Posted by Star01 View Post
PHP Code:
CMD:trazer(playeridparams[])
{
    if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"{FF0000}Você não é admin!");

//params zcmd
    
if(isnull(params)) return SendClientMessage(playerid, -1"{FF0000}Uso Correto: /trazer [id]");
    new 
idESCOLHIDO strval(params);
//fim params zcmd

    
if(!IsPlayerConnected(idESCOLHIDO)) return SendClientMessage(playerid, -1"{FF0000}Jogador não conectado!");

    new 
Float:X,Float:Y,Float:Z,Float:A;

    if(
IsPlayerInAnyVehicle(idESCOLHIDO))
    {
        new 
            
interior GetPlayerInterior(playerid),
            
veiculo GetPlayerVehicleID(idESCOLHIDO)
        ;
        
        
GetPlayerPos(playeridXYZ);
        
GetPlayerFacingAngle(playerid,A);
        
SetVehiclePos(veiculo552);
        
SetPlayerInterior(idESCOLHIDOinterior);
        
LinkVehicleToInterior(veiculointerior);
    }
    else
    {
        new 
string[65 MAX_PLAYER_NAME];
        
        
GetPlayerPos(playeridXYZ);
        
GetPlayerFacingAngle(playerid,A);
        
SetPlayerPos(idESCOLHIDO552);
        
format(stringsizeof(string), "{00FF00}Você trouxe o jogador: {FF0000}%s(%d) {00FF00}até você",PlayerName(idESCOLHIDO), idESCOLHIDO);
        
SendClientMessage(playerid, -1string);
    }
    return 
1;

* Obs: Você pode usar os próprios parâmetro do zcmd, porém
o zcmd só permite usar apenas 1(um) parâmetro
Exemplo: /GiveWeapon [arma]

e se você estiver usando Sscanf, ou a velha strtok, poderá fazer mais
Exemplo: /GiveWeapon [id] [arma] [munição]

Espero que tenha entendido.
não mesmo! O zcmd aceita bem mais que um não inventa coisa.
HoodScript is offline   Reply With Quote
Old 28/06/2017, 11:24 PM   #4
IlanZ
High-roller
 
Join Date: Jul 2016
Location: Brasil
Posts: 1,351
Reputation: 75
Default Re: pegar parametros que o player digitou no comando sem utilizar sscanf ?

Quote:
Originally Posted by HoodScript View Post
não mesmo! O zcmd aceita bem mais que um não inventa coisa.
Ele ta falando do isnull e não do zcmd em si
IlanZ is offline   Reply With Quote
Old 29/06/2017, 03:44 PM   #5
JhonnyBR
Little Clucker
 
JhonnyBR's Avatar
 
Join Date: Jun 2017
Location: C:\Users\PC\Desktop\JhonnyBR
Posts: 18
Reputation: 0
Default Re: pegar parametros que o player digitou no comando sem utilizar sscanf ?

deixa pra la pessoal não era o sscanf q estava atrapalhando os dialogs dos outros fs e sim outro fs que eu estava usando =3
__________________
Meus Feitos:
Nenhum Ainda...
JhonnyBR is offline   Reply With Quote
Old 29/06/2017, 10:05 PM   #6
Star01
Guest
 
Posts: n/a
Default Re: pegar parametros que o player digitou no comando sem utilizar sscanf ?

Quote:
Originally Posted by IlanZ View Post
Ele ta falando do isnull e não do zcmd em si
Não, eu estava falando do zcmd mesmo, estarei no aguardo sobre tal exemplo
de multi parâmetros, sem sscanf e strtok vindo dele, para me corrigir.
  Reply With Quote
Old 30/06/2017, 03:59 AM   #7
renatog
Huge Clucker
 
Join Date: Mar 2016
Posts: 328
Reputation: 48
Default Re: pegar parametros que o player digitou no comando sem utilizar sscanf ?

Quote:
Originally Posted by Star01 View Post
Não, eu estava falando do zcmd mesmo, estarei no aguardo sobre tal exemplo
de multi parâmetros, sem sscanf e strtok vindo dele, para me corrigir.
"params[]" é uma string contendo tudo o que foi digitado após o comando. Se eu digitar "/teste olá mundo", o "params[]" conterá "olá mundo". Da pra gente pegar os parâmetros manualmente procurando pelos espaços, mas é tanto trabalho que não vale a pena se temos o sscanf.
renatog is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Pedido] Comando de pegar id de um player /pegarid [playerid] Mateus_. Português/Portuguese 6 10/01/2013 03:36 AM
[Ajuda] Como pegar o que o player digitou ? Lucas-Fc Português/Portuguese 14 15/11/2012 04:33 PM
[Ajuda] Dizer o comando que o player digitou Gleisson_. Português/Portuguese 4 01/09/2012 01:39 PM


All times are GMT. The time now is 03:23 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.