22.06.2016, 16:58
(
Последний раз редактировалось CarRamper; 22.06.2016 в 17:01.
Причина: Because i have written wrong Tile
)
Hello guys my problem is that when ever i comes to the server with different name without my registration it makes a account of mine in scriptfile
i think i should show u my onplayerconnect so here is it
here is my onplayerconnect
here is my on player disconnect
here is my ondialogresponse
If You Need Some Other Code Please Tell Me But Please Help me To Fix It.I Want That When A person type his password and hit the register button then the script make his account in scriptfile not before it
i think i should show u my onplayerconnect so here is it
here is my onplayerconnect
Код:
public OnPlayerConnect(playerid) { TextDrawShowForPlayer(playerid,Intro0); TextDrawShowForPlayer(playerid,Intro1); TextDrawShowForPlayer(playerid,Intro2); TextDrawShowForPlayer(playerid,Intro3); TextDrawShowForPlayer(playerid,Intro4); SetTimerEx("T2", 10000, false, "i", playerid); } forward T2(playerid); public T2(playerid) { TextDrawHideForAll(Intro0); TextDrawHideForAll(Intro1); TextDrawHideForAll(Intro2); TextDrawHideForAll(Intro3); TextDrawHideForAll(Intro4); if(fexist(UserPath(playerid))) { new string [ 240 ]; INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid); new pName[MAX_PLAYER_NAME]; GetPlayerName(playerid, pName, sizeof(pName)); format(string, sizeof(string), ""COL_WHITE"{0066FF}BilluGang Cops And Robbers\n\n{0099FF}Player Login\n\n{FFFFFF}This nick,{0099FF}%s{FFFFFF},is Registered.\nIf this is not your account,please quit and change your nick.\n\nPlease {FFFF66}Enter Your Password {FFFFFF}To Login:", pName); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""COL_WHITE"{FFFFFF}CnR {FFFFFF}Login", string, "Login", "Cancel"); } else { new string [ 300 ]; INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid); new pName[MAX_PLAYER_NAME]; GetPlayerName(playerid, pName, sizeof(pName)); format(string, sizeof(string), ""COL_WHITE"{0066FF}BilluGang Cops And Robbers\n\n{999999}New Registration\n{FFFFFF}Nick:{0099FF}%s\n\n{FFFFFF}Do {FF0000}Not {FFFFFF}Register Multiple Accounts\n{FFFFFF}Do {FF0000}Not {FFFFFF}Use The Game Password That You Use Elsewhere\n\nPlease {FFFF66}Enter Your Password {FFFFFF}For Your Account:", pName); ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"{FFFFFF}CnR {FFFFFF}Registration", string, "Register", "Cancel"); } new ConnIP[16]; GetPlayerIp(playerid,ConnIP,16); new compare_IP[16]; new number_IP = 0; for(new i=0; i<MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { GetPlayerIp(i,compare_IP,16); if(!strcmp(compare_IP,ConnIP)) number_IP++; } } if((GetTickCount() - Join_Stamp) < Time_Limit) exceed=1; else exceed=0; if(strcmp(ban_s, ConnIP, false) == 0 && exceed == 1 ) { Same_IP++; if(Same_IP > SAME_IP_CONNECT) { Ban(playerid); Same_IP=0; } } else { Same_IP=0; } if(number_IP > IP_LIMIT) Ban(playerid); GetStampIP(playerid); new joinMsg[128], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); format(joinMsg, sizeof(joinMsg), "4[%d] 03*** %s has joined the server.", playerid, name); IRC_GroupSay(gGroupID, IRC_CHANNEL, joinMsg); TextDrawShowForPlayer(playerid, WantedLvlTxd[playerid]); TextDrawShowForPlayer(playerid, DrugTxd[playerid]); TextDrawShowForPlayer(playerid, DrugTxd[playerid]); LocationTD[playerid] = TextDrawCreate(8.000000, 430.000000, "_"); TextDrawBackgroundColor(LocationTD[playerid], 255); TextDrawFont(LocationTD[playerid], 2); TextDrawLetterSize(LocationTD[playerid], 0.400000, 1.000000); TextDrawColor(LocationTD[playerid], -1); TextDrawSetOutline(LocationTD[playerid], 1); TextDrawSetProportional(LocationTD[playerid], 1); TextDrawUseBox(LocationTD[playerid], 1); TextDrawBoxColor(LocationTD[playerid], 80); TextDrawTextSize(LocationTD[playerid], 222.000000, 18.000000); XDeaths[playerid] = 0; LastDeath[playerid] = 0; IsRobbing[playerid] =0; IsBankRobbing[playerid] =0; IsApRobbing[playerid] =0; zoneupdates[playerid] =1; DescriptionText[playerid] = TextDrawCreate(320.0, 380.0, " "); TextDrawAlignment(DescriptionText[playerid], 2); TextDrawFont(DescriptionText[playerid], 1); TextDrawLetterSize(DescriptionText[playerid], 0.320000, 1.700000); TextDrawSetOutline(DescriptionText[playerid], 1); TextDrawHideForPlayer(playerid, DescriptionText[playerid]); new string[128], pName[MAX_PLAYER_NAME]; GetPlayerName(playerid,pName,MAX_PLAYER_NAME); new plrIP[16]; GetPlayerIp(playerid, plrIP, sizeof(plrIP)); format(string,sizeof string,"%s has joined the server with the ip %s",pName,plrIP); JoinsLog(string); for( new i = 0; i <= 50; i ++ ) SendClientMessage(playerid,COLOR_WHITE, "" ); SendClientMessage(playerid, COLOR_WHITE, "{FFFFFF}Welcome to {0066FF}Billu Gang Cops And Robbers{FFFFFF}-{0099FF}San Fierro{FFFF33}Version 1.1."); SendClientMessage(playerid, COLOR_WHITE, "{FFFFFF}Type {FFFF33}/rules /cmds /help {FFFFFF}or visit {0099FF}cod8aw.tk {FFFFFF}For Game Info."); SendClientMessage(playerid, COLOR_WHITE, "{FF0000}Warning!{FFFFFF} This server (and GTA In General) Contains Explicit Material."); for(new i;i<sizeof(Coords);i++) SetPlayerMapIcon(playerid,i,Coords[i][X],Coords[i][Y],Coords[i][Z],Coords[i][ID],0,MAPICON_LOCAL); return 1; }
Код:
public OnPlayerDisconnect(playerid, reason) { SendDeathMessage(INVALID_PLAYER_ID,playerid,201); new leaveMsg[128], name[MAX_PLAYER_NAME], reasonMsg[8]; switch(reason) { case 0: reasonMsg = "Timeout"; case 1: reasonMsg = "Leaving"; case 2: reasonMsg = "Kicked"; } GetPlayerName(playerid, name, sizeof(name)); format(leaveMsg, sizeof(leaveMsg), "4[%d] 03*** %s has left the server. (%s)", playerid, name, reasonMsg); IRC_GroupSay(gGroupID, IRC_CHANNEL, leaveMsg); new INI:File = INI_Open(UserPath(playerid)); INI_SetTag(File,"data"); INI_WriteInt(File,"Cash",GetPlayerMoney(playerid)); INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]); INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]); INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]); INI_WriteInt(File,"WantedLevel",GetPlayerWantedLevel(playerid)); INI_WriteInt(File,"Vip",PlayerInfo[playerid][pVip]); INI_WriteInt(File,"Score",GetPlayerScore(playerid)); INI_WriteInt(File,"Condoms",PlayerInfo[playerid][pCondoms]); INI_WriteInt(File,"Banned",PlayerInfo[playerid][pBanned]); INI_WriteInt(File,"Jailed",PlayerInfo[playerid][pJailed]); INI_WriteInt(File,"Drugs",PlayerInfo[playerid][pDrug]); INI_WriteInt(File,"Nopm",PlayerInfo[playerid][pNopm]); INI_WriteInt(File,"Bank",PlayerInfo[playerid][pBank]); INI_WriteInt(File,"Sausages",PlayerInfo[playerid][pSausage]); INI_WriteInt(File,"PassChange",PlayerInfo[playerid][pPassChange]); INI_WriteInt(File,"Mute",PlayerInfo[playerid][pMuted]); INI_Close(File); if(ireconnect[playerid] == 1) { new unbanningip[16], string[128]; GetPVarString(playerid, "reconnect", unbanningip, 16); format(string,sizeof(string),"unbanip %s", unbanningip); SendRconCommand(string); printf(string); SendRconCommand("reloadbans"); ireconnect[playerid] = 0; } TextDrawDestroy(LocationTD[playerid]); 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, "Registering...","{FF0000}You have entered an invalid password.\n""Type your password below to register a new account.","Register","Quit"); new INI:File = INI_Open(UserPath(playerid)); INI_SetTag(File,"data"); INI_WriteInt(File,"Password",udb_hash(inputtext)); INI_WriteInt(File,"Cash",0); INI_WriteInt(File,"Admin",0); INI_WriteInt(File,"Kills",0); INI_WriteInt(File,"Deaths",0); INI_WriteInt(File,"WantedLevel",0); INI_WriteInt(File,"Vip",0); INI_WriteInt(File,"Score",0); INI_WriteInt(File,"Condoms",0); INI_WriteInt(File,"Banned",0); INI_WriteInt(File,"Jailed",0); INI_WriteInt(File,"Drugs",0); INI_WriteInt(File,"Nopm",0); INI_WriteInt(File,"Bank",0); INI_WriteInt(File,"Sausages",0); INI_WriteInt(File,"PassChange",0); INI_WriteInt(File,"Mute",0); INI_Close(File); INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid); TextDrawShowForPlayer(playerid,Textdraw0); TextDrawShowForPlayer(playerid,Textdraw1); TextDrawShowForPlayer(playerid,Textdraw2); TextDrawShowForPlayer(playerid,Textdraw3); TextDrawShowForPlayer(playerid,Textdraw4); TextDrawShowForPlayer(playerid,Textdraw5); TextDrawShowForPlayer(playerid,Textdraw6); TextDrawShowForPlayer(playerid,Textdraw7); TextDrawShowForPlayer(playerid,Textdraw8); TextDrawShowForPlayer(playerid,Textdraw9); TextDrawShowForPlayer(playerid,Textdraw10); } } 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]); SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pWantedLevel]); SetPlayerScore(playerid, PlayerInfo[playerid][pScore]); ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,"{008000}Success!","{FFFF00}You have successfully logged in!","Ok",""); } else { new string [ 280 ]; INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid); new pName[MAX_PLAYER_NAME]; GetPlayerName(playerid, pName, sizeof(pName)); format(string, sizeof(string), ""COL_WHITE"{0066FF}BilluGang Cops And Robbers\n\n{0099FF}Player Login\n\n{FF0000}INVALID PASSWORD!\n\n{FFFFFF}This nick,{0099FF}%s{FFFFFF},is Registered.\nIf this is not your account,please quit and change your nick.\n\nPlease {FFFF66}Enter Your Password {FFFFFF}To Login:", pName); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""COL_WHITE"{FFFFFF}CnR {FFFFFF}Login", string, "Login", "Cancel"); } return 1; }