Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- V.1.2 | MAP CREATOR
- ---------------------|
- Skype: alex20.11
- */
- #define FILTERSCRIPT
- #include <a_samp>
- #include <zcmd>
- #include <streamer>
- #include <sscanf2>
- #include <a_mysql>
- #include <mSelection>
- #include <YSI\y_ini>
- // CONFIGURATION ACCES BDD
- #define HOST "127.0.01"
- #define USER "root"
- #define MDP ""
- #define DB "YOUR DATABASE"
- // COULEURS
- #define BLEUCLAIR 0xFF51B3FFAA
- #define BLEUCLAIR1 "{051B3F}"
- #define BLANC1 "{FFFFFF}"
- //DIALOG
- #define EDITO 100
- #define EDITO0 200
- #define EDITO1 300
- #define EDITO2 400
- #define EDITO3 500
- #define EDITO4 600
- #define EDITO5 700
- #define EDITO6 800
- #define UPDATE 1000
- #define CREER 1002
- #define CREER0 1003
- #define OTXT 1005
- #define MAX_O 500 // A modifié selon vos besoin.
- enum oinfo
- {
- cobjetID,
- omodel,
- Float:ox,
- Float:oy,
- Float:oz,
- Float:orx,
- Float:ory,
- Float:orz,
- osave,
- Float:omoovex,
- Float:omoovey,
- Float:omoovez,
- Float:omooverx,
- Float:omoovery,
- Float:omooverz,
- Float:omoovespeed,
- oprix,
- otimer,
- Float:oradius
- };
- new objectInfo[MAX_O][oinfo];
- new texture[MAX_O][13][32], txdname[MAX_O][13][32], txtmodel[MAX_O][13];
- new otexture[MAX_PLAYERS], oindex[MAX_PLAYERS];
- new infoo[MAX_PLAYERS] = 0;
- new PlayerText3D:textl[MAX_O];
- // FORWARD
- forward loadObject();
- forward UpdateObject(object);
- // VARIABLES GENERALES
- new vargen, query[1028], commandes[256];
- new NbOb=1,tmp20[12][2], objList;
- static Field[60][64];
- /*
- Si editobject=1, alors le joueur déplace l'objet.
- Si editobjzct=2, alors le joueur crée un mooveobject.
- */
- new editobject[MAX_PLAYERS];
- new IdObject[MAX_PLAYERS];
- /*
- Si moovemode=1, alors l'objet est à sa position d'origine
- Si moovemode=2, alors l'objet est à sa position après le mooveobject
- */
- new moovemode[MAX_O];
- forward timerMoove(o);
- public OnFilterScriptInit()
- {
- SetGameModeText("MapCreator");
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- mysql_connect(HOST, USER, DB, MDP);
- loadObject();
- objList = LoadModelSelectionMenu("objects.txt");
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new o = 1;o < MAX_O;o++) UpdateObject(o);
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
- return 1;
- }
- public OnPlayerDisconnect(playerid)
- {
- otexture[playerid]=0;
- return 1;
- }
- // COMMANDES
- CMD:ovg(playerid, params[])
- {
- for(new o=1;o<MAX_O;o++)
- {
- if(IsPlayerInRangeOfPoint(playerid, objectInfo[o][oradius], objectInfo[o][ox], objectInfo[o][oy], objectInfo[o][oz]))
- {
- if(objectInfo[o][omoovex] != 0)
- {
- if(moovemode[o]==1)
- {
- moovemode[o]=0;
- MoveDynamicObject(objectInfo[o][cobjetID], objectInfo[o][ox], objectInfo[o][oy], objectInfo[o][oz], objectInfo[o][omoovespeed], objectInfo[o][orx], objectInfo[o][ory], objectInfo[o][orz]);
- break;
- }
- if(moovemode[o] == 0)
- {
- if(GetPlayerMoney(playerid) < objectInfo[o][oprix]) return SendClientMessage(playerid, BLEUCLAIR,"Votre montant d'argent est insuffisant.");
- moovemode[o]=1;
- MoveDynamicObject(objectInfo[o][cobjetID], objectInfo[o][omoovex], objectInfo[o][omoovey], objectInfo[o][omoovez], objectInfo[o][omoovespeed], objectInfo[o][omooverx], objectInfo[o][omoovery], objectInfo[o][omooverz]);
- if(objectInfo[o][otimer] > 0)
- {
- SetTimerEx("timerMoove", objectInfo[o][otimer]*1000, false, "d", o);
- GivePlayerMoney(playerid, -objectInfo[o][oprix]);
- break;
- }
- }
- }
- }
- }
- return 1;
- }
- public timerMoove(o)
- {
- moovemode[o]=0;
- MoveDynamicObject(objectInfo[o][cobjetID], objectInfo[o][ox], objectInfo[o][oy], objectInfo[o][oz], objectInfo[o][omoovespeed], objectInfo[o][orx], objectInfo[o][ory], objectInfo[o][orz]);
- return 1;
- }
- CMD:obj(playerid, params[])
- {
- new service[12], proprio[8];
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, BLEUCLAIR,"ERROR: "BLANC1"You must be an administrator.");
- if(sscanf(params, "s[12]I(0)S(Aucun)[8]", service, vargen, proprio))
- {
- SendClientMessage(playerid, BLEUCLAIR, "USAGE: "BLANC1"/obj <type> (<id>)");
- SendClientMessage(playerid, BLEUCLAIR, "Type: "BLANC1"create, delet, edit, go, update, info, txt, index, copy");
- return 1;
- }
- if(!strcmp(service, "create", true))
- {
- ShowPlayerDialog(playerid, CREER, DIALOG_STYLE_LIST, "Object Edit", "Enter the id of the object\nChoose an object from the list", "Validate", "Close");
- return 1;
- }
- else if(!strcmp(service, "delet", true))
- {
- if(objectInfo[vargen][omodel] == 0) return SendClientMessage(playerid, BLEUCLAIR, "INFO: "BLANC1"The object id is invalid.");
- if(objectInfo[vargen][osave] == 0)
- {
- DestroyDynamicObject(objectInfo[vargen][cobjetID]);
- resetVar(vargen);
- format(commandes, sizeof(commandes),"Object ID: %d has been deleted.", vargen);
- SendClientMessage(playerid, BLEUCLAIR, commandes);
- }
- else if(objectInfo[vargen][osave] == 1)
- {
- DestroyDynamicObject(objectInfo[vargen][cobjetID]);
- format(query, sizeof(query),"DELETE FROM objets WHERE objetID=%d", vargen);
- mysql_query(query);
- resetVar(vargen);
- format(commandes, sizeof(commandes),"Object ID: %d has been deleted.", vargen);
- SendClientMessage(playerid, BLEUCLAIR, commandes);
- }
- return 1;
- }
- else if(!strcmp(service, "copy",true))
- {
- if(objectInfo[vargen][omodel] == 0) return SendClientMessage(playerid, BLEUCLAIR, "INFO: "BLANC1"The object id is invalid.");
- new ido=GetFreeObjectID();
- new Float:posx, Float:posy, Float:posz, Float:posrx, Float:posry, Float:posrz;
- GetDynamicObjectPos(objectInfo[vargen][cobjetID], posx, posy, posz);
- GetDynamicObjectRot(objectInfo[vargen][cobjetID], posrx, posry, posrz);
- objectInfo[ido][omodel]=objectInfo[vargen][omodel];
- objectInfo[ido][ox]=posx;
- objectInfo[ido][oy]=posy;
- objectInfo[ido][oz]=posz;
- objectInfo[ido][orx]=posrx;
- objectInfo[ido][ory]=posry;
- objectInfo[ido][orz]=posrz;
- objectInfo[ido][cobjetID]=CreateDynamicObject(objectInfo[ido][omodel], objectInfo[ido][ox], objectInfo[ido][oy], objectInfo[ido][oz], posrx, posry, posrz);
- for(new t=0;t < 13;t++)
- {
- if(txtmodel[vargen][t] != 0)
- {
- format(texture[ido][t], 32, "%s", texture[vargen][t]);
- format(txdname[ido][t], 32, "%s", txdname[vargen][t]);
- txtmodel[ido][t]=txtmodel[vargen][t];
- SetDynamicObjectMaterial(objectInfo[ido][cobjetID], t, txtmodel[vargen][t], texture[vargen][t], txdname[vargen][t], 0);
- }
- }
- if(editobject[playerid] == 0)
- {
- editobject[playerid]=1;
- IdObject[playerid]=ido;
- EditDynamicObject(playerid, objectInfo[IdObject[playerid]][cobjetID]);
- }
- format(commandes, 64,"Object id: %d copied.", ido);
- SendClientMessage(playerid, BLEUCLAIR, commandes);
- }
- else if(!strcmp(service, "edit", true))
- {
- ShowPlayerDialog(playerid, EDITO, DIALOG_STYLE_LIST,"Object Edit", "Move the object\nSave the object\nCreate a \"MoveDynamicObject\"\nChange the radius (moveobject)\nAssign a price\nAssign a timer (moveobject)\nChange the speed of the object", "Validate", "Close");
- return 1;
- }
- else if(!strcmp(service, "update", true))
- {
- ShowPlayerDialog(playerid, UPDATE, DIALOG_STYLE_INPUT,"Object Edit", "Enter the id of the object to be updated in the database or enter nothing to update all objects.", "Validate", "Close");
- return 1;
- }
- else if(!strcmp(service, "go", true))
- {
- if(objectInfo[vargen][omodel] == 0) return SendClientMessage(playerid, BLEUCLAIR, "INFO: "BLANC1"The object id is invalid.");
- SetPlayerPos(playerid, objectInfo[vargen][ox]+2, objectInfo[vargen][oy], objectInfo[vargen][oz]+1);
- return 1;
- }
- else if(!strcmp(service, "txt", true))
- {
- if(vargen == 0) return SendClientMessage(playerid, BLEUCLAIR, "USAGE: "BLANC1"/obj txt <id> <index>");
- else if(!strcmp(proprio, "Aucun", true)) return SendClientMessage(playerid, BLEUCLAIR, "USAGE: "BLANC1"/obj txt <id> <index>");
- if(objectInfo[vargen][omodel] == 0) return SendClientMessage(playerid, BLEUCLAIR, "INFO: "BLANC1"The object id is invalid.");
- else if(strval(proprio) < 0 || strval(proprio) > 12) return SendClientMessage(playerid, BLEUCLAIR, "INFO: "BLANC1"L'index doit être compris entre 0 et 12.");
- otexture[playerid]=vargen, oindex[playerid]=strval(proprio);
- ShowPlayerDialog(playerid, OTXT, DIALOG_STYLE_LIST, "Changing textures", "Wood\nOrange wood\nPlank\nWood forest\nFlooring\nGrass\nConcrete\nRock\nMetal\nIron\nGlasses\nWindow\nYellow and white stripes\nSheet metal\nWhite\nRed\nBlue\nOrange\nGreen\nRed tiles\nBlue tiles\nRed/Orange tiles\nLeather\nRed carpet\nGray floor\nConcrete pavers\nHexagonal pavers\nBeige pavers\nWood lath\nRock pavers\nYellowish concrete\nSquare pavers\nBlack\nNone", "Validate", "Close");
- return 1;
- }
- else if(!strcmp(service, "infos", true))
- {
- for(new o=1;o<MAX_O;o++)
- {
- if(infoo[playerid] == 0)
- {
- new otext[12];
- if(objectInfo[o][osave] == 0) { otext="No"; }
- else if(objectInfo[o][osave] == 1) { otext="Yes"; }
- format(commandes, sizeof(commandes),""BLEUCLAIR1"Object ID: "BLANC1"%d\n"BLEUCLAIR1"Model: "BLANC1"%d\n"BLEUCLAIR1"Save: "BLANC1"%s", o, objectInfo[o][omodel], otext);
- textl[o]=CreatePlayer3DTextLabel(playerid, commandes, BLEUCLAIR, objectInfo[o][ox], objectInfo[o][oy], objectInfo[o][oz], 30.0);
- }
- else if(infoo[playerid] == 1)
- {
- DeletePlayer3DTextLabel(playerid, textl[o]);
- }
- }
- if(infoo[playerid] == 0) infoo[playerid] = 1;
- else if(infoo[playerid] == 1) infoo[playerid] = 0;
- }
- else if(!strcmp(service, "info", true))
- {
- if(editobject[playerid] != 0) return SendClientMessage(playerid, BLEUCLAIR, "INFO: "BLANC1"You do not need to be in edit mode.");
- SelectObject(playerid);
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case CREER:
- {
- if(response)
- {
- if(listitem == 0)
- {
- ShowPlayerDialog(playerid, CREER0, DIALOG_STYLE_INPUT,"Object Edit", "Enter the id of the object to create:", "Validate", "Close");
- }
- else
- {
- ShowModelSelectionMenu(playerid, objList, "Select an object", 0x39747aBB, 0x6b959199 , 0x97bea9AA);
- }
- }
- }
- case CREER0:
- {
- if(response)
- {
- if(strlen(inputtext) == 0) return ShowPlayerDialog(playerid, CREER0, DIALOG_STYLE_INPUT,"Object Edit", "Enter the id of the object to create:", "Validate", "Close");
- new ido=GetFreeObjectID();
- new Float:posx, Float:posy, Float:posz;
- GetPlayerPos(playerid, posx, posy, posz);
- objectInfo[ido][omodel]=strval(inputtext);
- objectInfo[ido][ox]=posx;
- objectInfo[ido][oy]=posy;
- objectInfo[ido][oz]=posz;
- objectInfo[ido][cobjetID]=CreateDynamicObject(objectInfo[ido][omodel], objectInfo[ido][ox]+5, objectInfo[ido][oy], objectInfo[ido][oz], 0.0, 0.0, 0.0);
- if(!IsValidDynamicObject(objectInfo[ido][cobjetID]))
- {
- resetVar(ido);
- DestroyDynamicObject(ido);
- return 1;
- }
- format(commandes, 64,"Object ID: %d create.", ido);
- SendClientMessage(playerid, BLEUCLAIR, commandes);
- }
- }
- case EDITO:
- {
- if(listitem == 0)
- {
- ShowPlayerDialog(playerid, EDITO0, DIALOG_STYLE_INPUT,"Object Edit", "Enter the id of the object to be moved:", "Validate", "Close");
- }
- else if(listitem == 1)
- {
- ShowPlayerDialog(playerid, EDITO1, DIALOG_STYLE_INPUT,"Object Edit", "Enter the id of the object to save:", "Validate", "Close");
- }
- else if(listitem == 2)
- {
- ShowPlayerDialog(playerid, EDITO2, DIALOG_STYLE_INPUT,"Object Edit", "Enter the id of the object to create a moveobject\nMove then to the desired position:", "Validate", "Close");
- }
- else if(listitem == 3)
- {
- ShowPlayerDialog(playerid, EDITO3, DIALOG_STYLE_INPUT,"Object Edit", "Enter the id of the object followed by the desired radius, as follows: \"objectid, radius\"", "Validate", "Close");
- }
- else if(listitem == 4)
- {
- ShowPlayerDialog(playerid, EDITO4, DIALOG_STYLE_INPUT,"Object Edit", "Enter the id of the object and the price you want to assign as follows: \"objectid, price\" (/ovg)", "Validate", "Close");
- }
- else if(listitem == 5)
- {
- ShowPlayerDialog(playerid, EDITO5, DIALOG_STYLE_INPUT,"Object Edit", "Enter the id of the object followed by the number in second for the timer in the following form \"objectid second\"", "Validate", "Close");
- }
- else if(listitem == 6)
- {
- ShowPlayerDialog(playerid, EDITO6, DIALOG_STYLE_INPUT,"Object Edit", "Enter the id of the object followed by the desire for speed moveobject as follows \"objectid, speed\"", "Validate", "Close");
- }
- }
- case EDITO0:
- {
- if(response)
- {
- if(strlen(inputtext) == 0) return ShowPlayerDialog(playerid, EDITO0, DIALOG_STYLE_INPUT,"Object Edit", "Enter the id of the object to be moved:", "Validate", "Close");
- IdObject[playerid]=strval(inputtext);
- if(objectInfo[IdObject[playerid]][omodel] != 0)
- {
- editobject[playerid]=1;
- EditDynamicObject(playerid, objectInfo[IdObject[playerid]][cobjetID]);
- }
- else return SendClientMessage(playerid, BLEUCLAIR, "The ID entered is invalid");
- }
- }
- case EDITO1:
- {
- if(response)
- {
- if(strlen(inputtext) == 0) return ShowPlayerDialog(playerid, EDITO1, DIALOG_STYLE_INPUT,"Object Edit", "Enter the id of the object in order to save", "Validate", "Close");
- IdObject[playerid]=strval(inputtext);
- if(objectInfo[IdObject[playerid]][omodel] != 0)
- {
- if(objectInfo[IdObject[playerid]][osave] == 1) return SendClientMessage(playerid, BLEUCLAIR, "The object is already stored in the database.");
- objectInfo[IdObject[playerid]][osave]=1;
- format(commandes, sizeof(commandes), "Object ID: %d saved", IdObject[playerid]);
- SendClientMessage(playerid, BLEUCLAIR, commandes);
- format(query, sizeof(query), "INSERT INTO objets (objetID, omodel, ox, oy, oz, orx, ory, orz, osave, omoovex, omoovey, omoovez, omooverx, omoovery, omooverz, omoovespeed, oprix, otimer, oradius) VALUES (%d, %d, '%f', '%f', '%f', '%f', '%f', '%f', 1, '%f', '%f', '%f', '%f', '%f', '%f', '%f', %d, %d, '%f')",
- IdObject[playerid],
- objectInfo[IdObject[playerid]][omodel],
- objectInfo[IdObject[playerid]][ox],
- objectInfo[IdObject[playerid]][oy],
- objectInfo[IdObject[playerid]][oz],
- objectInfo[IdObject[playerid]][orx],
- objectInfo[IdObject[playerid]][ory],
- objectInfo[IdObject[playerid]][orz],
- objectInfo[IdObject[playerid]][omoovex],
- objectInfo[IdObject[playerid]][omoovey],
- objectInfo[IdObject[playerid]][omoovez],
- objectInfo[IdObject[playerid]][omooverx],
- objectInfo[IdObject[playerid]][omoovery],
- objectInfo[IdObject[playerid]][omooverz],
- objectInfo[IdObject[playerid]][omoovespeed],
- objectInfo[IdObject[playerid]][oprix],
- objectInfo[IdObject[playerid]][otimer],
- objectInfo[IdObject[playerid]][oradius]);
- mysql_query(query);
- }
- else return SendClientMessage(playerid, BLEUCLAIR, "The ID entered is invalid");
- }
- }
- case EDITO2:
- {
- if(response)
- {
- if(strlen(inputtext) == 0) return ShowPlayerDialog(playerid, EDITO2, DIALOG_STYLE_INPUT,"Object Edit", "Enter the id of the object to create a moveobject\nMove then to the desired position:", "Validate", "Close");
- IdObject[playerid]=strval(inputtext);
- if(objectInfo[IdObject[playerid]][omodel] != 0)
- {
- SendClientMessage(playerid, BLEUCLAIR, "Moving the object to the position or the object moves.");
- editobject[playerid]=2;
- EditDynamicObject(playerid, objectInfo[IdObject[playerid]][cobjetID]);
- }
- else return SendClientMessage(playerid, BLEUCLAIR, "The ID entered is invalid");
- }
- }
- case EDITO3:
- {
- if(response)
- {
- if(strlen(inputtext) == 0) return ShowPlayerDialog(playerid, EDITO3, DIALOG_STYLE_INPUT,"Object Edit", "Enter the id of the object followed by the desired radius, as follows: \"objectid, radius\"", "Validate", "Close");
- split(inputtext, tmp20, ',');
- IdObject[playerid]=strval(tmp20[0]);
- if(objectInfo[IdObject[playerid]][omodel] != 0)
- {
- if(objectInfo[IdObject[playerid]][omoovex] == 0) return SendClientMessage(playerid, BLEUCLAIR, "First create a move-object to assign a radius (/ovg)");
- if(strfind(inputtext, ",") == -1) return SendClientMessage(playerid, BLEUCLAIR, "Model invalid");
- objectInfo[IdObject[playerid]][oradius]=floatstr(tmp20[1]);
- format(commandes, sizeof(commandes),"The radius of the object id: %d was changed to %f", IdObject[playerid], objectInfo[IdObject[playerid]][oradius]);
- SendClientMessage(playerid, BLEUCLAIR, commandes);
- }
- else return SendClientMessage(playerid, BLEUCLAIR, "The ID entered is invalid");
- }
- }
- case EDITO4:
- {
- if(response)
- {
- if(strlen(inputtext) == 0) return ShowPlayerDialog(playerid, EDITO4, DIALOG_STYLE_INPUT,"Object Edit", "Enter the id of the object and the price you want to assign as follows: \"objectid, price\" (/ovg)", "Validate", "Close");
- split(inputtext, tmp20, ',');
- IdObject[playerid]=strval(tmp20[0]);
- if(objectInfo[IdObject[playerid]][omodel] != 0)
- {
- if(objectInfo[IdObject[playerid]][omoovex] == 0) return SendClientMessage(playerid, BLEUCLAIR, "First create a move-object to assign a radius (/ovg)");
- if(strfind(inputtext, ",") == -1) return SendClientMessage(playerid, BLEUCLAIR, "Model invalid");
- else if(strfind(inputtext, ".") != -1) return SendClientMessage(playerid, BLEUCLAIR, "Enter an integer.");
- objectInfo[IdObject[playerid]][oprix]=strval(tmp20[1]);
- format(commandes, sizeof(commandes),"The price of the object id: %d was changed to %d $", IdObject[playerid], objectInfo[IdObject[playerid]][oprix]);
- SendClientMessage(playerid, BLEUCLAIR, commandes);
- }
- else return SendClientMessage(playerid, BLEUCLAIR, "The ID entered is invalid");
- }
- }
- case EDITO5:
- {
- if(response)
- {
- if(strlen(inputtext) == 0) return ShowPlayerDialog(playerid, EDITO5, DIALOG_STYLE_INPUT,"Object Edit", "Entrez l'id de l'objet suivi du nombre en seconde pour le timer (/ovg)", "Validate", "Close");
- split(inputtext, tmp20, ',');
- IdObject[playerid]=strval(tmp20[0]);
- if(objectInfo[IdObject[playerid]][omodel] != 0)
- {
- if(objectInfo[IdObject[playerid]][omoovex] == 0) return SendClientMessage(playerid, BLEUCLAIR, "First create a move-object to assign a radius (/ovg)");
- if(strfind(inputtext, ",") == -1) return SendClientMessage(playerid, BLEUCLAIR, "Model invalid");
- objectInfo[IdObject[playerid]][otimer]=strval(tmp20[1]);
- format(commandes, sizeof(commandes),"The timer object id: %d was changed to %d seconds", IdObject[playerid], objectInfo[IdObject[playerid]][otimer]);
- SendClientMessage(playerid, BLEUCLAIR, commandes);
- }
- else return SendClientMessage(playerid, BLEUCLAIR, "The ID entered is invalid");
- }
- }
- case EDITO6:
- {
- if(response)
- {
- if(strlen(inputtext) == 0) return ShowPlayerDialog(playerid, EDITO6, DIALOG_STYLE_INPUT,"Object Edit", "Enter the id of the object followed by the desire for speed moveobject as follows \"objectid, speed\"", "Validate", "Close");
- split(inputtext, tmp20, ',');
- IdObject[playerid]=strval(tmp20[0]);
- if(objectInfo[IdObject[playerid]][omodel] != 0)
- {
- if(objectInfo[IdObject[playerid]][omoovex] == 0) return SendClientMessage(playerid, BLEUCLAIR, "First create a move-object to assign a radius.");
- if(strfind(inputtext, ",") == -1) return SendClientMessage(playerid, BLEUCLAIR, "Invalid model");
- objectInfo[IdObject[playerid]][omoovespeed]=floatstr(tmp20[1]);
- format(commandes, sizeof(commandes),"The speed of the object id: %d was changed to %f", IdObject[playerid], objectInfo[IdObject[playerid]][omoovespeed]);
- SendClientMessage(playerid, BLEUCLAIR, commandes);
- }
- else return SendClientMessage(playerid, BLEUCLAIR, "The ID entered is invalid");
- }
- }
- case UPDATE:
- {
- if(response)
- {
- if(strlen(inputtext) == 0)
- {
- for(new object=1;object<MAX_O+1;object++)
- {
- if(objectInfo[object][osave] == 1)
- {
- UpdateObject(object);
- }
- }
- }
- else
- {
- IdObject[playerid]=strval(inputtext);
- if(objectInfo[IdObject[playerid]][osave] == 0) return SendClientMessage(playerid, BLEUCLAIR, "The ID entered is invalid");
- UpdateObject(IdObject[playerid]);
- format(commandes, sizeof(commandes),"Object ID: %d updated in the database", IdObject[playerid]);
- SendClientMessage(playerid, BLEUCLAIR, commandes);
- return 1;
- }
- }
- }
- case OTXT:
- {
- if(!response) return otexture[playerid]=0;
- else if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "cj_lightwood");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "all_walls");
- txtmodel[otexture[playerid]][oindex[playerid]]=19356;
- }
- case 1:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "gym_floor5");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "all_walls");
- txtmodel[otexture[playerid]][oindex[playerid]]=19360;
- }
- case 2:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "mp_diner_woodwall");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "all_walls");
- txtmodel[otexture[playerid]][oindex[playerid]]=19366;
- }
- case 3:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "CJ_SLATEDWOOD");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "break_street2");
- txtmodel[otexture[playerid]][oindex[playerid]]=1452;
- }
- case 4:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "mp_shop_floor2");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "all_walls");
- txtmodel[otexture[playerid]][oindex[playerid]]=19370;
- }
- case 5:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "desgreengrass");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "all_walls");
- txtmodel[otexture[playerid]][oindex[playerid]]=19381;
- }
- case 6:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "cj_white_wall2");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "all_walls");
- txtmodel[otexture[playerid]][oindex[playerid]]=19357;
- }
- case 7:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "rocktb128");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "weemap");
- txtmodel[otexture[playerid]][oindex[playerid]]=3930;
- }
- case 8:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "CJ_FLIGHT_CASE");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "cj_crate_will");
- txtmodel[otexture[playerid]][oindex[playerid]]=964;
- }
- case 9:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "liftdoorsac256");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "lift_drx");
- txtmodel[otexture[playerid]][oindex[playerid]]=3051;
- }
- case 10:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "lsmall_window01");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "lsmall_shops");
- txtmodel[otexture[playerid]][oindex[playerid]]=19466;
- }
- case 11:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "carshowglass_sfsx");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "ws_carshowwin1");
- txtmodel[otexture[playerid]][oindex[playerid]]=3851;
- }
- case 12:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "chevron64HVa");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "vegasairprtland");
- txtmodel[otexture[playerid]][oindex[playerid]]=7890;
- }
- case 13:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "drvin_front");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "des_byoffice");
- txtmodel[otexture[playerid]][oindex[playerid]]=16501;
- }
- case 14:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "white");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "matcolours");
- txtmodel[otexture[playerid]][oindex[playerid]]=18646;
- }
- case 15:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "red");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "matcolours");
- txtmodel[otexture[playerid]][oindex[playerid]]=18646;
- }
- case 16:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "blue");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "matcolours");
- txtmodel[otexture[playerid]][oindex[playerid]]=18646;
- }
- case 17:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "orange");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "matcolours");
- txtmodel[otexture[playerid]][oindex[playerid]]=18646;
- }
- case 18:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "green");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "matcolours");
- txtmodel[otexture[playerid]][oindex[playerid]]=18646;
- }
- case 19:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "ab_rollmat01");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "genintint_gym");
- txtmodel[otexture[playerid]][oindex[playerid]]=2631;
- }
- case 20:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "ab_rollmat02");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "genintint_gym");
- txtmodel[otexture[playerid]][oindex[playerid]]=2632;
- }
- case 21:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "GB_rugbedroom01");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "gb_bedrmrugs01");
- txtmodel[otexture[playerid]][oindex[playerid]]=2818;
- }
- case 22:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "CJ-COUCHL1");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "cj_sofa");
- txtmodel[otexture[playerid]][oindex[playerid]]=2293;
- }
- case 23:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "redFabric");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "cj_office");
- txtmodel[otexture[playerid]][oindex[playerid]]=2168;
- }
- case 24:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "greyground256");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "capitol_lawn");
- txtmodel[otexture[playerid]][oindex[playerid]]=5823;
- }
- case 25:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "conc_slabgrey_256128");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "sunrise09_lawn");
- txtmodel[otexture[playerid]][oindex[playerid]]=5887;
- }
- case 26:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "ws_nicepave");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "law2_roadsb");
- txtmodel[otexture[playerid]][oindex[playerid]]=6322;
- }
- case 27:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "crazy paving");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "law_beach2");
- txtmodel[otexture[playerid]][oindex[playerid]]=6199;
- }
- case 28:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "pier69_ground1");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "pier_law");
- txtmodel[otexture[playerid]][oindex[playerid]]=6189;
- }
- case 29:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "crazypave");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "lawwhitebuilds");
- txtmodel[otexture[playerid]][oindex[playerid]]=6203;
- }
- case 30:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "luxorwall01_128");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "lawartg");
- txtmodel[otexture[playerid]][oindex[playerid]]=6205;
- }
- case 31:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "paveslab1");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "sunst18_lawn");
- txtmodel[otexture[playerid]][oindex[playerid]]=5999;
- }
- case 32:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, "black32");
- format(texture[otexture[playerid]][oindex[playerid]], 32, "des_stownmain2");
- txtmodel[otexture[playerid]][oindex[playerid]]=16005;
- }
- case 33:
- {
- format(txdname[otexture[playerid]][oindex[playerid]], 32, " ");
- format(texture[otexture[playerid]][oindex[playerid]], 32, " ");
- txtmodel[otexture[playerid]][oindex[playerid]]=0;
- }
- }
- SetDynamicObjectMaterial(objectInfo[otexture[playerid]][cobjetID], oindex[playerid], txtmodel[otexture[playerid]][oindex[playerid]], texture[otexture[playerid]][oindex[playerid]], txdname[otexture[playerid]][oindex[playerid]], 0);
- }
- }
- }
- return 0;
- }
- public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
- {
- new Float:oldX, Float:oldY, Float:oldZ, Float:oldRotX, Float:oldRotY, Float:oldRotZ;
- GetDynamicObjectPos(objectid, oldX, oldY, oldZ);
- GetDynamicObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
- if(response == EDIT_RESPONSE_FINAL)
- {
- new string[128];
- if(editobject[playerid] == 1)
- {
- objectInfo[IdObject[playerid]][ox]=x;
- objectInfo[IdObject[playerid]][oy]=y;
- objectInfo[IdObject[playerid]][oz]=z;
- objectInfo[IdObject[playerid]][orx]=rx;
- objectInfo[IdObject[playerid]][ory]=ry;
- objectInfo[IdObject[playerid]][orz]=rz;
- SetDynamicObjectPos(objectInfo[IdObject[playerid]][cobjetID], objectInfo[IdObject[playerid]][ox], objectInfo[IdObject[playerid]][oy], objectInfo[IdObject[playerid]][oz]);
- SetDynamicObjectRot(objectInfo[IdObject[playerid]][cobjetID],objectInfo[IdObject[playerid]][orx], objectInfo[IdObject[playerid]][ory], objectInfo[IdObject[playerid]][orz]);
- format(string, sizeof(string),"Object ID: %d successfully moved", IdObject[playerid]);
- SendClientMessage(playerid, BLEUCLAIR, string);
- editobject[playerid]=0;
- }
- if(editobject[playerid] == 2)
- {
- moovemode[IdObject[playerid]]=0;
- objectInfo[IdObject[playerid]][omoovex]=x;
- objectInfo[IdObject[playerid]][omoovey]=y;
- objectInfo[IdObject[playerid]][omoovez]=z;
- objectInfo[IdObject[playerid]][omooverx]=rx;
- objectInfo[IdObject[playerid]][omoovery]=ry;
- objectInfo[IdObject[playerid]][omooverz]=rz;
- objectInfo[IdObject[playerid]][omoovespeed]=3.0;
- format(string, sizeof(string),"Move-object successfully created on the object ID: %d",IdObject[playerid]);
- SendClientMessage(playerid, BLEUCLAIR, string);
- MoveDynamicObject(objectInfo[IdObject[playerid]][cobjetID], objectInfo[IdObject[playerid]][ox], objectInfo[IdObject[playerid]][oy], objectInfo[IdObject[playerid]][oz], objectInfo[IdObject[playerid]][omoovespeed], objectInfo[IdObject[playerid]][orx], objectInfo[IdObject[playerid]][ory], objectInfo[IdObject[playerid]][orz]);
- editobject[playerid]=0;
- ShowPlayerDialog(playerid, EDITO3, DIALOG_STYLE_INPUT,"Object Edit", "Enter the id of the object followed by the desired radius, as follows: \"objectid, radius\"", "Validate", "Close");
- }
- }
- else if(response == EDIT_RESPONSE_CANCEL)
- {
- SetDynamicObjectPos(objectid, oldX, oldY, oldZ);
- SetDynamicObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
- }
- return 1;
- }
- public OnPlayerModelSelection(playerid, response, listid, modelid)
- {
- if(listid == objList)
- {
- if(!response) return HideModelSelectionMenu(playerid);
- else
- {
- new ido=GetFreeObjectID();
- new Float:posx, Float:posy, Float:posz;
- GetPlayerPos(playerid, posx, posy, posz);
- objectInfo[ido][omodel]=modelid;
- objectInfo[ido][ox]=posx;
- objectInfo[ido][oy]=posy;
- objectInfo[ido][oz]=posz;
- objectInfo[ido][cobjetID]=CreateDynamicObject(objectInfo[ido][omodel], objectInfo[ido][ox]+5, objectInfo[ido][oy], objectInfo[ido][oz], 0.0, 0.0, 0.0);
- format(commandes, 64,"Object ID: %d created.", ido);
- SendClientMessage(playerid, BLEUCLAIR, commandes);
- }
- }
- return 1;
- }
- stock GetFreeObjectID()
- {
- for(new i = 1; i < MAX_O; i++)
- {
- if(objectInfo[i][omodel] == 0) return i;
- }
- return -1;
- }
- public loadObject()
- {
- new resultline[1024];
- mysql_query("SELECT * FROM objets");
- mysql_store_result();
- if(!mysql_num_rows())
- {
- print("Impossible de récuperer les informations de la table \"objets\"");
- mysql_free_result();
- return 0;
- }
- while(mysql_fetch_row(resultline)==1)
- {
- split(resultline, Field, '|');
- NbOb=strval(Field[0]);
- objectInfo[NbOb][omodel]=strval(Field[1]);
- objectInfo[NbOb][ox]=floatstr(Field[2]);
- objectInfo[NbOb][oy]=floatstr(Field[3]);
- objectInfo[NbOb][oz]=floatstr(Field[4]);
- objectInfo[NbOb][orx]=floatstr(Field[5]);
- objectInfo[NbOb][ory]=floatstr(Field[6]);
- objectInfo[NbOb][orz]=floatstr(Field[7]);
- objectInfo[NbOb][osave]=strval(Field[8]);
- objectInfo[NbOb][omoovex]=floatstr(Field[9]);
- objectInfo[NbOb][omoovey]=floatstr(Field[10]);
- objectInfo[NbOb][omoovez]=floatstr(Field[11]);
- objectInfo[NbOb][omooverx]=floatstr(Field[12]);
- objectInfo[NbOb][omoovery]=floatstr(Field[13]);
- objectInfo[NbOb][omooverz]=floatstr(Field[14]);
- objectInfo[NbOb][omoovespeed]=floatstr(Field[15]);
- objectInfo[NbOb][oprix]=strval(Field[16]);
- objectInfo[NbOb][otimer]=strval(Field[17]);
- objectInfo[NbOb][oradius]=floatstr(Field[18]);
- format(txdname[NbOb][0], 32, "%s", Field[19]);
- format(texture[NbOb][0], 32, "%s", Field[20]);
- txtmodel[NbOb][0]=strval(Field[21]);
- format(txdname[NbOb][1], 32, "%s", Field[22]);
- format(texture[NbOb][1], 32, "%s", Field[23]);
- txtmodel[NbOb][1]=strval(Field[24]);
- format(txdname[NbOb][2], 32, "%s", Field[25]);
- format(texture[NbOb][2], 32, "%s", Field[26]);
- txtmodel[NbOb][2]=strval(Field[27]);
- format(txdname[NbOb][3], 32, "%s", Field[28]);
- format(texture[NbOb][3], 32, "%s", Field[29]);
- txtmodel[NbOb][3]=strval(Field[30]);
- format(txdname[NbOb][4], 32, "%s", Field[31]);
- format(texture[NbOb][4], 32, "%s", Field[32]);
- txtmodel[NbOb][4]=strval(Field[33]);
- format(txdname[NbOb][5], 32, "%s", Field[34]);
- format(texture[NbOb][5], 32, "%s", Field[35]);
- txtmodel[NbOb][5]=strval(Field[36]);
- format(txdname[NbOb][6], 32, "%s", Field[37]);
- format(texture[NbOb][6], 32, "%s", Field[38]);
- txtmodel[NbOb][6]=strval(Field[39]);
- format(txdname[NbOb][7], 32, "%s", Field[40]);
- format(texture[NbOb][7], 32, "%s", Field[41]);
- txtmodel[NbOb][7]=strval(Field[42]);
- format(txdname[NbOb][8], 32, "%s", Field[43]);
- format(texture[NbOb][8], 32, "%s", Field[44]);
- txtmodel[NbOb][8]=strval(Field[45]);
- format(txdname[NbOb][9], 32, "%s", Field[46]);
- format(texture[NbOb][9], 32, "%s", Field[47]);
- txtmodel[NbOb][9]=strval(Field[48]);
- format(txdname[NbOb][10], 32, "%s", Field[49]);
- format(texture[NbOb][10], 32, "%s", Field[50]);
- txtmodel[NbOb][10]=strval(Field[51]);
- format(txdname[NbOb][11], 32, "%s", Field[52]);
- format(texture[NbOb][11], 32, "%s", Field[53]);
- txtmodel[NbOb][11]=strval(Field[54]);
- format(txdname[NbOb][12], 32, "%s", Field[55]);
- format(texture[NbOb][12], 32, "%s", Field[56]);
- txtmodel[NbOb][12]=strval(Field[57]);
- objectInfo[NbOb][cobjetID]=CreateDynamicObject(objectInfo[NbOb][omodel], objectInfo[NbOb][ox], objectInfo[NbOb][oy], objectInfo[NbOb][oz], objectInfo[NbOb][orx], objectInfo[NbOb][ory], objectInfo[NbOb][orz]);
- for(new t=0;t < 13;t++)
- {
- if(txtmodel[NbOb][t] != 0)
- {
- SetDynamicObjectMaterial(objectInfo[NbOb][cobjetID], t, txtmodel[NbOb][t], texture[NbOb][t], txdname[NbOb][t], 0);
- }
- }
- }
- NbOb=1;
- print("|====> Object loaded system.");
- mysql_free_result();
- return 1;
- }
- stock resetVar(objectid)
- {
- objectInfo[objectid][cobjetID]=0;
- objectInfo[objectid][omodel]=0;
- objectInfo[objectid][ox]=0;
- objectInfo[objectid][oy]=0;
- objectInfo[objectid][oz]=0;
- objectInfo[objectid][orx]=0;
- objectInfo[objectid][ory]=0;
- objectInfo[objectid][orz]=0;
- objectInfo[objectid][osave]=0;
- objectInfo[objectid][omoovex]=0;
- objectInfo[objectid][omoovey]=0;
- objectInfo[objectid][omoovez]=0;
- objectInfo[objectid][omooverx]=0;
- objectInfo[objectid][omoovery]=0;
- objectInfo[objectid][omooverz]=0;
- objectInfo[objectid][omoovespeed]=0;
- objectInfo[objectid][oprix]=0;
- objectInfo[objectid][otimer]=0;
- objectInfo[objectid][oradius]=0;
- for(new t=0;t < 13;t++)
- {
- txdname[objectid][t]=" ";
- texture[objectid][t]=" ";
- txtmodel[objectid][t]=0;
- }
- return 1;
- }
- public UpdateObject(object)
- {
- if(objectInfo[object][omodel] == 0) return 1;
- format(query, sizeof(query), "UPDATE objets SET omodel=%d, ox='%f', oy='%f', oz='%f', orx='%f', ory='%f', orz='%f', osave=%d, omoovex='%f', omoovey='%f', omoovez='%f', omooverx='%f', omoovery='%f', omooverz='%f', omoovespeed='%f', oprix=%d, otimer=%d, oradius='%f' WHERE objetID=%d",
- objectInfo[object][omodel],
- objectInfo[object][ox],
- objectInfo[object][oy],
- objectInfo[object][oz],
- objectInfo[object][orx],
- objectInfo[object][ory],
- objectInfo[object][orz],
- objectInfo[object][osave],
- objectInfo[object][omoovex],
- objectInfo[object][omoovey],
- objectInfo[object][omoovez],
- objectInfo[object][omooverx],
- objectInfo[object][omoovery],
- objectInfo[object][omooverz],
- objectInfo[object][omoovespeed],
- objectInfo[object][oprix],
- objectInfo[object][otimer],
- objectInfo[object][oradius],
- object);
- mysql_query(query);
- format(query, sizeof(query), "UPDATE objets SET txdname0='%s', texture0='%s', txtmodel0=%d, txdname1='%s', texture1='%s', txtmodel1=%d, txdname2='%s', texture2='%s', txtmodel2=%d, txdname3='%s', texture3='%s', txtmodel3=%d, txdname4='%s', texture4='%s', txtmodel4=%d, txdname5='%s', texture5='%s', txtmodel5=%d, txdname6='%s', texture6='%s', txtmodel6=%d WHERE objetID=%d",
- txdname[object][0],
- texture[object][0],
- txtmodel[object][0],
- txdname[object][1],
- texture[object][1],
- txtmodel[object][1],
- txdname[object][2],
- texture[object][2],
- txtmodel[object][2],
- txdname[object][3],
- texture[object][3],
- txtmodel[object][3],
- txdname[object][4],
- texture[object][4],
- txtmodel[object][4],
- txdname[object][5],
- texture[object][5],
- txtmodel[object][5],
- txdname[object][6],
- texture[object][6],
- txtmodel[object][6],
- object);
- mysql_query(query);
- format(query, sizeof(query), "UPDATE objets SET txdname7='%s', texture7='%s', txtmodel7=%d, txdname8='%s', texture8='%s', txtmodel8=%d, txdname9='%s', texture9='%s', txtmodel9=%d, txdname10='%s', texture10='%s', txtmodel10=%d, txdname11='%s', texture11='%s', txtmodel11=%d, txdname12='%s', texture12='%s', txtmodel12=%d WHERE objetID=%d",
- txdname[object][7],
- texture[object][7],
- txtmodel[object][7],
- txdname[object][8],
- texture[object][8],
- txtmodel[object][8],
- txdname[object][9],
- texture[object][9],
- txtmodel[object][9],
- txdname[object][10],
- texture[object][10],
- txtmodel[object][10],
- txdname[object][11],
- texture[object][11],
- txtmodel[object][11],
- txdname[object][12],
- texture[object][12],
- txtmodel[object][12],
- object);
- mysql_query(query);
- return 1;
- }
- stock split(const strsrc[], strdest[][], delimiter)
- {
- new i, li;
- new aNum;
- new len;
- while(i <= strlen(strsrc))
- {
- if(strsrc[i] == delimiter || i == strlen(strsrc))
- {
- len = strmid(strdest[aNum], strsrc, li, i, 128);
- strdest[aNum][len] = 0;
- li = i+1;
- aNum++;
- }
- i++;
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment