13.04.2014, 12:59
yo' i got this bug when going off duty
IT should not Take up the Login Dialog and password should be correct
Problem is coming from AdminRelogPassword How to fix it?
IT should not Take up the Login Dialog and password should be correct
Код:
CMD:aduty(playerid, params[]) { if(PlayerInfo[playerid][pAdmin] >= 2) { if(strlen(PlayerInfo[playerid][pAdminName]) > 2 && strlen(PlayerInfo[playerid][pAdminName]) < 20) { new string[128]; if(PlayerInfo[playerid][pAdminDuty] != 0) { if(!doesAccountExist(PlayerInfo[playerid][pAdminName])) { if(Spectating[playerid] > 0 && PlayerInfo[playerid][pAdmin] >= 2) { GettingSpectated[Spectate[playerid]] = 999; Spectating[playerid] = 0; Spectate[playerid] = 999; SetPVarInt(playerid, "SpecOff", 1); TogglePlayerSpectating(playerid, false); SetCameraBehindPlayer(playerid); } new pState = GetPlayerState(playerid); if(pState == PLAYER_STATE_WASTED) { SendClientMessage(playerid, COLOR_GRAD2, "You can't do this while wasted."); return 1; } DeletePVar(playerid, "MedicBill"); DeletePVar(playerid, "HospitalTimer"); DeletePVar(playerid, "Hospital"); DeletePVar(playerid, "Injured"); DeletePVar(playerid, "EMSAttempt"); DeletePVar(playerid, "MedicCall"); TogglePlayerControllable(playerid, 1); ClearAnimations(playerid); PlayerCuffed[playerid] = 0; PlayerCuffedTime[playerid] = 0; DeletePVar(playerid, "PlayerCuffed"); HouseOffer[playerid] = 999; House[playerid] = 0; HousePrice[playerid] = 0; SexOffer[playerid] = 999; SexPrice[playerid] = 0; InviteOffer[playerid]=999; InviteFaction[playerid]=0; InviteFamily[playerid]=255; PotOffer[playerid] = 999; CrackOffer[playerid] = 999; PotPrice[playerid]=0; CrackPrice[playerid]=0; PotGram[playerid]=0; CrackGram[playerid]=0; JailPrice[playerid]=0; DefendOffer[playerid] = 999; DefendPrice[playerid] = 0; GuardOffer[playerid] = 999; GuardPrice[playerid]=0; GunOffer[playerid] = 999; GunId[playerid] = 0; GunMats[playerid] = 0; MatsOffer[playerid] = 999; MatsPrice[playerid] = 0; MatsAmount[playerid] = 0; CraftOffer[playerid] = 999; CraftId[playerid]=0; CraftMats[playerid]=0; VehicleOffer[playerid] = 999; VehiclePrice[playerid] = 0; VehicleId[playerid] = -1; RepairCar[playerid]=0; OnDuty[playerid]=0; TicketOffer[playerid] = 999; TicketMoney[playerid] = 0; arr_Towing[playerid] = INVALID_VEHICLE_ID; GotHit[playerid]=0; GoChase[playerid]=999; GetChased[playerid]=999; DivorceOffer[playerid] = 999; MarryWitness[playerid] = 999; MarryWitnessOffer[playerid] = 999; MarriageCeremoney[playerid] = 0; ProposeOffer[playerid] = 999; ProposedTo[playerid] = 999; GotProposedBy[playerid] = 999; DeletePVar(playerid, "AdminUndercover"); new username[MAX_PLAYER_NAME]; GetPVarString(playerid, "TempNameName", username, sizeof(username)); SetPVarInt(playerid, "TempName", 0); SetPlayerName(playerid, username); PlayerInfo[playerid][pAdminDuty] = 0; format(string, sizeof(string), "%s (ID %d - %s) is now off-duty as a Level %d Admin.", PlayerInfo[playerid][pAdminName], playerid, GetPlayerNameEx(playerid), PlayerInfo[playerid][pAdmin]); ABroadCast(COLOR_WHITE, string, 1); if(PlayerInfo[playerid][pAdmin] > 2 && PlayerInfo[playerid][pAdmin] < 99999) { SendClientMessage(playerid, COLOR_YELLOW, "You're now off-duty as admin, and only have access to /admins /check /jail /ban /sban /kick /skick /showflags /reports /nrn"); } if(PlayerInfo[playerid][pAdmin] == 99999) { SendClientMessage(playerid, COLOR_YELLOW, "You're now off-duty as admin, but still have access to all of your commands since you're a Level 6 Admin."); } SendClientMessage(playerid, COLOR_REALRED, "Please remember to turn off any hacks you may have (press F12 to disable ******)."); //SetPVarInt(playerid, "F12Timer", SetTimerEx("F12Warning", 1000, true, "d", playerid)); OnPlayerLogin(playerid, AdminRelogPassword[playerid]); SetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]); SetPlayerArmourEx(playerid, PlayerInfo[playerid][pArmor]); } else { SendClientMessage(playerid, COLOR_WHITE, "This name is already registered."); } } else { PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid); PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid); GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 32); GetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]); GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]); OnPlayerStatsUpdate(playerid); PhoneOnline[playerid] = 1; for(new i = 0; i < MAX_REPORTS; i++) { if(Reports[i][ReportFrom] == playerid) { Reports[i][ReportFrom] = 999; Reports[i][BeingUsed] = 0; Reports[i][TimeToExpire] = 0; } } if(GotHit[playerid] > 0) { if(GetChased[playerid] < 999) { if(IsPlayerConnected(GetChased[playerid])) { SendClientMessage(GetChased[playerid], COLOR_YELLOW, "Your hit has left the server."); GoChase[GetChased[playerid]] = 999; } } } if(GoChase[playerid] < 999) { GetChased[GoChase[playerid]] = 999; GotHit[GoChase[playerid]] = 999; } SetPVarInt(playerid, "TempName", 1); new username[MAX_PLAYER_NAME]; GetPlayerName(playerid, username, sizeof(username)); SetPVarString(playerid, "TempNameName", username); PlayerInfo[playerid][pAdminDuty] = 1; format(string, sizeof(string), "%s (ID %d - %s) is now on-duty as a Level %d Admin.",PlayerInfo[playerid][pAdminName], playerid, GetPlayerNameEx(playerid), PlayerInfo[playerid][pAdmin]); ABroadCast(COLOR_WHITE, string, 1); SendClientMessage(playerid, COLOR_YELLOW, "You're now on-duty as admin and have access to all your commands, see /ah."); SetPlayerName(playerid, PlayerInfo[playerid][pAdminName]); SendClientMessage(playerid, COLOR_REALRED, "NOTE: {FFFFFF}Before you do anything shit in server please be remember to read the admin rules(/arules)"); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Your health is automatically set to god mode"); if(PlayerInfo[playerid][pAdmin] > 3) { SendClientMessage(playerid, COLOR_REALRED, "NOTE: You need an ****** in order to tp in interiors and make houses.You can get it here (www.adf.ly/epMpK)"); SetPlayerName(playerid, PlayerInfo[playerid][pAdminName]); return 1; } SetPlayerName(playerid, PlayerInfo[playerid][pAdminName]); } } else SendClientMessage(playerid, COLOR_WHITE, "You need an admin name to go on-duty. Contact a Level 5+ Admin to have your admin name set."); } else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!"); return 1; }
Код:
if(dialogid == MAINMENU || dialogid == MAINMENU2) { if(dialogid == MAINMENU) { if( response == 0 ) { SendClientMessageEx(playerid, COLOR_RED, "SERVER: You have been kicked out automatically."); Kick(playerid); } else { if(strlen(inputtext)) { new passbuffer[129], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); WP_Hash(passbuffer, sizeof(passbuffer), inputtext); new tmppass[64]; strmid(tmppass, inputtext, 0, strlen(inputtext), 255); Encrypt(tmppass); OnPlayerLogin(playerid,tmppass); strcpy(AdminRelogPassword[playerid], passbuffer, 129); } else { new loginname[64]; GetPlayerName(playerid,loginname,sizeof(loginname)); ShowPlayerDialog(playerid,MAINMENU,DIALOG_STYLE_INPUT,"Login","Incorrect password. \n \nThat name is registered, you may now enter your password.","Login","Exit"); gPlayerLogTries[playerid] += 1; if(gPlayerLogTries[playerid] == 2) { SendClientMessageEx(playerid, COLOR_RED, "SERVER: Wrong password, you have been kicked out automatically."); Kick(playerid); } } } }