Moze objasnjenje?


Započeo Mr. Kid, Novembar 15, 2009, 01:45:11 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Pozz!

Moze li mi netko objasniti strtok(cmdtext, idx);?
Sto to znaci?


Ogromno preporucam koristenje: sscanf + zcmd/ycmd/dcmd

Pa ja i jesam koristio sscanf i htio sam napraviti /register i /login komande. I uspio sam napraviti /register komandu ali ne mogu napraviti /login, jer mi se javlja neki error.

Evo ovo je moja /login komanda:
dcmd_login(playerid, params[])
{
    new password;
    new tmp[256];
    new file[128];
    new name[MAX_PLAYER_NAME];
    if(sscanf(params, "si", password)) return SendClientMessage(playerid, 0xFFFFFFFF, "KORISTENJE: /login <sifra>");
    format(file, sizeof(file), "%s.ini", name);
    GetPlayerName(playerid, name, sizeof(name));
    if(!fexist(file))
    {
        tmp = dini_Get(file, "Sifra");
        if(udb_hash(password) != strval(tmp))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "[System]: Account Logged into!");
		}
		else
		{
		    SendClientMessage(playerid, 0xFFFFFFFF, "[System]: Login failed!");
		}
	}
	return 1;
}


A ovaj mi se error javlja:
C:\Documents and Settings\Administrator\Desktop\Bruce\gamemodes\rs.pwn(136) : error 035: argument type mismatch (argument 1)


A ovo je 136 linija gdje je error:
if(udb_hash(password) != strval(tmp))
Poslednja Izmena: Novembar 15, 2009, 13:32:45 POSLE PODNE od Mr. Kid

dcmd_login(playerid, params[])
{
    new password[128];
    new tmp[256];
    new file[128];
    new name[MAX_PLAYER_NAME];
    if(sscanf(params, "s", password)) return SendClientMessage(playerid, 0xFFFFFFFF, "KORISTENJE: /login <sifra>");
    format(file, sizeof(file), "%s.ini", name);
    GetPlayerName(playerid, name, sizeof(name));
    if(!fexist(file))
    {
        tmp = dini_Get(file, "Sifra");
        if(udb_hash(password) != strval(tmp))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "[System]: Account Logged into!");
      }
      else
      {
          SendClientMessage(playerid, 0xFFFFFFFF, "[System]: Login failed!");
      }
   }
   return 1;
}

eto ti ispravljene verzije, znaci sljedece je bilo krivo:

"password" nije bio array,a treba biti za string. i jos jedna greska je bila sta si stavio u sscanf u drugi parametar "si" dok treba samo "s" za string,a "i" znaci da trebas broj,a ne trebas