login register errors
#1

Hello everyone! I started to script my own SA-MP server so i made login register first.
After I finished i double checked and i found no erros but computer found 5,
I will send you my whole script and you guys try to fix it.
i am going to school now(9 grade not 8yr old kid) and i'd like if somone correct my script with code so i can jsut replace. i am new to scripting so i dont really know much about what errors mean
i will also send error log so you can read whats wrong
again: if you do know whats wrong pls correct my script with [code] so i can replace please i dont have much time so you know... i looked in tutorials and i didnt know what to do!

error log:
Код:
C:\Program Files\Rockstar Games\GTA San Andreas\SAMP\Server\gamemodes\AdminPlugin.pwn(118) : error 021: symbol already defined: "PlayerInfo"
C:\Program Files\Rockstar Games\GTA San Andreas\SAMP\Server\gamemodes\AdminPlugin.pwn(221) : error 037: invalid string (possibly non-terminated string)
C:\Program Files\Rockstar Games\GTA San Andreas\SAMP\Server\gamemodes\AdminPlugin.pwn(221) : error 017: undefined symbol "s"
C:\Program Files\Rockstar Games\GTA San Andreas\SAMP\Server\gamemodes\AdminPlugin.pwn(221) : error 029: invalid expression, assumed zero
C:\Program Files\Rockstar Games\GTA San Andreas\SAMP\Server\gamemodes\AdminPlugin.pwn(221) : fatal error 107: too many error messages on one line

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


5 Errors.
Script:
Код:
 //+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
//+-+-+-+-+-+-+-+-+-+-+-+-+-+AdminPlugin+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
//+-+-+-+-+-+-+-+-+-+-+-+-+-+INCLUDES+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
#include <a_samp>
#include <YSI\y_ini>
#include <zcmd>
#include <sscanf2>
//+-+-+-+-+-+-+-+-+-+-+-+-+-+DEFINES+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define ADMIN_CARS 18

#define PATH "/Accounts/%s.ini

#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_PURPLE 0x800080AA
#define COLOR_RED 0xFF0000AA
#define COLOR_GREEN 0x33AA33AA
#define COL_WHITE "(FFFFFF)"
#define COL_RED "(F81414)"
#define COL_GREEN "(00FF22)"
#define COL_LIGHTBLUE "(00CED1)"

#define ORGGROVE_SKIN_RANK_1 1
#define ORGGROVE_SKIN_RANK_2 2
#define ORGGROVE_SKIN_RANK_3 3
#define ORGGROVE_SKIN_RANK_4 4
#define ORGGROVE_SKIN_RANK_5 5
#define ORGGROVE_SKIN_RANK_6 6
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-PRAGMA+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
#pragma tabsize 0
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-ENUM-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
enum pInfo
{
	pPass,
	pCash,
	pAdmin,
	pScore,
	pBankmoney,
	pBanned,
	pOrgID,
	pRank
}
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-SPAWNPOINT+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
public OnPlayerSpawn(playerid)
{
	SetPlayerSkin(playerid,26);
	GivePlayerMoney(playerid,2000);
	SetPlayerFacingAngle(playerid, 0.0);
	SetPlayerInterior(playerid, 0);
}
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-NEW+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
new PlayerInfo[MAX_PLAYERS][pInfo];
forward LoadUser_data(playerid,name[],value[]);
new AdminCar[ADMIN_CARS];
new Text:RMTeamRolePlay;
new Text3D:vehicle3Dtext[MAX_VEHICLES];
new RandomMSG [][] =
{
	"Streber: Dali ste znali da bi Coca-Cola bila zelene boje bez bojila?",// 1
	"Streber: Dali ste znali da je jedna osoba u dvije milijarde starija od 100 godina?",// error here line 54
	"Streber: Dali ste znali da je 11-posto ljudi lijevoruko?",
	"Streber: Dali ste znali da je nojevo oko vece od njegovog mozga?",
	"Streber: Dali ste znali da je 'Topolino' ime za Miki Mausa u Italiji?", // 5
	"Streber: Dali ste znali da srne vole banane?",
	"Streber: Dali ste znali da macka ima 32 misica u svakom uhu?",
	"Streber: Dali ste znali da je jedini kontinet bez aktivnih vulkana Australija?",
	"Streber: Dali ste znali da su kolacici sudbine bili izmisljeni u San Franciscu i ne u Kini?",
	"Streber: Dali ste znali da se je oko 90-posto svijeta vec poljubilo?",// 10
	"Streber: Dali ste znali da macke provedu 66-posto zivota spavajuci?",
	"Streber: Dali ste znali da prosjecni covjekov mozak ima oko 78% vode u sebi?",
	"Streber: Dali ste znali da je moguce popeti kravu uza stepencie a nemoguce niz njih?",
	"Streber: Dali ste znali da zabe nemogu gutati sa otvorenim ocima?",
	"Streber: Dali ste znali da svoj rodjendan dijelite sa 9 milijuna drugih?",// 15
	"Streber: Dali ste znali da su dalmatinci bijeli poslije rodenja?",
	"Streber: Dali ste znali da krokodil nemoze micati svoj jezik?",
	"Streber: Dali ste znali da prosjecna osoba potrosi 25 godina spavajuci?",
	"Streber: Dali ste znali da je Vasa koza najveci covjekov organ?",
	"Streber: Dali ste znali da je 31,667,600 sekundi u godini?",// 20
	"Streber: Dali ste znali da 'Francuski pomfri' izvire iz Belgije?",
	"Streber: Dali ste znali da je glavni grad Turske Ankara i glavni grad Australije Melbourne?",
	"Streber: Dali ste znali da svaki dan praznik negdje na svijetu?",
	"Streber: Dali ste znali da krave nemaju gornje zube?",
	"Streber: Dali ste znali da je skripter i maper(uz druge mapere) owner ovog servera?",// 25
	"Streber: Dali ste znali da je najsigurnija boja za auto bijela?",
	"Streber: Dali ste znali da grozdje eksplodira kada ih stavite u mikrovalnu pecnicu?",
	"Streber: Dali ste znali da je nemoguce za svinje da pogledaju u zrak?",
	"Streber: Dali ste znali da je kaziprst najosjetljiviji prst na ruci?",
	"Streber: Dali ste znali da Amazon dzungla proizvodi 50% svjetskog kisika?",// 30
	"Streber: Dali ste znali da se grupa zaba zove 'vojska'?",
	"Streber: Dali ste znali da je Brazil dobio ime po drvetu?",
	"Streber: Dali ste znali da je 96-posto svijeci prodano zenama?",
	"Streber: Dali ste znali da je vise kokoski od ljudi?",
	"Streber: Dali ste znali da je 56-posto tipkanja obavljeno lijevom rukom?",// 35
	"Streber: Dali ste znali da covjekovo tijelo tesko 70 kilograma sadrzi 0.2 miligrama zlata?",
	"Streber: Dali ste znali da 42% muskaraca i 25% zena ne peru ruke poslije upotrebe toaleta?",
	"Streber: Dali ste znali da macka moze skociti 7-puta vise od njene duzine repa?",
	"Streber: Dali ste znali da se grupa sovi zove 'parlament'?",
	"Streber: Dali ste znali da je grljenje drveca zabranjeno u Kini?"// 40
}; //error here line 93
forward SendMSG();
//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-MAIN AND CLIENT-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
main()
{
	print("======================================================");
	print("=====================ROLEPLAY=========================");
	print("======================================================");
 	SetGameModeText("RolePlay v1.0");
	SendRconCommand("mapname Balkan");
}
//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ADMIN PLUGIN+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
new PlayerInfo[MAX_PLAYERS][pInfo];
forward LoadUser_data(playerid,name[],value[]);
CMD:setlevel(playerid,params[])
{
	new id,level,msg[128],msg2[128],name[MAX_PLAYER_NAME];
	if(IsPlayerAdmin(playerid))
	{
	    if(sscanf(params,"ud",id,level)) return SendClientMessage(playerid,COLOR_RED,"[RMT:RP]:Upotreba /setlevel [id/name] [level] !");
	    else if(level > 5) return SendClientMessage(playerid,COLOR_RED,"[RMT:RP]:Najveci admin level je 5!");
	    else
	    {
	        PlayerInfo[id][pAdmin] = level;
	        format(msg,sizeof(msg),"Cestitamo! Sada ste admin level %d!");
	        SendClientMessage(id,COLOR_GREEN,msg);
	        GetPlayerName(id,name,sizeof(name));
	        format(msg2,sizeof(msg2),"[RMT:RP]:Uspijesno ste postavili Admina igracu %s ,sa levelom %d!",name,level);
	        SendClientMessage(playerid,COLOR_GREEN,msg2);
	    }
	}
	else
	{
	    SendClientMessage(playerid,COLOR_RED,"[RMT:RP]Morate biti Admin da koristis ovu komandu!");
	}
	return 1;
}
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ID IN CHAT+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
public OnPlayerText(playerid, text[])
{
	new name[MAX_PLAYER_NAME], msg[128];
	GetPlayerName(playerid,name,sizeof(name));
	format(msg, sizeof(msg),"%s(%i): {FFFFFF}%s",name,playerid,text);
	SendClientMessageToAll(GetPlayerColor(playerid),msg);
	return 0;
}

CMD:postavilidera(playerid,params[])
{
	if(PlayerInfo[playerid][pAdmin] <= 4) return SendClientMessage(playerid,COLOR_RED,"[RMT:RP]:Morate biti Admin level 5, da koristite ovu komandu!");
    if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid,COLOR_RED,"[RMT:RP]:Morate biti Admin, da koristite ovu komandu!");
    new targetid,orgname[25], name[24];
    GetPlayerName(playerid, name, sizeof(name));
    if(sscanf(params,"u",targetid,orgname))
    {
        SendClientMessage(playerid,COLOR_RED,"[RMT:RP]:Upotreba /postavilidera [id/ime] [Ime organizacije]!");
        SendClientMessage(playerid,COLOR_RED,"1:Grove Street Families");
        return 1;
    }
    new str[100];
    if(!strcmp(orgname,"Grove Street Families",true))
    {
        PlayerInfo[targetid][pOrgID] = 1;
        PlayerInfo[targetid][pRank] = 6;
        format(str,sizeof(str),"[RMT:RP]:Admin %s vama je dao lidera organizacije Grove Street Families!",name);
        SendClientMessage(targetid,-1,str);
        SetPlayerSkin(targetid,ORGGROVE_SKIN_RANK_6);
    }
    return 1;
}
CMD:skinilidera(playerid,params[])
{
    if(PlayerInfo[playerid][pAdmin] <= 4) return SendClientMessage(playerid,COLOR_RED,"[RMT:RP]:Morate biti Admin level 5, da koristite ovu komandu!");
    if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid,COLOR_RED,"[RMT:RP]:Morate biti Admin, da koristite ovu komandu!");
    new targetid;
    if(sscanf(params,"u",targetid)) return SendClientMessage(playerid,COLOR_RED,"[RMT:RP]:Upotreba /skinilidera [id/ime]!");
    if(PlayerInfo[playerid][pRank] < 6) return SendClientMessage(playerid,COLOR_RED,"[RMT:RP]:Igrac nije u organizaciji!");
    new str[100];
    new name[24];
    GetPlayerName(playerid, name, sizeof(name));
    format(str,sizeof(str),"[RMT:RP]:Admin %s vama je skinuo lidera sa organizacije!",name);
    SendClientMessage(targetid,-1,str);
	PlayerInfo[targetid][pOrgID] = -1;
	PlayerInfo[targetid][pRank] = 0;
	SetPlayerSkin(playerid,100);
	return 1;
}
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+CLEARCHAT-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
CMD:cc(playerid,params[])
{
	if(IsPlayerAdmin(playerid))
	{
		for(new i= 0; i < 50; i++) SendClientMessageToAll(COLOR_WHITE," ");
		SendClientMessage(playerid,COLOR_GREEN,"[RMT:RP]:Chat je bio ociscen od strane Admin Teama");
	}
	else return SendClientMessage(playerid,COLOR_RED,"[RMT:RP]:Moras biti admin da koristis ovu komandu!");
	return 1;
}
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-LOGIN/REGISER SYSTEM-+-+-+-+-+-+-+-+-+-+-+-+-+-+
public LoadUser_data(playerid,name[],value[])
{
	INI_Int("Password",PlayerInfo[playerid][pPass]);
	INI_Int("Cash",PlayerInfo[playerid][pCash]);
	INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
	INI_Int("Score",PlayerInfo[playerid][pScore]);
	INI_Int("Bankmoney",PlayerInfo[playerid][pBankmoney]);
	INI_Int("Banned",PlayerInfo[playerid][pBanned]);
	INI_Int("Org",PlayerInfo[playerid][pOrgID]);
	INI_Int("Rank",PlayerInfo[playerid][pRank]);
	return 1;
}
stock UserPath(playerid)
{
	new string[128],playername[MAX_PLAYER_NAME];
	GetPlayerName(playerid,playername,sizeof(playername));
	format(string,sizeof(string),PATH,playername);    //errors around these 5 lines above
	return string;
}
stock udb_hash(buf[])
{
	new length=strlen(buf);
	new s1 = 1;
	new s2 = 0;
	new n;
	for (n=0; n<length; n++)
	{
	    s1 = (s1 + buf[n]) % 65521;
	    s2 = (s2 + s1)     % 65521:
	}
	return (s2 << 16) + s1;
}
public OnPlayerConnect(playerid)
{
	if(fexist(UserPath(playerid)))
	{
		INI_ParseFile(UserPath(playerid),"LoadUser_%s",.bExtra = true,. extra = playerid);
		ShowPlayerDialog(playerid,DIALOG_LOGIN,_DIALOG_STYLE_INPUT,"LoginM","Molimo vas upisite vas password!","Login","Izlaz");
	}
	else
	{
	    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registracija","Ovaj account jos nie bio registriran! Registrirajte sada!","Registrirajte se","Izlaz");
	}
	return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
	new INI:File = INI_Open(UserPath(playerid));
	INI_SetTag(File,"data");
	INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
	INI_WriteInt(File,"Admin",GetPlayerInfo[playerid][pAdmin]);
	INI_WriteInt(File,"Score",GetPlayerScore(playerid));
	INI_WriteInt(File,"Bankmoney",GetPlayerInfo[playerid][pBankmoney]);
	INI_WriteInt(File,"Banned",GetPlayerInfo[playerid][pBanned]);
	INI_WriteInt(File,"Org",GetPlayerInfo[playerid][pOrgID]);
	INI_WriteInt(File,"Rank",GetPlayerInfo[playerid][pRank]);
	INI_Close(File);
	return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	switch(dialogid)
	{
	    case DIALOG_REGISTER;
	    {
	        if(!response) return Kick(playerid);
	        if(response)
	        {
	            if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registracija","Password se ne moze koristiti, molimo upisite novi!","Registrirajte se","Izlaz");
				new INI:File = INI_Open(UserPath(playerid));
				INI_Set:Tag(File,"data");
				INI_WriteInt(File,"Password",udb_hash(inputtext));
                INI_WriteInt(File,"Cash",0);
                INI_WriteInt(File,"Admin",0);
                INI_WriteInt(File,"Score",0);
                INI_WriteInt(File,"Bankmoney",0);
                INI_WriteInt(File,"Banned",0);
                INI_WriteInt(File,"Org",-1);
                INI_WriteInt(File,"Rank",0);
                INI_Close(File);
			}
		}
		case DIALOG_LOGIN:
		{
		    if(!response) return Kick(playerid);
			if(response)
			{
			    if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
			    {
			        INI_ParseFile(UserPath(playerid),"LoadUser_%s",.bExtra = true,.extra = playerid);
			        GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]);
			        SetPlayerScore(playerid,PlayerInfo[playerid][pScore]);
			        SendClientMessage(playerid,-1,"[RMT:RP]:Uspijesno ste se prijavili u vas account!");
				}
				else
				{
				    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Vas password je netacan! Molimo pokusajte ponovo.","Login","Izlaz");
				}
			}
		}
	}
	return 1;
	
}
			        
	return 1;
}
Reply
#2

Please show as de lines where are the problems.
Reply
#3

Quote:
Originally Posted by webby
Посмотреть сообщение
Please show as de lines where are the problems.
I did i types //errors here
Reply
#4

You have 2 of new PlayerInfo[MAX_PLAYERS][pInfo];, delete one.
Reply
#5

I still got other 4 errors such as undefined symbol "s" ainvalid string and invalid expression probably zero
Reply
#6

Please show us the exact error lines, I don't think that we got time or mind to read all of this code..
Reply
#7

Quote:
Originally Posted by JasonRiggs
Посмотреть сообщение
Please show us the exact error lines, I don't think that we got time or mind to read all of this code..
Scroll down until you find
//-+-+-+-+-+-+-+-+-+-+-+-+login register-+-+-+-+-+-+-+-+-+-+
And you will see i wrote comment which says
//errors around 5 lines here
Reply
#8

Quote:

stock UserPath(playerid)
{
new string[128],playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,sizeof(playernam e));
format(string,sizeof(string),PATH,playername); //errors around these 5 lines above
return string;
}

A question, What the hell is "PATH"?
Reply
#9

Path is path to Accounts file in scriptfiles. If ypu think you can correct it then tell me pls
Reply
#10

you didn't define anything called PATH tho..
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)