Help Me.. I got An Error When Compile!
#1

Код:
/* Basic
		Freeroam
				 Gamemode Script by Chris' */

#include <a_samp> // Credits SAMP team
#include <dudb> // Draco Blue

#include "../include/gl_common.inc"

#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

#pragma unused ret_memcpy

#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x00FF00C8
#define COLOR_RED 0xFF0000AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x3A47DEFF
#define COLOR_TAN 0xBDB76BAA
#define COLOR_PURPLE 0x800080AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_INDIGO 0x1E90FFAA
#define COLOR_BLACK 0x00000000
#define COLOR_DARKGREY 0x696969FF

new PlayerColors[200] = {
	0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,0xF4A460FF,
	0xEE82EEFF,0xFFD720FF,0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,0x10DC29FF,
	0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF,0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,0x65ADEBFF,
	0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF,0x275222FF,0xF09F5BFF,0x3D0A4FFF,
	0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,0x057F94FF,
	0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,0x18F71FFF,
	0x4B8987FF,0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,0x12D6D4FF,
	0x48C000FF,0x2A51E2FF,0xE3AC12FF,0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,0x2FD9DEFF,
	0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,0x3214AAFF,
	0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,0x9F945CFF,0xDCDE3DFF,
	0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,0xD8C762FF,
	0xD8C762FF,0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,
	0xF4A460FF,0xEE82EEFF,0xFFD720FF,0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,
	0x10DC29FF,0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF,0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,
	0x65ADEBFF,0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF,0x275222FF,0xF09F5BFF,
	0x3D0A4FFF,0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,
	0x057F94FF,0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,
	0x18F71FFF,0x4B8987FF,0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,
	0x12D6D4FF,0x48C000FF,0x2A51E2FF,0xE3AC12FF,0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,
	0x2FD9DEFF,0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,
	0x3214AAFF,0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,0x9F945CFF,
	0xDCDE3DFF,0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,
	0xD8C762FF,0xD8C762FF
};

new file[512];

enum Info
{
	AdminLevel,
	Cash,
	Score,
}

new AccountInfo[MAX_PLAYERS][Info];

public OnGameModeInit()
{
	SetGameModeText("RP|Freeroam|Fun Gaming");
	AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);

	LoadStaticVehiclesFromFile("vehicles/trains.txt");
    LoadStaticVehiclesFromFile("vehicles/pilots.txt");
    LoadStaticVehiclesFromFile("vehicles/lv_law.txt");
    LoadStaticVehiclesFromFile("vehicles/lv_airport.txt");
    LoadStaticVehiclesFromFile("vehicles/lv_gen.txt");
    LoadStaticVehiclesFromFile("vehicles/sf_law.txt");
    LoadStaticVehiclesFromFile("vehicles/sf_airport.txt");
    LoadStaticVehiclesFromFile("vehicles/sf_gen.txt");
    LoadStaticVehiclesFromFile("vehicles/ls_law.txt");
    LoadStaticVehiclesFromFile("vehicles/ls_airport.txt");
    LoadStaticVehiclesFromFile("vehicles/ls_gen_inner.txt");
    LoadStaticVehiclesFromFile("vehicles/ls_gen_outer.txt");
    LoadStaticVehiclesFromFile("vehicles/whetstone.txt");
    LoadStaticVehiclesFromFile("vehicles/bone.txt");
    LoadStaticVehiclesFromFile("vehicles/flint.txt");
    LoadStaticVehiclesFromFile("vehicles/tierra.txt");
    LoadStaticVehiclesFromFile("vehicles/red_county.txt");
	return 1;
}

public OnGameModeExit()
{
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
	return 1;
}

public OnPlayerConnect(playerid)
{
	new string[256];
	new name[MAX_PLAYER_NAME];

	GetPlayerName(playerid, name, sizeof(name));
	format(file, sizeof(file), "Accounts/%s.ini", name);
	if (!dini_Exists(file))
	{
	    format(string, sizeof(string), "Welcome: %s\n This account is not registered\nPlease register", name);
		ShowPlayerDialog(playerid, 3333, DIALOG_STYLE_INPUT, "Welcome", string, "Register", "Leave");
	}
	if(fexist(file))
	{
	    format(string, sizeof(string), "Welcome: %s\n This account is registered\nPlease Login", name);
		ShowPlayerDialog(playerid, 3334, DIALOG_STYLE_INPUT, "Hello", string, "Login", "Leave");
	}
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	new name[24];

	GetPlayerName(playerid,name,24);
	GetPlayerName(playerid, name, sizeof(name));
	
	format(file,sizeof(file),"Accounts/%s.ini",name);
	if(dini_Exists(file))
	{
		dini_IntSet(file,"Cash",GetPlayerMoney(playerid));
		dini_IntSet(file,"Score",GetPlayerScore(playerid));
		dini_IntSet(file,"AdminLevel", AccountInfo[playerid][AdminLevel]);
		return 1;
	}
	return 1;
}

public OnPlayerSpawn(playerid)
{
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	dcmd(makeadmin, 9, cmdtext);
	dcmd(parch, 5, cmdtext);
	dcmd(jetpack, 7, cmdtext);
	dcmd(fstyle, 6, cmdtext);
	dcmd(randomcolor, 11, cmdtext);
	dcmd(stats, 5, cmdtext);
	dcmd(commands, 8, cmdtext);
	return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
	return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
	return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
	return 1;
}

public OnPlayerUpdate(playerid)
{
	return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
	return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
	return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
	return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if (dialogid == 3333)
	{
		new name[MAX_PLAYER_NAME], string[128];
		
		GetPlayerName(playerid, name, sizeof(name));
		
		format(file, sizeof(file), "Accounts/%s.ini", name);
		
		if(!response) return Kick(playerid);
		
		if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 3333, DIALOG_STYLE_INPUT, "Welcome", "This account its not registered\nPlease register", "Register", "Leave");

		dini_Create(file);
		dini_IntSet(file, "Password", udb_hash(inputtext));
		dini_IntSet(file, "AdminLevel",AccountInfo[playerid][AdminLevel] = 0);
		dini_IntSet(file, "Cash",AccountInfo[playerid][Cash] = 5000);
		dini_IntSet(file, "Score",AccountInfo[playerid][Score] = 0);

		format(string, 400, "You successfuly registered as %s", name, inputtext);
		SendClientMessage(playerid,COLOR_WHITE, string);
	}
	if (dialogid == 3334)
	{
		new name[MAX_PLAYER_NAME];
		GetPlayerName(playerid, name, sizeof(name));
		format(file, sizeof(file), "Data/users/%s.ini", name);
		if(!response) return Kick(playerid);
		if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 3334, DIALOG_STYLE_INPUT, "Welcome", "This account is registered\nPlease login", "Login", "Leave");
		new tmp;
		tmp = dini_Int(file, "Password");
		if(udb_hash(inputtext) != tmp) {
		SendClientMessage(playerid,COLOR_RED, "You have entered an incorrect password");
		ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Welcome", "This account is registered\nPlease login", "Login", "Leave");
		}
		else
		{
		SetPlayerMoney(playerid, dini_Int(file, "Cash"));
		SetPlayerScore(playerid, dini_Int(file, "Score"));
		AccountInfo[playerid][AdminLevel] = dini_Int(file, "AdminLevel");
		SendClientMessage(playerid,COLOR_ORANGE, "You successfuly logged in");
		SetPlayerPos(playerid, 2020.0795,1342.9370,10.8130);
	}
	}
	if(dialogid == 2221)
	{
	    if(response)
	    {
	        switch(listitem)
	        {
	            case 0:
	            {
	                SetPlayerFightingStyle (playerid, FIGHT_STYLE_BOXING);
	            }
	            case 1:
	            {
	                SetPlayerFightingStyle (playerid, FIGHT_STYLE_KUNGFU);
	            }
	            case 2:
				{
			 		SetPlayerFightingStyle (playerid, FIGHT_STYLE_KNEEHEAD);
				}
				case 3:
				{
					SetPlayerFightingStyle (playerid, FIGHT_STYLE_GRABKICK);
				}
	            case 4:
				{
					SetPlayerFightingStyle (playerid, FIGHT_STYLE_ELBOW);
				}

			}

		}

	}
	return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}

dcmd_makeadmin(playerid, params[])
{
	new id, lvl, string[256], name[MAX_PLAYER_NAME], PlayerName[MAX_PLAYER_NAME];
	
	if(IsPlayerConnected(id))
	{
		if(AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
		{
			if(!sscanf(params, "ui", id, lvl))
			{
				if((lvl >= 1 && lvl <= 5) || lvl == 0)
				{
					format(file,sizeof(file),"Accounts/%s.ini",id);

					GetPlayerName(playerid, name, sizeof(name));
					GetPlayerName(id, PlayerName, sizeof(PlayerName));
					format(string, sizeof(string), "You are now Admin level %d thanks to %s", lvl, name);
					SendClientMessage(id, COLOR_RED, string);
					format(string, sizeof(string), "You gave %d an admin level %s", PlayerName, lvl);
					SendClientMessage(playerid, COLOR_WHITE, string);
					dini_IntSet(file,"AdminLevel", lvl);
					AccountInfo[id][AdminLevel] = lvl;
					return 1;
				}
				else return SendClientMessage(playerid, COLOR_RED, "ERROR: Admin level cant go higher that 5 and lower that 1");
			}
			else return SendClientMessage(playerid, COLOR_RED, "USAGE: /makeadmin [PlayerId/PartOfName] [AdminLevel]");
		}
		else return SendClientMessage(playerid, COLOR_RED, "You must be RCON loged in to use this command");
	}
	else return SendClientMessage(playerid, COLOR_RED, "ERROR: Player Is Not Connected");
}

dcmd_parch(playerid, params[])
{
	#pragma unused params
    GivePlayerWeapon(playerid, 46, 1);
	return 1;
}

dcmd_jetpack(playerid, params[])
{
	#pragma unused params
    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
    return 1;
}

dcmd_fstyle(playerid, params[])
{
	#pragma unused params
	ShowPlayerDialog(playerid, 2221, DIALOG_STYLE_LIST, "Fighting Styles:", "Boxing\nKung Fu\nKneeHead\nGrabKick\nElbow", "Select","Cancel");
	return 1;
}

dcmd_randomcolor(playerid, params[])
{
    #pragma unused params
	new rand = random(sizeof(PlayerColors));
	SetPlayerColor(playerid, PlayerColors[rand]);
	return 1;
}

dcmd_stats(playerid, params[])
{
    #pragma unused params
	format(file, sizeof(file), "AdminLevel: %d\nScore: %d\nMoney: %d", AccountInfo[playerid][AdminLevel], GetPlayerScore(playerid), GetPlayerMoney(playerid));
	ShowPlayerDialog(playerid, 2223, DIALOG_STYLE_MSGBOX, "Player stats",file,"Close","");
	return 1;
}

dcmd_commands(playerid, params[])
{
    #pragma unused params
	if(!IsPlayerAdmin(playerid))
    {
		ShowPlayerDialog(playerid, 2224, DIALOG_STYLE_MSGBOX, "Server Commands","Player Commands: /parch, /jetpack, /randomcolor, /stats", "Close","");
	}
	else
	{
        ShowPlayerDialog(playerid, 2224, DIALOG_STYLE_MSGBOX, "Server Commands","Player Commands: /parch, /jetpack, /randomcolor, /stats\nAdmin Commands: /makeadmin", "Close","");
	}
	return 1;
}


stock sscanf(string[], format[], {Float,_}:...) // Thanks to ******
{
	new
		formatPos = 0,
		stringPos = 0,
		paramPos = 2,
		paramCount = numargs();
	while (paramPos < paramCount && string[stringPos])
	{
		switch (format[formatPos++])
		{
			case '\0':
			{
				return 0;
			}
			case 'i', 'd':
			{
				new
					neg = 1,
					num = 0,
					ch = string[stringPos];
				if (ch == '-')
				{
					neg = -1;
					ch = string[++stringPos];
				}
				do
				{
					stringPos++;
					if (ch >= '0' && ch <= '9')
					{
						num = (num * 10) + (ch - '0');
					}
					else
					{
						return 1;
					}
				}
				while ((ch = string[stringPos]) && ch != ' ');
				setarg(paramPos, 0, num * neg);
			}
			case 'h', 'x':
			{
				new
					ch,
					num = 0;
				while ((ch = string[stringPos++]))
				{
					switch (ch)
					{
						case 'x', 'X':
						{
							num = 0;
							continue;
						}
						case '0' .. '9':
						{
							num = (num << 4) | (ch - '0');
						}
						case 'a' .. 'f':
						{
							num = (num << 4) | (ch - ('a' - 10));
						}
						case 'A' .. 'F':
						{
							num = (num << 4) | (ch - ('A' - 10));
						}
						case ' ':
						{
							break;
						}
						default:
						{
							return 1;
						}
					}
				}
				setarg(paramPos, 0, num);
			}
			case 'c':
			{
				setarg(paramPos, 0, string[stringPos++]);
			}
			case 'f':
			{
				new tmp[25];
				strmid(tmp, string, stringPos, stringPos+sizeof(tmp)-2);
				setarg(paramPos, 0, _:floatstr(tmp));
			}
			case 's', 'z':
			{
				new
					i = 0,
					ch;
				if (format[formatPos])
				{
					while ((ch = string[stringPos++]) && ch != ' ')
					{
						setarg(paramPos, i++, ch);
					}
					if (!i) return 1;
				}
				else
				{
					while ((ch = string[stringPos++]))
					{
						setarg(paramPos, i++, ch);
					}
				}
				stringPos--;
				setarg(paramPos, i, '\0');
			}
			default:
			{
				continue;
			}
		}
		while (string[stringPos] && string[stringPos] != ' ')
		{
			stringPos++;
		}
		while (string[stringPos] == ' ')
		{
			stringPos++;
		}
		paramPos++;
	}
	while (format[formatPos] == 'z') formatPos++;
	return format[formatPos];
}
This Is The PWN And When I Compile This... It Came Out 2 Error Like This


Код:
D:\SAMP Work\pawno\include\../include/gl_common.inc(75) : error 021: symbol already defined: "strtok"
D:\SAMP Work\pawno\include\../include/gl_common.inc(134) : error 021: symbol already defined: "isNumeric"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


2 Errors.
Help Me Please!
Reply
#2

Check inside the include dudb.
Reply
#3

I Already Put The Dudb In The Include.
Reply
#4

Sorry i misread the errors,

server root>include (not includes in pawno folder) open up gl_common.inc and remove strtok and IsNumeric
Reply
#5

Gl_common has already been defined, next time put it into pastebin
Reply
#6

It Works! Thanks
Reply
#7

You welcome
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)