SA-MP Forums Archive
DINI / Script Errors - 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: DINI / Script Errors (/showthread.php?tid=242737)



DINI / Script Errors - anumaz - 20.03.2011

Hi, when I have this code and try to compile:

pawn Код:
#include <a_samp>
#include <ZCMD>
#include <Dini>

CMD:creategang( playerid, params [ ] )
{
    if (isnull(params)) { return SendClientMessage(playerid, -1, "Syntax: /creategang <name>"); }
    new creategang;
    format(creategang, sizeof(creategang), "Gangs\%s", params);
    new gangname;
    format(gangname, sizeof(gangname), "%s", params);
    if (dini_Exists(creategang) = true) { return SendClientMessage(playerid, -1, "This gang already exists."); }
    if (dini_Exists(creategang) = false)
    {
        new leader;
        GetPlayerName(playerid,leader, sizeof(leader));
        new string[128];
        format(string,128,"Your gang %s has been created.", params);
        dini_Create(creategang);
        dini_Set(creategang,"Gang Name",gangname);
        dini_Set(creategang,"Leader",leader);
    return 1;
}
I get the following errors:

Код:
C:\Documents and Settings\Anthony Dupont\Bureau\KrazyParadise\filterscripts\gangsystem.pwn(9) : error 035: argument type mismatch (argument 1)
C:\Documents and Settings\Anthony Dupont\Bureau\KrazyParadise\filterscripts\gangsystem.pwn(9) : error 035: argument type mismatch (argument 1)
C:\Documents and Settings\Anthony Dupont\Bureau\KrazyParadise\filterscripts\gangsystem.pwn(11) : error 035: argument type mismatch (argument 1)
C:\Documents and Settings\Anthony Dupont\Bureau\KrazyParadise\filterscripts\gangsystem.pwn(11) : error 035: argument type mismatch (argument 1)
C:\Documents and Settings\Anthony Dupont\Bureau\KrazyParadise\filterscripts\gangsystem.pwn(12) : error 035: argument type mismatch (argument 1)
C:\Documents and Settings\Anthony Dupont\Bureau\KrazyParadise\filterscripts\gangsystem.pwn(12) : warning 215: expression has no effect
C:\Documents and Settings\Anthony Dupont\Bureau\KrazyParadise\filterscripts\gangsystem.pwn(12) : error 001: expected token: ";", but found ")"
C:\Documents and Settings\Anthony Dupont\Bureau\KrazyParadise\filterscripts\gangsystem.pwn(12) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Anthony Dupont\Bureau\KrazyParadise\filterscripts\gangsystem.pwn(12) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


8 Errors.
Any ideas how to fix it?


Re: DINI / Script Errors - xir - 20.03.2011

I dont think it will work with the leader, but all errors fixed, then you can yourself make the save part

pawn Код:
CMD:creategang( playerid, params [ ] )
{
    if(sscanf(params, "s", params)) return SendClientMessage(playerid, -1, "Syntax: /creategang <name>");
    new creategang[128], name[MAX_PLAYER_NAME];
    format(creategang, sizeof(creategang), "Gangs\%s", name);
    if (dini_Exists(creategang)) return SendClientMessage(playerid, -1, "This gang already exists.");
    if (!dini_Exists(creategang))
    {
        new string[128], gangname,leader;
        format(string,128,"Your gang %s has been created.", params);
        SendClientMessage(playerid, -1, string);
        dini_Create(creategang);
        dini_IntSet(creategang,"Gang Name",gangname);
        dini_IntSet(creategang,"Leader",leader);
    }
    return 1;
}



Re: DINI / Script Errors - HyperZ - 20.03.2011

pawn Код:
CMD:creategang( playerid, params [ ] )
{
    if(sscanf(params, "s[128]", params)) return SendClientMessage(playerid, -1, "Syntax: /creategang <name>");
    new creategang[128], name[MAX_PLAYER_NAME];
    format(creategang, sizeof(creategang), "Gangs\%s", name);
    if (dini_Exists(creategang)) return SendClientMessage(playerid, -1, "This gang already exists.");
    if (!dini_Exists(creategang))
    {
        new string[128], gangname,leader;
        format(string,128,"Your gang %s has been created.", params);
        SendClientMessage(playerid, -1, string);
        dini_Create(creategang);
        dini_IntSet(creategang,"Gang Name",gangname);
        dini_IntSet(creategang,"Leader",leader);
    }
    return 1;
}
There must be a string, "s[128]" xD.


Re : DINI / Script Errors - anumaz - 20.03.2011

I never got, why "string" and why "128" ? And it does not work ingame :/


Re: DINI / Script Errors - maramizo - 20.03.2011

Quote:
Originally Posted by Clive
Посмотреть сообщение
pawn Код:
CMD:creategang( playerid, params [ ] )
{
    if(sscanf(params, "s[128]", params)) return SendClientMessage(playerid, -1, "Syntax: /creategang <name>");
    new creategang[128], name[MAX_PLAYER_NAME];
    format(creategang, sizeof(creategang), "Gangs\%s", name);
    if (dini_Exists(creategang)) return SendClientMessage(playerid, -1, "This gang already exists.");
    if (!dini_Exists(creategang))
    {
        new string[128], gangname,leader;
        format(string,128,"Your gang %s has been created.", params);
        SendClientMessage(playerid, -1, string);
        dini_Create(creategang);
        dini_IntSet(creategang,"Gang Name",gangname);
        dini_IntSet(creategang,"Leader",leader);
    }
    return 1;
}
There must be a string, "s[128]" xD.
Ehm, try this?

pawn Код:
#include <a_samp>
#include <ZCMD>
#include <Dini>
#include <sscanf2>

CMD:creategang(playerid, params[])
{
    if(sscanf(params, "s[128]", params)) return SendClientMessage(playerid, 0xFFFFFAA00, "Syntax: /creategang <name>");
    new creategang[128], name[MAX_PLAYER_NAME];
    format(creategang, sizeof(creategang), "Gangs\%s", name);
    if (dini_Exists(creategang)) return SendClientMessage(playerid, 0xFFFFFAA00, "This gang already exists.");
    if (!dini_Exists(creategang))
    {
        new string[128], gangname,leader;
        format(string,128,"Your gang %s has been created.", params);
        SendClientMessage(playerid, 0xFFFFFAA00, string);
        dini_Create(creategang);
        dini_IntSet(creategang,"Gang Name",gangname);
        dini_IntSet(creategang,"Leader",leader);
    }
    return 1;
}



Re : Re: DINI / Script Errors - anumaz - 20.03.2011

Quote:
Originally Posted by maramizo
Посмотреть сообщение
Ehm, try this?

pawn Код:
#include <a_samp>
#include <ZCMD>
#include <Dini>
#include <sscanf2>

CMD:creategang(playerid, params[])
{
    if(sscanf(params, "s[128]", params)) return SendClientMessage(playerid, 0xFFFFFAA00, "Syntax: /creategang <name>");
    new creategang[128], name[MAX_PLAYER_NAME];
    format(creategang, sizeof(creategang), "Gangs\%s", name);
    if (dini_Exists(creategang)) return SendClientMessage(playerid, 0xFFFFFAA00, "This gang already exists.");
    if (!dini_Exists(creategang))
    {
        new string[128], gangname,leader;
        format(string,128,"Your gang %s has been created.", params);
        SendClientMessage(playerid, 0xFFFFFAA00, string);
        dini_Create(creategang);
        dini_IntSet(creategang,"Gang Name",gangname);
        dini_IntSet(creategang,"Leader",leader);
    }
    return 1;
}
That one keeps saying "This gang already exists." even if it does not exist :/


Re: DINI / Script Errors - xir - 20.03.2011

hmmm try this

pawn Код:
CMD:creategang(playerid, params[])
{
    if(sscanf(params, "s[128]", params)) return SendClientMessage(playerid, 0xFFFFFAA00, "Syntax: /creategang <name>");
    new creategang[128], name[MAX_PLAYER_NAME];
    format(creategang, sizeof(creategang), "Gangs\%s", name);
    if(strmatch(creategang, params)) return SendClientMessage(playerid,0xFFFFFAA00,"This gang already exists.");
    if (!dini_Exists(creategang))
    {
        new string[128], gangname,leader;
        format(string,128,"Your gang %s has been created.", params);
        SendClientMessage(playerid, 0xFFFFFAA00, string);
        dini_Create(creategang);
        dini_IntSet(creategang,"Gang Name",gangname);
        dini_IntSet(creategang,"Leader",leader);
    }
    return 1;
}
at the buttom of your script

pawn Код:
stock strmatch(const String1[], const String2[])
{
    if ((strcmp(String1, String2, true, strlen(String2)) == 0) && (strlen(String2) == strlen(String1)))
    {
        return true;
    }
    else
    {
        return false;
    }
}



Re : Re: DINI / Script Errors - anumaz - 21.03.2011

Quote:
Originally Posted by xir
Посмотреть сообщение
hmmm try this

pawn Код:
CMD:creategang(playerid, params[])
{
    if(sscanf(params, "s[128]", params)) return SendClientMessage(playerid, 0xFFFFFAA00, "Syntax: /creategang <name>");
    new creategang[128], name[MAX_PLAYER_NAME];
    format(creategang, sizeof(creategang), "Gangs\%s", name);
    if(strmatch(creategang, params)) return SendClientMessage(playerid,0xFFFFFAA00,"This gang already exists.");
    if (!dini_Exists(creategang))
    {
        new string[128], gangname,leader;
        format(string,128,"Your gang %s has been created.", params);
        SendClientMessage(playerid, 0xFFFFFAA00, string);
        dini_Create(creategang);
        dini_IntSet(creategang,"Gang Name",gangname);
        dini_IntSet(creategang,"Leader",leader);
    }
    return 1;
}
at the buttom of your script

pawn Код:
stock strmatch(const String1[], const String2[])
{
    if ((strcmp(String1, String2, true, strlen(String2)) == 0) && (strlen(String2) == strlen(String1)))
    {
        return true;
    }
    else
    {
        return false;
    }
}
Not working :S


Re: DINI / Script Errors - PinkFloydLover - 21.03.2011

try putting GetPlayerName(playerid,name,24);
underneath name[MAX_PLAYER_NAME];

EDIT: I Just had a good look through, and you're not assigning the gangname and leader variables to anything, and gangname should be a string, so you shouldn't be using dini_IntSet

pawn Код:
CMD:creategang(playerid, params[])
{
    if(sscanf(params, "s[128]", params)) return SendClientMessage(playerid, 0xFFFFFAA00, "Syntax: /creategang <name>");
    new creategang[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,24);
    format(creategang, sizeof(creategang), "Gangs\%s", name);
    if(dini_Exists(creategang)) return SendClientMessage(playerid,0xFFFFFAA00,"This gang already exists.");
    if (!dini_Exists(creategang))
    {
        new string[128];
        format(string,128,"Your gang %s has been created.", params);
        SendClientMessage(playerid, 0xFFFFFAA00, string);
        dini_Create(creategang);
        dini_Set(creategang,"Gang Name",params);
        dini_Set(creategang,"Leader",name);
    }
    return 1;
}
try that


Re : Re: DINI / Script Errors - anumaz - 21.03.2011

Quote:
Originally Posted by Cale
Посмотреть сообщение
try putting GetPlayerName(playerid,name,24);
underneath name[MAX_PLAYER_NAME];

EDIT: I Just had a good look through, and you're not assigning the gangname and leader variables to anything, and gangname should be a string, so you shouldn't be using dini_IntSet

pawn Код:
CMD:creategang(playerid, params[])
{
    if(sscanf(params, "s[128]", params)) return SendClientMessage(playerid, 0xFFFFFAA00, "Syntax: /creategang <name>");
    new creategang[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,24);
    format(creategang, sizeof(creategang), "Gangs\%s", name);
    if(dini_Exists(creategang)) return SendClientMessage(playerid,0xFFFFFAA00,"This gang already exists.");
    if (!dini_Exists(creategang))
    {
        new string[128];
        format(string,128,"Your gang %s has been created.", params);
        SendClientMessage(playerid, 0xFFFFFAA00, string);
        dini_Create(creategang);
        dini_Set(creategang,"Gang Name",params);
        dini_Set(creategang,"Leader",name);
    }
    return 1;
}
try that
Thank you!