24.05.2015, 03:23
hi i am using AVS car system and when i try to buy it says: Buy or Cancel , when i press Cancel i get kicked it say Server Closed Connection can some1 help me ?
ShowDialog(playerid, dialogid) { switch(dialogid) { case DIALOG_VEHICLE: { new vehicleid = GetPVarInt(playerid, "DialogValue1"); new caption[32], info[256]; format(caption, sizeof(caption), "Vehicle ID %d", vehicleid); strcat(info, "Engine\nLights\nHood\nTrunk", sizeof(info)); strcat(info, "\nFill Tank", sizeof(info)); if(GetPlayerVehicleAccess(playerid, vehicleid) >= 2) { new value = VehicleValue[vehicleid]/2; format(info, sizeof(info), "%s\nSell Vehicle ($%d)\nPark Vehicle\nEdit License Plate", info, value); } ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_LIST, caption, info, "Select", ""); } case DIALOG_VEHICLE_BUY: { new vehicleid = GetPVarInt(playerid, "DialogValue1"); new caption[32], info[256]; format(caption, sizeof(caption), "Vehicle ID %d", vehicleid); format(info, sizeof(info), "This vehicle is for sale ($%d)\n-", VehicleValue[vehicleid]); ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_MSGBOX, caption, info, "BUY", "CANCEL"); } case DIALOG_VEHICLE_SELL: { new targetid = GetPVarInt(playerid, "DialogValue1"); new id = GetPVarInt(playerid, "DialogValue2"); new price = GetPVarInt(playerid, "DialogValue3"); new info[256]; format(info, sizeof(info), "%s (%d) wants to sell you a %s for $%d.", PlayerName(targetid), targetid, VehicleNames[VehicleModel[id]-400], price); strcat(info, "\n\nWould you like to buy?", sizeof(info)); ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_MSGBOX, "Buy Vehicle", info, "Yes", "No"); } case DIALOG_TRUNK: { new vehicleid = GetPVarInt(playerid, "DialogValue1"); new name[32], info[256]; for(new i=0; i < sizeof(VehicleTrunk[]); i++) { if(VehicleTrunk[vehicleid][i][1] > 0) { GetWeaponName(VehicleTrunk[vehicleid][i][0], name, sizeof(name)); format(info, sizeof(info), "%s%d. %s (%d)\n", info, i+1, name, VehicleTrunk[vehicleid][i][1]); } else { format(info, sizeof(info), "%s%d. Empty\n", info, i+1); } } ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_LIST, "Trunk", info, "Select", "Cancel"); } case DIALOG_TRUNK_ACTION: { new info[128]; strcat(info, "Put Into Trunk\nTake From Trunk", sizeof(info)); ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_LIST, "Trunk", info, "Select", "Cancel"); } case DIALOG_VEHICLE_PLATE: { ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_INPUT, "Edit License Plate", "Enter new license plate:", "Change", "Back"); } case DIALOG_FUEL: { new info[128]; strcat(info, "Refuel Vehicle ($" #FUEL_PRICE ")\nBuy Gas Can ($" #GAS_CAN_PRICE ")", sizeof(info)); ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_LIST, "Fuel Station", info, "OK", "Cancel"); } case DIALOG_EDITVEHICLE: { new vehicleid = GetPVarInt(playerid, "DialogValue1"); new caption[32], info[256]; format(caption, sizeof(caption), "Edit Vehicle ID %d", vehicleid); format(info, sizeof(info), "1. Value: [$%d]\n2. Model: [%d (%s)]\n3. Colors: [%d] [%d]\n4. License Plate: [%s]", VehicleValue[vehicleid], VehicleModel[vehicleid], VehicleNames[VehicleModel[vehicleid]-400], VehicleColor[vehicleid][0], VehicleColor[vehicleid][1], VehicleNumberPlate[vehicleid]); strcat(info, "\n5. Delete Vehicle\n6. Park Vehicle\n7. Go To Vehicle", sizeof(info)); strcat(info, "\n\nEnter: [nr] [value1] [value2]", sizeof(info)); ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_INPUT, caption, info, "OK", "Cancel"); } } return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_ERROR) { ShowDialog(playerid, DialogReturn[playerid]); return 1; } DialogReturn[playerid] = dialogid; if(dialogid == DIALOG_VEHICLE) { if(response) { switch(listitem) { case 0: { new vehicleid = GetPlayerVehicleID(playerid); new engine, lights, alarm, doors, bonnet, boot, objective; GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); if(engine == 0 && Fuel[vehicleid] <= 0) { ShowErrorDialog(playerid, "This vehicle is out of fuel!"); return 1; } if(engine == 1) { engine = 0; lights = 0; } else { engine = 1; lights = 1; } SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); } case 1: { new vehicleid = GetPlayerVehicleID(playerid); new engine, lights, alarm, doors, bonnet, boot, objective; GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); if(lights == 1) lights = 0; else lights = 1; SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); } case 2: { new vehicleid = GetPlayerVehicleID(playerid); new engine, lights, alarm, doors, bonnet, boot, objective; GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); if(bonnet == 1) bonnet = 0; else bonnet = 1; SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); } case 3: { new vehicleid = GetPlayerVehicleID(playerid); new engine, lights, alarm, doors, bonnet, boot, objective; GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); if(boot == 1) boot = 0; else boot = 1; SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); } case 4: { if(!GetPVarInt(playerid, "GasCan")) { ShowErrorDialog(playerid, "You don't have a gas can!"); return 1; } new vehicleid = GetPlayerVehicleID(playerid); if(Fuel[vehicleid] < 80.0) Fuel[vehicleid] += 20.0; else Fuel[vehicleid] = 100.0; SetPVarInt(playerid, "GasCan", 0); SendClientMessage(playerid, COLOR_WHITE, "You have filled the fuel tank with 20 fuel"); } case 5: { new id = GetPVarInt(playerid, "DialogValue1"); if(GetPlayerVehicleAccess(playerid, id) < 2) { ShowErrorDialog(playerid, "You are not the owner of this vehicle!"); return 1; } new msg[128]; VehicleCreated[id] = 0; new money = VehicleValue[id]/2; GivePlayerMoney(playerid, money); format(msg, sizeof(msg), "You have sold your vehicle for $%d", money); SendClientMessage(playerid, COLOR_WHITE, msg); RemovePlayerFromVehicle(playerid); DestroyVehicle(VehicleID[id]); SaveVehicle(id); } case 6: { new vehicleid = GetPVarInt(playerid, "DialogValue1"); if(GetPlayerVehicleAccess(playerid, vehicleid) < 2) { ShowErrorDialog(playerid, "You are not the owner of this vehicle!"); return 1; } GetVehiclePos(VehicleID[vehicleid], VehiclePos[vehicleid][0], VehiclePos[vehicleid][1], VehiclePos[vehicleid][2]); GetVehicleZAngle(VehicleID[vehicleid], VehiclePos[vehicleid][3]); VehicleInterior[vehicleid] = GetPlayerInterior(playerid); VehicleWorld[vehicleid] = GetPlayerVirtualWorld(playerid); SendClientMessage(playerid, COLOR_WHITE, "You have parked this vehicle here"); UpdateVehicle(vehicleid, 1); PutPlayerInVehicle(playerid, VehicleID[vehicleid], 0); SaveVehicle(vehicleid); } case 7: { ShowDialog(playerid, DIALOG_VEHICLE_PLATE); } } } return 1; } if(dialogid == DIALOG_VEHICLE_BUY) { if(response) { if(GetPlayerVehicles(playerid) >= MAX_PLAYER_VEHICLES) { ShowErrorDialog(playerid, "You can't buy any more vehicles! Max: " #MAX_PLAYER_VEHICLES ); return 1; } new id = GetPVarInt(playerid, "DialogValue1"); if(GetPlayerMoney(playerid) < VehicleValue[id]) { ShowErrorDialog(playerid, "You don't have enough money to buy this vehicle!"); return 1; } new freeid = GetFreeVehicleID(); if(!freeid) { ShowErrorDialog(playerid, "Vehicle dealership is out of stock!"); return 1; } GivePlayerMoney(playerid, -VehicleValue[id]); new dealerid = strval(VehicleOwner[id]); VehicleCreated[freeid] = VEHICLE_PLAYER; VehicleModel[freeid] = VehicleModel[id]; VehiclePos[freeid] = DealershipPos[dealerid]; VehicleColor[freeid] = VehicleColor[id]; VehicleInterior[freeid] = VehicleInterior[id]; VehicleWorld[freeid] = VehicleWorld[id]; VehicleValue[freeid] = VehicleValue[id]; GetPlayerName(playerid, VehicleOwner[freeid], sizeof(VehicleOwner[])); VehicleNumberPlate[freeid] = DEFAULT_NUMBER_PLATE; for(new d=0; d < sizeof(VehicleTrunk[]); d++) { VehicleTrunk[freeid][d][0] = 0; VehicleTrunk[freeid][d][1] = 0; } for(new d=0; d < sizeof(VehicleMods[]); d++) { VehicleMods[freeid][d] = 0; } VehiclePaintjob[freeid] = 255; VehicleLock[freeid] = 0; VehicleAlarm[freeid] = 0; UpdateVehicle(freeid, 0); SaveVehicle(freeid); new msg[128]; format(msg, sizeof(msg), "You have bought this vehicle for $%d", VehicleValue[id]); SendClientMessage(playerid, COLOR_WHITE, msg); } else { new id = GetPVarInt(playerid, "DialogValue1"); if(GetPlayerVehicleAccess(playerid, id) < 1) { RemovePlayerFromVehicle(playerid); } } return 1; } if(dialogid == DIALOG_VEHICLE_SELL) { if(response) { if(GetPlayerVehicles(playerid) >= MAX_PLAYER_VEHICLES) { ShowErrorDialog(playerid, "You can't buy any more vehicles! Max: " #MAX_PLAYER_VEHICLES ); return 1; } new targetid = GetPVarInt(playerid, "DialogValue1"); new id = GetPVarInt(playerid, "DialogValue2"); new price = GetPVarInt(playerid, "DialogValue3"); if(GetPlayerMoney(playerid) < price) { ShowErrorDialog(playerid, "You don't have enough money to buy this vehicle!"); return 1; } new msg[128]; GetPlayerName(playerid, VehicleOwner[id], sizeof(VehicleOwner[])); GivePlayerMoney(playerid, -price); GivePlayerMoney(targetid, price); SaveVehicle(id); format(msg, sizeof(msg), "You have bought this vehicle for $%d", price); SendClientMessage(playerid, COLOR_WHITE, msg); format(msg, sizeof(msg), "%s (%d) has accepted your offer and bought the vehicle", PlayerName(playerid), playerid); SendClientMessage(targetid, COLOR_WHITE, msg); } else { new targetid = GetPVarInt(playerid, "DialogValue1"); new msg[128]; format(msg, sizeof(msg), "%s (%d) refused your offer", PlayerName(playerid), playerid); SendClientMessage(targetid, COLOR_WHITE, msg); } return 1; } if(dialogid == DIALOG_FINDVEHICLE) { if(response) { new id; sscanf(inputtext[4], "d", id); if(IsValidVehicle(id)) { TrackCar[playerid] = VehicleID[id]; SendClientMessage(playerid, COLOR_WHITE, "Your vehicle's location is shown on your minimap"); } } return 1; } if(dialogid == DIALOG_TRUNK) { if(response) { SetPVarInt(playerid, "DialogValue2", listitem); ShowDialog(playerid, DIALOG_TRUNK_ACTION); } else { new id = GetPVarInt(playerid, "DialogValue1"); ToggleBoot(VehicleID[id], VEHICLE_PARAMS_OFF); } return 1; } if(dialogid == DIALOG_TRUNK_ACTION) { if(response) { new id = GetPVarInt(playerid, "DialogValue1"); new slot = GetPVarInt(playerid, "DialogValue2"); switch(listitem) { case 0: { new weaponid = GetPlayerWeapon(playerid); if(weaponid == 0) { ShowErrorDialog(playerid, "You don't have a weapon in your hands!"); return 1; } VehicleTrunk[id][slot][0] = weaponid; if(IsMeleeWeapon(weaponid)) VehicleTrunk[id][slot][1] = 1; else VehicleTrunk[id][slot][1] = GetPlayerAmmo(playerid); RemovePlayerWeapon(playerid, weaponid); SaveVehicle(id); } case 1: { if(VehicleTrunk[id][slot][1] <= 0) { ShowErrorDialog(playerid, "This slot is empty!"); return 1; } GivePlayerWeapon(playerid, VehicleTrunk[id][slot][0], VehicleTrunk[id][slot][1]); VehicleTrunk[id][slot][0] = 0; VehicleTrunk[id][slot][1] = 0; SaveVehicle(id); } } } ShowDialog(playerid, DIALOG_TRUNK); return 1; } if(dialogid == DIALOG_VEHICLE_PLATE) { if(response) { if(strlen(inputtext) < 1 || strlen(inputtext) >= sizeof(VehicleNumberPlate[])) { ShowErrorDialog(playerid, "Invalid length!"); return 1; } new id = GetPVarInt(playerid, "DialogValue1"); new vehicleid = VehicleID[id]; strmid(VehicleNumberPlate[id], inputtext, 0, sizeof(VehicleNumberPlate[])); SaveVehicle(id); SetVehicleNumberPlate(vehicleid, inputtext); SetVehicleToRespawn(vehicleid); new msg[128]; format(msg, sizeof(msg), "You have changed vehicle number plate to %s", inputtext); SendClientMessage(playerid, COLOR_WHITE, msg); } else ShowDialog(playerid, DIALOG_VEHICLE); return 1; } if(dialogid == DIALOG_FUEL) { if(response) { switch(listitem) { case 0: { if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) { ShowErrorDialog(playerid, "You are not driving a vehicle!"); return 1; } new vehicleid = GetPlayerVehicleID(playerid); if(IsBicycle(vehicleid)) { ShowErrorDialog(playerid, "Your vehicle doesn't have a fuel tank!"); return 1; } if(Fuel[vehicleid] >= 100.0) { ShowErrorDialog(playerid, "Your vehicle fuel tank is full!"); return 1; } if(GetPlayerMoney(playerid) < FUEL_PRICE) { ShowErrorDialog(playerid, "You don't have enough money!"); return 1; } RefuelTime[playerid] = 5; SetPVarFloat(playerid, "Fuel", Fuel[vehicleid]); GameTextForPlayer(playerid, "~w~refueling...", 2000, 3); } case 1: { if(GetPVarInt(playerid, "GasCan")) { ShowErrorDialog(playerid, "You already have a gas can!"); return 1; } if(GetPlayerMoney(playerid) < GAS_CAN_PRICE) { ShowErrorDialog(playerid, "You don't have enough money!"); return 1; } GivePlayerMoney(playerid, -GAS_CAN_PRICE); SetPVarInt(playerid, "GasCan", 1); SendClientMessage(playerid, COLOR_WHITE, "You have bought a gas can for $" #GAS_CAN_PRICE ); } } } return 1; } if(dialogid == DIALOG_EDITVEHICLE) { if(response) { new id = GetPVarInt(playerid, "DialogValue1"); new nr, params[128]; sscanf(inputtext, "ds", nr, params); switch(nr) { case 1: { new value = strval(params); if(value < 0) value = 0; VehicleValue[id] = value; UpdateVehicleLabel(id, 1); SaveVehicle(id); ShowDialog(playerid, DIALOG_EDITVEHICLE); } case 2: { new value; if(IsNumeric(params)) value = strval(params); else value = GetVehicleModelIDFromName(params); if(value < 400 || value > 611) { ShowErrorDialog(playerid, "Invalid vehicle model!"); return 1; } VehicleModel[id] = value; for(new i=0; i < sizeof(VehicleMods[]); i++) { VehicleMods[id][i] = 0; } VehiclePaintjob[id] = 255; UpdateVehicle(id, 1); SaveVehicle(id); ShowDialog(playerid, DIALOG_EDITVEHICLE); } case 3: { new color1, color2; sscanf(params, "dd", color1, color2); VehicleColor[id][0] = color1; VehicleColor[id][1] = color2; SaveVehicle(id); ChangeVehicleColor(VehicleID[id], color1, color2); ShowDialog(playerid, DIALOG_EDITVEHICLE); } case 4: { if(strlen(params) < 1 || strlen(params) > 8) { ShowErrorDialog(playerid, "Invalid length!"); return 1; } strmid(VehicleNumberPlate[id], params, 0, sizeof(params)); SaveVehicle(id); SetVehicleNumberPlate(VehicleID[id], params); SetVehicleToRespawn(VehicleID[id]); ShowDialog(playerid, DIALOG_EDITVEHICLE); } case 5: { DestroyVehicle(VehicleID[id]); if(VehicleCreated[id] == VEHICLE_DEALERSHIP) { Delete3DTextLabel(VehicleLabel[id]); } VehicleCreated[id] = 0; SaveVehicle(id); new msg[128]; format(msg, sizeof(msg), "You have deleted vehicle id %d", id); SendClientMessage(playerid, COLOR_WHITE, msg); } case 6: { if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) { ShowErrorDialog(playerid, "You are not driving the vehicle!"); return 1; } GetVehiclePos(VehicleID[id], VehiclePos[id][0], VehiclePos[id][1], VehiclePos[id][2]); GetVehicleZAngle(VehicleID[id], VehiclePos[id][3]); VehicleInterior[id] = GetPlayerInterior(playerid); VehicleWorld[id] = GetPlayerVirtualWorld(playerid); SendClientMessage(playerid, COLOR_WHITE, "You have parked this vehicle here"); UpdateVehicle(id, 1); PutPlayerInVehicle(playerid, VehicleID[id], 0); SaveVehicle(id); ShowDialog(playerid, DIALOG_EDITVEHICLE); } case 7: { new Float:x, Float:y, Float:z; GetVehiclePos(VehicleID[id], x, y, z); SetPlayerPos(playerid, x, y, z+1); new msg[128]; format(msg, sizeof(msg), "You have teleported to vehicle id %d", id); SendClientMessage(playerid, COLOR_WHITE, msg); } } } return 1; } return 0; }
CMD:vhelp(playerid, params[]) { new info[512]; strcat(info, "/v /tow /eject /ejectall\n", sizeof(info)); strcat(info, "/vlock /valarm /refuel /trunk /clearmods /sellv /givecarkeys /trackcar\n", sizeof(info)); if(IsPlayerAdmin(playerid)) { strcat(info, "/addv /editv /setfuel /rac (respawnallcars) /rtc (respawnthiscar)\n", sizeof(info)); strcat(info, "/adddealership /deletedealership /movedealership /gotodealership\n", sizeof(info)); strcat(info, "/addfuelstation /deletefuelstation /movefuelstation /gotofuelstation", sizeof(info)); } ShowPlayerDialog(playerid, DIALOG_NONE, DIALOG_STYLE_MSGBOX, "MOHH Vehicle System Help", info, "OK", ""); return 1; }