Zcmd String Issue - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (
https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: Zcmd String Issue (
/showthread.php?tid=192622)
Zcmd String Issue -
[UG]Scripter - 23.11.2010
Hey,
Im trying to get what the player says,
Example: Inputtex,CommandText,
This is what I have for my Radio Code and its not working, Its displaying everything but what the player has said,
pawn Код:
COMMAND:r(playerid,params)
{
new UnitIdentifier[512];
new cmdtext[100];
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
UnitIdentifier = dini_Get("UnitIDs.txt",playername);
new erpstring[128];
if(PlayerTeam[playerid] == Team_Sheriff || PlayerTeam[playerid] == Team_LVPD || PlayerTeam[playerid] == Team_Fire){
if(dini_Exists("UnitIDs.txt")){
if(strlen(dini_Get("UnitIDs.txt",playername))!=0) {
GetPlayerName(playerid, playername, sizeof(playername));
format(erpstring, sizeof(erpstring), "(DCPCOM) %s %d: %s, over.", UnitIdentifier, playerid,cmdtext[3] );
SendMessageToLaw(erpstring);
}else{
GetPlayerName(playerid, playername, sizeof(playername));
format(erpstring, sizeof(erpstring), "(DCPCOM) Unit %d: %s, over.", playerid, cmdtext[3]);
SendMessageToLaw(erpstring);
SendClientMessage(playerid,COLOR_YELLOW,erpstring);
}
}
}
return 1;
}
Re: Zcmd String Issue -
Rac3r - 23.11.2010
Indentation. ****** it.
Change cmdtext[3] to params.
Re: Zcmd String Issue -
[UG]Scripter - 23.11.2010
Small problem with that:
Uploaded with
ImageShack.us
Re: Zcmd String Issue -
cessil - 23.11.2010
I suggest you use sscanf to make things easier, you're already using zcmd
Re: Zcmd String Issue -
iggy1 - 23.11.2010
Yeah and seriously learn at least one form of indentation that looks a mess and makes me not even want to look through it.
Re: Zcmd String Issue -
Slice - 23.11.2010
Luckily I was on a caffeinie buzz.
What you did wrong was create an empty variable called "cmdtext" then use it. The variable called "params" contains the command string except for the first part.
I think this should work:
pawn Код:
COMMAND:r( playerid, params )
{
  if ( isnull( params ) )
  {
    SendClientMessage( playerid, -1, "USAGE: /r [text]" );
   Â
    return 1;
  }
 Â
  new
    UnitIdentifier[ 512 ],
    playername[ MAX_PLAYER_NAME ]
  ;
 Â
  GetPlayerName( playerid, playername, sizeof( playername ) );
 Â
  UnitIdentifier = dini_Get( "UnitIDs.txt", playername );
 Â
  new erpstring[ 128 ];
 Â
  if ( PlayerTeam[ playerid ] == Team_Sheriff || PlayerTeam[ playerid ] == Team_LVPD || PlayerTeam[ playerid ] == Team_Fire )
  {
    if ( dini_Exists( "UnitIDs.txt" ) )
    {
      if ( strlen( dini_Get( "UnitIDs.txt", playername ) ) != 0 )
      {
        GetPlayerName( playerid, playername, sizeof( playername ) );
       Â
        format( erpstring, sizeof( erpstring ), "(DCPCOM) %s %d: %s, over.", UnitIdentifier, playerid, params );
       Â
        SendMessageToLaw( erpstring );
      }
      else
      {
        GetPlayerName( playerid, playername, sizeof( playername ) );
       Â
        format( erpstring, sizeof( erpstring ), "(DCPCOM) Unit %d: %s, over.", playerid, params );
       Â
        SendMessageToLaw( erpstring );
       Â
        SendClientMessage( playerid, COLOR_YELLOW, erpstring );
      }
    }
  }
 Â
  return 1;
}