29.07.2010, 19:49
(
Последний раз редактировалось FireCat; 29.07.2010 в 20:03.
)
Код:
#include <a_samp> #include <dini> #include <dutils> #define FILTERSCRIPT #if defined FILTERSCRIPT #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 #define COLOUR_GREEN 0x33AA33AA #define COLOUR_RED 0xAA3333AA #define COLOUR_YELLOW 0xFFFF00AA #define COLOUR_LIGHTBLUE 0x33CCFFAA #define COLOUR_ORANGE 0xFF9900AA #define PlayerFile "AdminScript/Users/%s.ini" #define SettingFile "AdminScript/Settings/MainSettings.ini" #define CommandFile "AdminScript/Settings/Commands.ini" public OnFilterScriptInit() { print("\n****************************************"); print("* Admin Filterscript by your name here *"); print("****************************************\n"); if(!fexist(SettingFile)) { dini_Create(SettingFile); dini_IntSet(SettingFile, "PocketMoney", 3000); dini_IntSet(SettingFile, "JailCommands", 0); dini_IntSet(SettingFile, "AnnounceSeconds", 3); dini_IntSet(SettingFile, "PassMin", 3); dini_IntSet(SettingFile, "PassMax", 15); } gSettings[POCKET_MONEY] = dini_Int(SettingFile, "PocketMoney"); gSettings[JAIL_COMMANDS] = dini_Int(SettingFile, "JailCommands"); gSettings[ANNOUNCE_SECONDS] = dini_Int(SettingFile, "AnnounceSeconds"); gSettings[PASS_MIN] = dini_Int(SettingFile, "PassMin"); gSettings[PASS_MAX] = dini_Int(SettingFile, "PassMax"); if(!fexist(CommandFile)) { dini_Create(CommandFile); dini_IntSet(CommandFile, "Akill", 6); dini_IntSet(CommandFile, "Announce", 5); dini_IntSet(CommandFile, "Armourall", 3); dini_IntSet(CommandFile, "Ban", 9); dini_IntSet(CommandFile, "Carhp", 4); dini_IntSet(CommandFile, "Explode", 5); dini_IntSet(CommandFile, "Goto", 4); dini_IntSet(CommandFile, "Gethere", 5); dini_IntSet(CommandFile, "Givearmour", 6); dini_IntSet(CommandFile, "Givehealth", 6); dini_IntSet(CommandFile, "Giveweapon", 7); dini_IntSet(CommandFile, "God", 10); dini_IntSet(CommandFile, "Healall", 7); dini_IntSet(CommandFile, "Imitate", 8); dini_IntSet(CommandFile, "Ip", 2); dini_IntSet(CommandFile, "Kick", 7); dini_IntSet(CommandFile, "Maxammo", 8); dini_IntSet(CommandFile, "Ping", 1); dini_IntSet(CommandFile, "Setlevel", 10); dini_IntSet(CommandFile, "Setwanted", 6); dini_IntSet(CommandFile, "Tban", 9); dini_IntSet(CommandFile, "Time", 3); dini_IntSet(CommandFile, "Weather", 3); } gCommands[AKILL] = dini_Int(CommandFile, "Akill"); gCommands[ANNOUNCE] = dini_Int(CommandFile, "Announce"); gCommands[ARMOURALL] = dini_Int(CommandFile, "Armourall"); gCommands[BAN] = dini_Int(CommandFile, "Ban"); gCommands[CARHP] = dini_Int(CommandFile, "Carhp"); gCommands[EXPLODE] = dini_Int(CommandFile, "Explode"); gCommands[GOTO] = dini_Int(CommandFile, "Goto"); gCommands[GETHERE] = dini_Int(CommandFile, "Gethere"); gCommands[GIVEARMOUR] = dini_Int(CommandFile, "Givearmour"); gCommands[GIVEHEALTH] = dini_Int(CommandFile, "Givehealth"); gCommands[GIVEWEAPON] = dini_Int(CommandFile, "Giveweapon"); gCommands[GOD] = dini_Int(CommandFile, "God"); gCommands[HEALALL] = dini_Int(CommandFile, "Healall"); gCommands[IMITATE] = dini_Int(CommandFile, "Imitate"); gCommands[IP] = dini_Int(CommandFile, "Ip"); gCommands[KICK] = dini_Int(CommandFile, "Kick"); gCommands[MAXAMMO] = dini_Int(CommandFile, "Maxammo"); gCommands[SETLEVEL] = dini_Int(CommandFile, "Setlevel"); gCommands[SETWANTED] = dini_Int(CommandFile, "Setwanted"); gCommands[TBAN] = dini_Int(CommandFile, "Tban"); gCommands[TIME] = dini_Int(CommandFile, "Time"); gCommands[WEATHER] = dini_Int(CommandFile, "Weather"); return 1; } dcmd_register(playerid, params[]) { if(gPlayerInfo[playerid][PLAYER_REGGED] == 1) return SendClientMessage(playerid, COLOUR_ORANGE, "ERROR: You have already registered!"); else if(!params[0]) return SendClientMessage(playerid, COLOUR_ORANGE, "USAGE: /register [password]"); else if(strlen(params) < gSettings[PASS_MIN] || strlen(params) > gSettings[PASS_MAX]) { new string[200]; format(string, sizeof(string), "ERROR: Password must be between %d and $d characters long!", gSettings[PASS_MIN], gSettings[PASS_MAX]); return SendClientMessage(playerid, COLOUR_ORANGE, string); } else { new password = num_hash(params); gPlayerInfo[playerid][PLAYER_PASS] = password; gPlayerInfo[playerid][PLAYER_REGGED] = 1; gPlayerInfo[playerid][PLAYER_LOGGED] = 1; GetPlayerIp(playerid, gPlayerInfo[playerid][PLAYER_IP], 16); new string[256]; format(string, sizeof(string), "You have successfully registered your account with the password \'%s\'. You have been automatically logged in.", params); return SendClientMessage(playerid, COLOUR_LIGHTBLUE, string); } } else if(strlen(params) < gSettings[PASS_MIN] || strlen(params) > gSettings[PASS_MAX]) { new string[200]; format(string, sizeof(string), "ERROR: Password must be between %d and $d characters long!", gSettings[PASS_MIN], gSettings[PASS_MAX]); return SendClientMessage(playerid, COLOUR_ORANGE, string); } dcmd_password(playerid, params[]) { if(gPlayerInfo[playerid][PLAYER_REGGED] != 1) return SendClientMessage(playerid, COLOUR_ORANGE, "ERROR: You must register first to do that! Use /register [password] to register and login."); else if(gPlayerInfo[playerid][PLAYER_LOGGED] == 0) return SendClientMessage(playerid, COLOUR_ORANGE, "ERROR: You must be logged-in to do that! Use /login [password] to login."); else { new tmp[30], tmp2[30], index; tmp = strtok(params, index); if(!strlen(tmp)) return SendClientMessage(playerid, COLOUR_ORANGE, "USAGE: /password [password] [new password]"); tmp2 = strtok(params, index); if(!strlen(tmp2)) return SendClientMessage(playerid, COLOUR_ORANGE, "USAGE: /password [password] [new password]"); new oldpassword = num_hash(tmp), newpassword = num_hash(tmp2); if(gPlayerInfo[playerid][PLAYER_PASS] == oldpassword) { if(oldpassword == newpassword) return SendClientMessage(playerid, COLOUR_ORANGE, "ERROR: Your old password can not be the same as your new password."); else if(strlen(tmp2) < gSettings[PASS_MIN] || strlen(tmp2) > gSettings[PASS_MAX]) { new string[100]; format(string, sizeof(string), "ERROR: Your new password must be between %d and %d characters long!", gSettings[PASS_MIN], gSettings[PASS_MAX]); return SendClientMessage(playerid, COLOUR_ORANGE, string); } gPlayerInfo[playerid][PLAYER_PASS] = newpassword; new string[256]; format(string, sizeof(string), "You have successfully changed your password from \'%s\' to \'%s\'.", tmp, tmp2); return SendClientMessage(playerid, COLOUR_LIGHTBLUE, string); } else return SendClientMessage(playerid, COLOUR_ORANGE, "ERROR: Incorrect password."); } } else if(strlen(tmp2) < gSettings[PASS_MIN] || strlen(tmp2) > gSettings[PASS_MAX]) { new string[100]; format(string, sizeof(string), "ERROR: Your new password must be between %d and %d characters long!", gSettings[PASS_MIN], gSettings[PASS_MAX]); return SendClientMessage(playerid, COLOUR_ORANGE, string); } enum COMMANDS_MAIN { AKILL, ANNOUNCE, ARMOURALL, BAN, CARHP, EXPLODE, FLIP, GOTO, GETHERE, GIVEARMOUR, GIVEHEALTH, GIVEWEAPON, GOD, HEALALL, IMITATE, IP, KICK, MAXAMMO, PING, SETLEVEL, SETWANTED, TBAN, TIME, WEATHER } new gCommands[COMMANDS_MAIN];
errors:
C:\Users\james\Desktop\admin system.pwn(36) : error 017: undefined symbol "gSettings"
C:\Users\james\Desktop\admin system.pwn(36) : error 017: undefined symbol "POCKET_MONEY"
C:\Users\james\Desktop\admin system.pwn(36) : error 029: invalid expression, assumed zero
C:\Users\james\Desktop\admin system.pwn(36) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
4 Errors.
CAN YOU PLEASE HELP ME?!