11.09.2016, 15:20
Tittle says it all i can't understand how hooking works.
I want to seperate some dialogs of my DialogResponse callback and seperate for each functionality (account dialogs,vehicle dialogs, event dialogs, etc) how can i seperate it so all of them could be called for the same callback?
P.S: My DialogResponse is pretty huge right now thats why i want to module it..
example code:
I want to seperate these two but to be called in the same callback.. How? Can someone spend some time to explain me? It will be amazing
I want to seperate some dialogs of my DialogResponse callback and seperate for each functionality (account dialogs,vehicle dialogs, event dialogs, etc) how can i seperate it so all of them could be called for the same callback?
P.S: My DialogResponse is pretty huge right now thats why i want to module it..
example code:
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new Float:X,Float:Y,Float:Z,Float:Angle; switch(dialogid) { case dlogin: //login dialog { if(!response) Kick(playerid); new hpass[129]; new query[100]; WP_Hash(hpass, 129, inputtext); if(!strcmp(hpass, pinfo[playerid][Password])) { mysql_format(mysql, query, sizeof(query), "SELECT * FROM `players` WHERE `Username` = '%e' LIMIT 1", Name[playerid]); mysql_tquery(mysql, query, "OnAccountLoad", "i", playerid); } else { ShowPlayerDialog(playerid, dlogin, DIALOG_STYLE_PASSWORD, "Login", "In order to play, you need to login\nWrong password!", "Login", "Quit"); } } case DIALOG_BIKES: { if(!response) { ShowPlayerCarShopMenu(playerid); } else { VehicleInfo[veh[playerid]][VehicleColor1] = random(250); VehicleInfo[veh[playerid]][VehicleColor2] = random(250); switch(listitem) { case 0: { if(GetPlayerMoney(playerid) < 4500) return SendClientMessage(playerid, COLOR_RED," SERVER : You don't have so much money!"); GetPlayerPos(playerid, X,Y,Z); veh[playerid] = CreateVehicle(462, X,Y,Z, Angle, VehicleInfo[veh[playerid]][VehicleColor1], VehicleInfo[veh[playerid]][VehicleColor2], -1); PutPlayerInVehicle(playerid,veh[playerid],0); SetPVarInt(playerid, #CreatedCar, 1); GivePlayerMoney(playerid,-4500); SendClientMessage(playerid,COLOR_ROYALBLUE,"CAR SHOP : You have bought a Faggio Cost: "COL_WHITE" $4,500"); } case 1: { if(GetPlayerMoney(playerid) < 6000) return SendClientMessage(playerid, COLOR_RED," SERVER : You don't have so much money!"); GetPlayerPos(playerid, X,Y,Z); veh[playerid] = CreateVehicle(581, X,Y,Z, Angle, VehicleInfo[veh[playerid]][VehicleColor1], VehicleInfo[veh[playerid]][VehicleColor2], -1); PutPlayerInVehicle(playerid,veh[playerid],0); SetPVarInt(playerid, #CreatedCar, 1); GivePlayerMoney(playerid,-6000); SendClientMessage(playerid,COLOR_ROYALBLUE,"CAR SHOP : You have bought a BF-400 Cost: "COL_WHITE" $6,000"); } case 2: { if(GetPlayerMoney(playerid) < 8400) return SendClientMessage(playerid, COLOR_RED," SERVER : You don't have so much money!"); GetPlayerPos(playerid, X,Y,Z); veh[playerid] = CreateVehicle(586, X,Y,Z, Angle, VehicleInfo[veh[playerid]][VehicleColor1], VehicleInfo[veh[playerid]][VehicleColor2], -1); SetPVarInt(playerid, #CreatedCar, 1); PutPlayerInVehicle(playerid,veh[playerid],0); GivePlayerMoney(playerid,-8400); SendClientMessage(playerid,COLOR_ROYALBLUE,"CAR SHOP : You have bought a Wayfarer Cost: "COL_WHITE" $8,400"); } case 3: { if(GetPlayerMoney(playerid) < 12000) return SendClientMessage(playerid, COLOR_RED," SERVER : You don't have so much money!"); GetPlayerPos(playerid, X,Y,Z); veh[playerid] = CreateVehicle(463, X,Y,Z, Angle, VehicleInfo[veh[playerid]][VehicleColor1], VehicleInfo[veh[playerid]][VehicleColor2], -1); SetPVarInt(playerid, #CreatedCar, 1); PutPlayerInVehicle(playerid,veh[playerid],0); GivePlayerMoney(playerid,-12000); SendClientMessage(playerid,COLOR_ROYALBLUE,"CAR SHOP : You have bought a Freeway Cost: "COL_WHITE" $12,000"); } case 4: { if(GetPlayerMoney(playerid) < 17000) return SendClientMessage(playerid, COLOR_RED," SERVER : You don't have so much money!"); GetPlayerPos(playerid, X,Y,Z); veh[playerid] = CreateVehicle(461, X,Y,Z, Angle, VehicleInfo[veh[playerid]][VehicleColor1], VehicleInfo[veh[playerid]][VehicleColor2], -1); SetPVarInt(playerid, #CreatedCar, 1); PutPlayerInVehicle(playerid,veh[playerid],0); GivePlayerMoney(playerid,-17000); SendClientMessage(playerid,COLOR_ROYALBLUE,"CAR SHOP : You have bought a PCJ-600 Cost: "COL_WHITE" $17,000"); } case 5: { if(GetPlayerMoney(playerid) < 22500) return SendClientMessage(playerid, COLOR_RED," SERVER : You don't have so much money!"); GetPlayerPos(playerid, X,Y,Z); veh[playerid] = CreateVehicle(521, X,Y,Z, Angle, VehicleInfo[veh[playerid]][VehicleColor1], VehicleInfo[veh[playerid]][VehicleColor2], -1); SetPVarInt(playerid, #CreatedCar, 1); PutPlayerInVehicle(playerid,veh[playerid],0); GivePlayerMoney(playerid,-22500); SendClientMessage(playerid,COLOR_ROYALBLUE,"CAR SHOP : You have bought a FCR-900 Cost: "COL_WHITE" $22,500"); } //PlayerOwningVehicle(playerid); } } }