06.09.2017, 05:50
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:
Script:
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.
Код:
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
//+-+-+-+-+-+-+-+-+-+-+-+-+-+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;
}


