Portal SAMP
[Ajuda] error 035: argument type mismatch (argument 2) - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] error 035: argument type mismatch (argument 2) (/showthread.php?tid=3641)



error 035: argument type mismatch (argument 2) - Jasinto - 24/05/2023

Boa tarde, alguem sabe resolver isso?


Código PHP:
#define M4 31


CMD:parma(playerid)
{
  new arma[250];
  format(arma250"Arma/1.ini");
  GivePlayerWeapon(playeridDOF2_GetString(arma"Arma"), 700);     //linha do erro
  return 1;



Defini M4 como 31, pq se o DOF2_GetString for = m4, vai setar a arma 31


RE: error 035: argument type mismatch (argument 2) - White_Blue - 24/05/2023

Do jeito que você está fazendo não faz sentido.

Teste o exemplo abaixo e adapte de acordo com suas necessidades(Não testei o código abaixo, mas é provável que funcione):

Código PHP:
#define Contas "/Contas/%s.ini"
new File[128];

CMD:arma(playerid) {
    format(Filesizeof(File), ContasGetPlayerNameEx(playerid));
    GivePlayerWeapon(playerid31700);
    DOF2_SetInt(File"Arma"31);
    DOF2_SetInt(File"Ammo"700);
    return 1;
}

stock CheckWeapons(playerid) {
      format(Filesizeof(File), ContasGetPlayerNameEx(playerid));

      GivePlayerWeapon(playeridDOF2_GetInt(File"Arma"), DOF2_GetInt(File"Ammo"));
      return 1;
}

public 
OnPlayerSpawn(playerid) {
         CheckWeapons(playerid);
         return 1;
}

stock GetPlayerNameEx(playerid) {
      static Name[MAX_PLAYER_NAME];
      GetPlayerName(playeridNameMAX_PLAYER_NAME);
      return Name;




RE: error 035: argument type mismatch (argument 2) - xbruno1000x - 24/05/2023

(24/05/2023 13:42)Jasinto Escreveu: Boa tarde, alguem sabe resolver isso?


Código PHP:
#define M4 31


CMD:parma(playerid)
{
  new arma[250];
  format(arma250"Arma/1.ini");
  GivePlayerWeapon(playeridDOF2_GetString(arma"Arma"), 700);     //linha do erro
  return 1;



Defini M4 como 31, pq se o DOF2_GetString for = m4, vai setar a arma 31

Boa noite, está ocorrendo o erro pois você está usando uma variável do tipo String, num parâmetro que espera uma variável do tipo INT. O ID da arma tem que ser um número inteiro, não pode ser texto. Se você quiser salvar em DOF2, deveria ser DOF2_GetInt para funcionar.