02.08.2010, 17:15
Well i just added a /secure command and when i do /secure or when 3 people do /secure it crashes server can someone please help me fix it is very important thanks heres code.
Heres the AccountMenu function
and heres OnDialogResponse
Thanks please help me fix this ASAP thanks .
Код:
if(strcmp(cmd, "/secure", true) == 0) { if(IsPlayerConnected(playerid)) { if (PlayerToPoint(6.0, playerid,361.8300,173.2659,1008.3828)) { ////printf("Found House :%d",i); AccountMenu(playerid); return 1; } else { SendClientMessage(playerid,COLOR_GREEN,"You are not at the city hall"); return 1; } } }
Код:
forward AccountMenu(playerid,menuid); public AccountMenu(playerid,menuid) { new dstring[1024]; new sex[32]; new origin[32]; switch (menuid) { case 0: { new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, sizeof(playername)); if(PlayerInfo[playerid][pSex] == 1) sex = "Male"; if(PlayerInfo[playerid][pSex] == 2) sex = "Female"; if(PlayerInfo[playerid][pOrigin] == 1) origin = "United States of America"; if(PlayerInfo[playerid][pOrigin] == 2) origin = "Europe"; if(PlayerInfo[playerid][pOrigin] == 3) origin = "Asia"; if(PlayerInfo[playerid][pOrigin] == 4) origin = "Africa"; if(PlayerInfo[playerid][pOrigin] == 5) origin = "Russia"; if(IsPlayerConnected(playerid)) { format(dstring, sizeof(dstring), "Name - (%s)\nPassword - (xxxx)\nAge - (%d)\nSex - (%s)\nOrigin - (%s)\nSocial Security - (%d)\nSell House\nSell Business\nQuit Job",playername,PlayerInfo[playerid][pAge],sex,origin,PlayerInfo[playerid][pSocial]); ShowPlayerDialog(playerid,DACCT,DIALOG_STYLE_LIST,"Government(U.S. Registration)",dstring,"Select","Exit"); return 1; } } case 1: { format(dstring, sizeof(dstring), "Please input your new name, make sure you login with it next time:"); ShowPlayerDialog(playerid,DACCT2,DIALOG_STYLE_INPUT,"Government(U.S. Registration) - Account Name Management",dstring,"Ok","Back"); return 1; } case 2: { format(dstring, sizeof(dstring), "Please input your new password, make sure you login with it next time:"); ShowPlayerDialog(playerid,DACCT3,DIALOG_STYLE_INPUT,"Government(U.S. Registration) - Account Password Management",dstring,"Ok","Back"); return 1; } case 3: { format(dstring, sizeof(dstring), "Please input your new age, make sure you are 17 or older:"); ShowPlayerDialog(playerid,DACCT4,DIALOG_STYLE_INPUT,"Government(U.S. Registration) - Account Age Management",dstring,"Ok","Back"); return 1; } case 4: { format(dstring, sizeof(dstring), "Please select your new sex that you want to change to:"); ShowPlayerDialog(playerid,DACCT5,DIALOG_STYLE_MSGBOX,"Government(U.S. Registration) - Account Sex Management",dstring,"Male","Female"); return 1; } case 5: { format(dstring, sizeof(dstring), "United States of America\nEurope\nAsia\nAfrica\nRussia"); ShowPlayerDialog(playerid,DACCT6,DIALOG_STYLE_LIST,"Government(U.S. Registration) - Account Origin Management",dstring,"Select","Back"); return 1; } case 6: { format(dstring, sizeof(dstring), "Register here for Social Security Number"); ShowPlayerDialog(playerid,DACCT7,DIALOG_STYLE_MSGBOX,"Government(U.S. Registration) - Account Registration Management",dstring,"Register","Back"); return 1; } case 7: { format(dstring, sizeof(dstring), "Are you sure you want to sell your house?"); ShowPlayerDialog(playerid,DACCT8,DIALOG_STYLE_MSGBOX,"(Realstate) - Sell House",dstring,"Yes","Back"); return 1; } case 8: { format(dstring, sizeof(dstring), "Are you sure you want to sell your business?"); ShowPlayerDialog(playerid,DACCT9,DIALOG_STYLE_MSGBOX,"(Realstate) -Sell business",dstring,"Yes","Back"); return 1; } case 9: { format(dstring, sizeof(dstring), "Are you sure you want to quit your job?"); ShowPlayerDialog(playerid,DACCT10,DIALOG_STYLE_MSGBOX,"(Manager) - Quit Job",dstring,"Yes","Back"); return 1; } } }
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new idcar = GetPlayerVehicleID(playerid); /*if(dialogid == 1) { if(!response) SendClientMessage(playerid, 0xFFFFFFFF, "You canceled!"); new string[128]; new sendername[MAX_PLAYER_NAME]; GetPlayerName(playerid, sendername, sizeof(sendername)); if((strcmp("Johny_Thunder", inputtext, true, strlen(inputtext)) == 0) && (strlen(inputtext) == strlen("Johny_Thunder"))) { SendClientMessage(playerid, COLOR_WHITE, "Thank you for voting."); PlayerInfo[playerid][pVoted] = 1; Votes[0] ++; format(string, sizeof(string), "%s Voted for Johny Thunder.", sendername); VoteLog(string); } else if((strcmp("Megan_Homes", inputtext, true, strlen(inputtext)) == 0) && (strlen(inputtext) == strlen("Megan_Homes"))) { SendClientMessage(playerid, COLOR_WHITE, "Thank you for voting."); PlayerInfo[playerid][pVoted] = 1; Votes[1] ++; format(string, sizeof(string), "%s Voted for Megan Homes.", sendername); VoteLog(string); } else if((strcmp("Kin_Kohaku_Inagawa", inputtext, true, strlen(inputtext)) == 0) && (strlen(inputtext) == strlen("Kin_Kohaku_Inagawa"))) { SendClientMessage(playerid, COLOR_WHITE, "Thank you for voting."); PlayerInfo[playerid][pVoted] = 1; Votes[2] ++; format(string, sizeof(string), "%s Voted for Kin Kohaku Inagawa.", sendername); VoteLog(string); } else { SendClientMessage(playerid, COLOR_LIGHTRED, "Invalid Name, Firstname_Lastname."); } return 1; }*/ //-------------------------Government Registration-----------------------------------// if (dialogid == DACCT) { if (response == 1) { switch (listitem) { case 0: { AccountMenu(playerid,1); } case 1: { AccountMenu(playerid,2); } case 2: { AccountMenu(playerid,3); } case 3: { AccountMenu(playerid,4); } case 4: { AccountMenu(playerid,5); } case 5: { AccountMenu(playerid,6); } case 6: { AccountMenu(playerid,7); } case 7: { AccountMenu(playerid,8); } case 8: { AccountMenu(playerid,9); } case 9: { AccountMenu(playerid,10); } } } } if (dialogid == DACCT2) { if (response == 1) { new string[256]; new sendername[MAX_PLAYER_NAME]; new sendername2[MAX_PLAYER_NAME]; GetPlayerName(playerid, sendername2, sizeof(sendername2)); GetPlayerName(playerid, sendername, sizeof(sendername)); if(PlayerInfo[playerid][pChanges] == 0) { if(GetPlayerPCash(playerid) < 100000) { SendClientMessage(playerid, COLOR_GRAD2, "You need Atleast $150,000 to get a name change."); return 1; } } format(string, sizeof(string), "users/%s.ini", inputtext); if(dini_Exists(string)) { SendClientMessage(playerid, COLOR_WHITE, "User Already Exist."); return 1; } if(!NameIsRP(inputtext)) { SendClientMessage(playerid, COLOR_YELLOW2, "Immigration: your name is not acceptable."); return 1; } PlayerInfo[playerid][pBanned] = 1; OnPlayerDataSave(playerid); if(PlayerInfo[playerid][pChanges] == 0) { GivePlayerPCash(playerid,-100000); } else { PlayerInfo[playerid][pChanges] --; } format(string, 256, "AdmWarning: %s has changed his name to %s.", sendername,inputtext); ABroadCast(COLOR_YELLOW,string,1); format(string, sizeof(string), "Your name has been changed to %s ",inputtext); SendClientMessage(playerid,COLOR_WHITE,string); PayLog(string); new stringpass[256]; format(string, sizeof(string), "users/%s.ini", sendername); stringpass = dini_Get(string, "Key"); SetPlayerName(playerid, inputtext); PlayerInfo[playerid][pBanned] = 0; format(string, sizeof(string), "users/%s.ini", inputtext); if(!dini_Exists(string)) { dini_Create(string); dini_Set(string, "Key", stringpass); } OnPlayerDataSave(playerid); if(PlayerInfo[playerid][pCarkey] != SCRIPT_CARS) { if(strcmp(CarInfo[PlayerInfo[playerid][pCarkey]][cOwner], sendername2, true) == 0) { strmid(CarInfo[PlayerInfo[playerid][pCarkey]][cOwner], inputtext, 0, strlen(inputtext), 255); SaveCars(); } } if(PlayerInfo[playerid][pCarkey2] != SCRIPT_CARS) { if(strcmp(CarInfo[PlayerInfo[playerid][pCarkey2]][cOwner], sendername2, true) == 0) { strmid(CarInfo[PlayerInfo[playerid][pCarkey2]][cOwner], inputtext, 0, strlen(inputtext), 255); SaveCars(); } } if(PlayerInfo[playerid][pCarkey3] != SCRIPT_CARS) { if(strcmp(CarInfo[PlayerInfo[playerid][pCarkey3]][cOwner], sendername2, true) == 0) { strmid(CarInfo[PlayerInfo[playerid][pCarkey3]][cOwner], inputtext, 0, strlen(inputtext), 255); SaveCars(); } } if(PlayerInfo[playerid][pHousekey] != 255) { if(strcmp(HouseInfo[PlayerInfo[playerid][pHousekey]][hOwner], sendername2, true) == 0) { strmid(HouseInfo[PlayerInfo[playerid][pHousekey]][hOwner], inputtext, 0, strlen(inputtext), 255); OnPropUpdate(); } } if(PlayerInfo[playerid][pPbiskey] != 255) { if (PlayerInfo[playerid][pPbiskey] >= 100) { if(strcmp(SBizzInfo[PlayerInfo[playerid][pPbiskey]][sbOwner], sendername2, true) == 0) { strmid(SBizzInfo[PlayerInfo[playerid][pPbiskey]][sbOwner], inputtext, 0, strlen(inputtext), 255); OnPropUpdate(); } else { if(strcmp(BizzInfo[PlayerInfo[playerid][pPbiskey]][bOwner], sendername2, true) == 0) { strmid(BizzInfo[PlayerInfo[playerid][pPbiskey]][bOwner], inputtext, 0, strlen(inputtext), 255); OnPropUpdate(); } } } } } else { //AccountMenu(playerid,0); } } if (dialogid == DACCT3) { if (response == 1) { new string[256]; strmid(PlayerInfo[playerid][pPassword], inputtext, 0, strlen(inputtext), 255); SendClientMessage(playerid, COLOR_YELLOW, " Password has been changed successfuly"); format(string, sizeof(string), "users/%s.ini", PlayerName(playerid)); if(dini_Exists(string)) { dini_Create(string); dini_Set(string, "Key", PlayerInfo[playerid][pPassword]); } OnPlayerDataSave(playerid); } else { } } if (dialogid == DACCT4) { if (response == 1) { if(IsNull(inputtext)) { AccountMenu(playerid,3); return 1; } if(strval(inputtext) <= 16) { AccountMenu(playerid,3); return 1; } if(strval(inputtext) >= 100) { AccountMenu(playerid,3); return 1; } PlayerInfo[playerid][pAge] = strval(inputtext); new string[256]; format(string, sizeof(string), "Your age is now %d ",PlayerInfo[playerid][pAge]); SendClientMessage(playerid,COLOR_WHITE,string); OnPlayerDataSave(playerid); } else { } } if (dialogid == DACCT5) { if (response == 1) { PlayerInfo[playerid][pSex] = 1; SendClientMessage(playerid,COLOR_WHITE,"You are now a Male"); OnPlayerDataSave(playerid); } else { PlayerInfo[playerid][pSex] = 2; SendClientMessage(playerid,COLOR_WHITE,"You are now a Female"); OnPlayerDataSave(playerid); } } if (dialogid == DACCT6) { if (response == 1) { switch (listitem) { case 0: { PlayerInfo[playerid][pOrigin] = 1; SendClientMessage(playerid,COLOR_WHITE,"You are now from United Staes Of America"); OnPlayerDataSave(playerid); //AccountMenu(playerid,0); } case 1: { PlayerInfo[playerid][pOrigin] = 2; SendClientMessage(playerid,COLOR_WHITE,"You are now from Europe"); OnPlayerDataSave(playerid); //AccountMenu(playerid,0); } case 2: { PlayerInfo[playerid][pOrigin] = 3; SendClientMessage(playerid,COLOR_WHITE,"You are now from Asia"); OnPlayerDataSave(playerid); //AccountMenu(playerid,0); } case 3: { PlayerInfo[playerid][pOrigin] = 4; SendClientMessage(playerid,COLOR_WHITE,"You are now from Africa"); OnPlayerDataSave(playerid); //AccountMenu(playerid,0); } case 4: { PlayerInfo[playerid][pOrigin] = 5; SendClientMessage(playerid,COLOR_WHITE,"You are now from Russia"); OnPlayerDataSave(playerid); //AccountMenu(playerid,0); } } } else { //AccountMenu(playerid,0); } } if (dialogid == DACCT7) { if (response == 1) { new randsocial = 1000 + random(9999999); PlayerInfo[playerid][pSocial] = randsocial; new string[256]; format(string, sizeof(string), "You have just registerd as a U.S. Citizen social security(%d) ",PlayerInfo[playerid][pSocial]); SendClientMessage(playerid,COLOR_WHITE,string); OnPlayerDataSave(playerid); //AccountMenu(playerid,0); } else { //AccountMenu(playerid,0); } } if (dialogid == DACCT8) { if (response == 1) { if(PlayerInfo[playerid][pHousekey] == 255) { //AccountMenu(playerid,0); return 1; } new string[256]; new sendername[MAX_PLAYER_NAME]; new house = PlayerInfo[playerid][pHousekey]; RemoveAllFurn(house); HouseInfo[house][hHel] = 0; HouseInfo[house][hArm] = 0; HouseInfo[house][hSafe] = 0; HouseInfo[house][hFridge] = 0; HouseInfo[house][hClothes] = 0; HouseInfo[house][hClothes2] = 0; HouseInfo[house][hClothes3] = 0; HouseInfo[house][hHealthx] = 0; HouseInfo[house][hHealthy] = 0; HouseInfo[house][hHealthz] = 0; HouseInfo[house][hArmourx] = 0; HouseInfo[house][hArmoury] = 0; HouseInfo[house][hArmourz] = 0; HouseInfo[house][hLock] = 0; HouseInfo[house][hOwned] = 0; HouseInfo[house][hVec] = 418; HouseInfo[house][hVcol1] = -1; HouseInfo[house][hVcol2] = -1; SafeInfo[house][sDrugs] = 0; SafeInfo[house][sMats] = 0; SafeInfo[house][sGun][0] = 0; SafeInfo[house][sGun][1] = 0; SafeInfo[house][sGun][2] = 0; SafeInfo[house][sGun][3] = 0; SafeInfo[house][sAmmo][0] = 0; SafeInfo[house][sAmmo][1] = 0; SafeInfo[house][sAmmo][2] = 0; SafeInfo[house][sAmmo][3] = 0; GetPlayerName(playerid, sendername, sizeof(sendername)); strmid(HouseInfo[house][hOwner], "The State", 0, strlen("The State"), 255); GivePlayerPCash(playerid,HouseInfo[house][hValue]); PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); format(string, sizeof(string), "~w~Congratulations~n~ You have sold your property for ~n~~g~$%d", HouseInfo[house][hValue]); GameTextForPlayer(playerid, string, 10000, 3); PlayerInfo[playerid][pHousekey] = 255; DestroyPickup(HouseInfo[house][hPickupID2]); HouseInfo[house][hPickupID]=CreatePickup(1273, 1, HouseInfo[house][hEntrancex], HouseInfo[house][hEntrancey], HouseInfo[house][hEntrancez]); Delete3DTextLabel(Text5); Delete3DTextLabel(Text3); OnPropUpdate(); SaveSafe(); OnPlayerDataSave(playerid); } else { //AccountMenu(playerid,0); } } if (dialogid == DACCT9) { if (response == 1) { if(PlayerInfo[playerid][pPbiskey] == 255) { //AccountMenu(playerid,0); return 1; } new string[256]; new sendername[MAX_PLAYER_NAME]; new bouse = PlayerInfo[playerid][pPbiskey]; BizzInfo[bouse][bLocked] = 1; BizzInfo[bouse][bOwned] = 0; GetPlayerName(playerid, sendername, sizeof(sendername)); strmid(BizzInfo[bouse][bOwner], "The State", 0, strlen("The State"), 255); strmid(BizzInfo[bouse][bExtortion], "No-one", 0, strlen("No-one"), 255); //ConsumingMoney[playerid] = 1; GivePlayerPCash(playerid,BizzInfo[bouse][bTill]); PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); format(string, sizeof(string), "~w~Congratulations~n~ You have sold your property for ~n~~g~$%d", BizzInfo[bouse][bBuyPrice]); GameTextForPlayer(playerid, string, 10000, 3); DestroyPickup(BizzInfo[bouse][bPickupID]); BizzInfo[bouse][bPickupID]=CreatePickup(1272, 1, BizzInfo[bouse][bEntranceX], BizzInfo[bouse][bEntranceY], BizzInfo[bouse][bEntranceZ]); BizzInfo[bouse][bTill] = 0; PlayerInfo[playerid][pPbiskey] = 255; OnPropUpdate(); GivePlayerPCash(playerid,BizzInfo[bouse][bBuyPrice]); } else { //AccountMenu(playerid,0); } } if (dialogid == DACCT10) { if (response == 1) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have quit your job"); PlayerInfo[playerid][pJob] = 0; } else { //AccountMenu(playerid,0); } }