22.03.2014, 09:22
Here is the total script
Iv problem:-
LINE 572:
Код:
//Player Attachments system by Excel //============================================================================== #include <a_samp> #include <mSelection> #include <sscanf2> #include <dini> #include <zcmd> //============================================================================== #define DIALOG_ATTACH_INDEX 13500 #define DIALOG_ATTACH_INDEX_SELECTION DIALOG_ATTACH_INDEX+1 #define DIALOG_ATTACH_EDITREPLACE DIALOG_ATTACH_INDEX+2 #define DIALOG_ATTACH_MODEL_SELECTION DIALOG_ATTACH_INDEX+3 #define DIALOG_ATTACH_BONE_SELECTION DIALOG_ATTACH_INDEX+4 #define DIALOG_ATTACH_OBJECT_SELECTION DIALOG_ATTACH_INDEX+5 #define DIALOG_ATTACH_OBJECT2_SELECTION DIALOG_ATTACH_INDEX+6 //============================================================================== #define MAX_OSLOTS MAX_PLAYER_ATTACHED_OBJECTS //============================================================================== #define COL_WHITE "{FFFFFF}" #define COL_BLACK "{0E0101}" #define COL_GREY "{C3C3C3}" #define COL_GREEN "{6EF83C}" #define COL_RED "{F81414}" #define COL_YELLOW "{F3FF02}" #define COL_ORANGE "{FFAF00}" #define COL_LIME "{B7FF00}" #define COL_CYAN "{00FFEE}" #define COL_BLUE "{0049FF}" #define COL_MAGENTA "{F300FF}" #define COL_VIOLET "{B700FF}" #define COL_PINK "{FF00EA}" #define COL_MARONE "{A90202}" //============================================================================== new AttachmentObjectsList[] = { 18632, 18633, 18634, 18635, 18636, 18637, 18638, 18639, 18640, 18975, 19136, 19274, 18641, 18642, 18643, 18644, 18645, 18865, 18866, 18867, 18868, 18869, 18870, 18871, 18872, 18873, 18874, 18875, 18890, 18891, 18892, 18893, 18894, 18895, 18896, 18897, 18898, 18899, 18900, 18901, 18902, 18903, 18904, 18905, 18906, 18907, 18908, 18909, 18910, 18911, 18912, 18913, 18914, 18915, 18916, 18917, 18918, 18919, 18920, 18921, 18922, 18923, 18924, 18925, 18926, 18927, 18928, 18929, 18930, 18931, 18932, 18933, 18934, 18935, 18936, 18937, 18938, 18939, 18940, 18941, 18942, 18943, 18944, 18945, 18946, 18947, 18948, 18949, 18950, 18951, 18952, 18953, 18954, 18955, 18956, 18957, 18958, 18959, 18960, 18961, 18962, 18963, 18964, 18965, 18966, 18967, 18968, 18969, 18970, 18971, 18972, 18973, 18974, 18976, 18977, 18978, 18979, 19006, 19007, 19008, 19009, 19010, 19011, 19012, 19013, 19014, 19015, 19016, 19017, 19018, 19019, 19020, 19021, 19022, 19023, 19024, 19025, 19026, 19027, 19028, 19029, 19030, 19031, 19032, 19033, 19034, 19035, 19036, 19037, 19038, 19039, 19040, 19041, 19042, 19043, 19044, 19045, 19046, 19047, 19048, 19049, 19050, 19051, 19052, 19053, 19085, 19086, 19090, 19091, 19092, 19093, 19094, 19095, 19096, 19097, 19098, 19099, 19100, 19101, 19102, 19103, 19104, 19105, 19106, 19107, 19108, 19109, 19110, 19111, 19112, 19113, 19114, 19115, 19116, 19117, 19118, 19119, 19120, 19137, 19138, 19139, 19140, 19141, 19142, 19160, 19161, 19162, 19163, 19317, 19318, 19319, 19330, 19331, 19346, 19347, 19348, 19349, 19350, 19351, 19352, 19487, 19488, 19513, 19515, 331, 333, 334, 335, 336, 337, 338, 339, 341, 321, 322, 323, 324, 325, 326, 343, 346, 347, 348, 349, 350, 351, 352, 353, 355, 356, 372, 357, 358, 361, 363, 364, 365, 366, 367, 368, 369, 371 }; //============================================================================== new AttachmentBones[][24] = { {"Spine"}, {"Head"}, {"Left upper arm"}, {"Right upper arm"}, {"Left hand"}, {"Right hand"}, {"Left thigh"}, {"Right thigh"}, {"Left foot"}, {"Right foot"}, {"Right calf"}, {"Left calf"}, {"Left forearm"}, {"Right forearm"}, {"Left clavicle"}, {"Right clavicle"}, {"Neck"}, {"Jaw"} }; //============================================================================== CMD:o(playerid,params[]) { new string[128]; new dialog[500]; for(new x;x<MAX_OSLOTS;x++) { if(IsPlayerAttachedObjectSlotUsed(playerid, x)) { format(string, sizeof(string), ""COL_WHITE"Slot:%d :: "COL_GREEN"Used Slot\n", x); } else format(string, sizeof(string), ""COL_WHITE"Slot:%d\n", x); strcat(dialog,string); } ShowPlayerDialog(playerid, DIALOG_ATTACH_INDEX_SELECTION, DIALOG_STYLE_LIST,"Player Objects/Attachment: (Select Slot)", dialog, "Select", "Close(X)"); return 1; } CMD:att(playerid,params[]) { return cmd_o(playerid,params); } CMD:attachments(playerid,params[]) { return cmd_o(playerid,params); } //============================================================================== public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid) { case DIALOG_ATTACH_INDEX_SELECTION: { if(response) { if(IsPlayerAttachedObjectSlotUsed(playerid, listitem)) { ShowPlayerDialog(playerid, DIALOG_ATTACH_EDITREPLACE, DIALOG_STYLE_MSGBOX, \ "Player Objects/Attachment: (Delete/Edit)", ""COL_WHITE"Do you wish to edit the attachment in that slot, or delete it?", "Edit(!)", "Delete(X)"); } else { ShowPlayerDialog(playerid,DIALOG_ATTACH_OBJECT_SELECTION,DIALOG_STYLE_LIST,"Player Objects/Attachment: (Select Object Path)","Path:1 :: "COL_GREY"Server Objects Menu\n"COL_WHITE"Path:2 :: "COL_GREY"Custom Object","Next(>>)","Back(<<)"); } SetPVarInt(playerid, "AttachmentIndexSel", listitem); } return 1; } case DIALOG_ATTACH_OBJECT_SELECTION: { if(!response) { cmd_o(playerid,""); } if(response) { if(listitem==0) ShowModelSelectionMenuEx(playerid, AttachmentObjectsList, 228+38, "Player Objects", DIALOG_ATTACH_MODEL_SELECTION, 0.0, 0.0, 0.0, 1.0, 0x00000099, 0x000000EE, 0xACCBF1FF); if(listitem==1) ShowPlayerDialog(playerid,DIALOG_ATTACH_OBJECT2_SELECTION,DIALOG_STYLE_INPUT,"Player Objects/Attachment: (Insert objectid)",""COL_WHITE"Put your custom objectid below, You can also take help from ''http://wiki.sa-mp.com''.","Edit","Back(<<)"); } } case DIALOG_ATTACH_OBJECT2_SELECTION: { if(!response) { ShowPlayerDialog(playerid,DIALOG_ATTACH_OBJECT_SELECTION,DIALOG_STYLE_LIST,"Player Objects/Attachment: (Select Object Path)","Path:1 :: "COL_GREY"Server Objects Menu\n"COL_WHITE"Path:2 :: "COL_GREY"Custom Object","Next(>>)","Back(<<)"); } if(response) { if(!strlen(inputtext))return SendClientMessage(playerid,-1,"PLAYER: You can't leave the coloumn blank."),ShowPlayerDialog(playerid,DIALOG_ATTACH_OBJECT2_SELECTION,DIALOG_STYLE_INPUT,"Player Objects/Attachment: (Insert objectid)",""COL_WHITE"Put your custom objectid below, You can also take help from ''http://wiki.sa-mp.com''.","Edit","Back(<<)"); if(!IsNumeric(inputtext)) return SendClientMessage(playerid,-1,"PLAYER: You can't fill a object name, only object id's allowed."),ShowPlayerDialog(playerid,DIALOG_ATTACH_OBJECT2_SELECTION,DIALOG_STYLE_INPUT,"Player Objects/Attachment: (Insert objectid)",""COL_WHITE"Put your custom objectid below, You can also take help from ''http://wiki.sa-mp.com''.","Edit","Back(<<)"); new obj; if(!sscanf(inputtext, "i", obj)) { if(GetPVarInt(playerid, "AttachmentUsed") == 1) EditAttachedObject(playerid, obj); else { SetPVarInt(playerid, "AttachmentModelSel", obj); new string[256+1]; new dialog[500]; for(new x;x<sizeof(AttachmentBones);x++) { format(string, sizeof(string), "Bone:%s\n", AttachmentBones[x]); strcat(dialog,string); } ShowPlayerDialog(playerid, DIALOG_ATTACH_BONE_SELECTION, DIALOG_STYLE_LIST, \ "{FF0000}Attachment Modification - Bone Selection", dialog, "Select", "Cancel"); } } } } case DIALOG_ATTACH_EDITREPLACE: { if(response) EditAttachedObject(playerid, GetPVarInt(playerid, "AttachmentIndexSel")); else { RemovePlayerAttachedObject(playerid, GetPVarInt(playerid, "AttachmentIndexSel")); DeletePVar(playerid, "AttachmentIndexSel"); new file[256]; new name[24]; new x=GetPVarInt(playerid, "AttachmentIndexSel"); new f1[15],f2[15],f3[15],f4[15],f5[15],f6[15],f7[15],f8[15],f9[15],f10[15],f11[15]; GetPlayerName(playerid,name,24); format(file,sizeof(file),"Player Objects/%s.ini",name); if(!dini_Exists(file)) return 1; format(f1,15,"O_Model_%d",x); format(f2,15,"O_Bone_%d",x); format(f3,15,"O_OffX_%d",x); format(f4,15,"O_OffY_%d",x); format(f5,15,"O_OffZ_%d",x); format(f6,15,"O_RotX_%d",x); format(f7,15,"O_RotY_%d",x); format(f8,15,"O_RotZ_%d",x); format(f9,15,"O_ScaleX_%d",x); format(f10,15,"O_ScaleY_%d",x); format(f11,15,"O_ScaleZ_%d",x); dini_Unset(file,f1); dini_Unset(file,f2); dini_Unset(file,f3); dini_Unset(file,f4); dini_Unset(file,f5); dini_Unset(file,f6); dini_Unset(file,f7); dini_Unset(file,f8); dini_Unset(file,f9); dini_Unset(file,f10); dini_Unset(file,f11); } return 1; } case DIALOG_ATTACH_BONE_SELECTION: { if(response) { SetPlayerAttachedObject(playerid, GetPVarInt(playerid, "AttachmentIndexSel"), GetPVarInt(playerid, "AttachmentModelSel"), listitem+1); EditAttachedObject(playerid, GetPVarInt(playerid, "AttachmentIndexSel")); SendClientMessage(playerid, 0xFFFFFFFF, "PLAYER: You can also hold SPAWN and use MOUSE to view from either sides."); } DeletePVar(playerid, "AttachmentIndexSel"); DeletePVar(playerid, "AttachmentModelSel"); return 1; } } return 0; } //============================================================================== public OnPlayerEditAttachedObject( playerid, response, index, modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ ) { /*new debug_string[256+1]; format(debug_string,256,"SetPlayerAttachedObject(playerid,%d,%d,%d,%f,%f,%f,%f,%f,%f,%f,%f,%f)", index,modelid,boneid,fOffsetX,fOffsetY,fOffsetZ,fRotX,fRotY,fRotZ,fScaleX,fScaleY,fScaleZ);*/ SetPlayerAttachedObject(playerid,index,modelid,boneid,fOffsetX,fOffsetY,fOffsetZ,fRotX,fRotY,fRotZ,fScaleX,fScaleY,fScaleZ); SendClientMessage(playerid, 0xFFFFFFFF, "PLAYER: You have finished editing attachments, it has been saved to your database."); new file[256]; new name[24]; new f1[15],f2[15],f3[15],f4[15],f5[15],f6[15],f7[15],f8[15],f9[15],f10[15],f11[15]; GetPlayerName(playerid,name,24); format(file,sizeof(file),"Player Objects/%s.ini",name); if(!dini_Exists(file)) return 1; format(f1,15,"O_Model_%d",index); format(f2,15,"O_Bone_%d",index); format(f3,15,"O_OffX_%d",index); format(f4,15,"O_OffY_%d",index); format(f5,15,"O_OffZ_%d",index); format(f6,15,"O_RotX_%d",index); format(f7,15,"O_RotY_%d",index); format(f8,15,"O_RotZ_%d",index); format(f9,15,"O_ScaleX_%d",index); format(f10,15,"O_ScaleY_%d",index); format(f11,15,"O_ScaleZ_%d",index); dini_IntSet(file,f1,modelid); dini_IntSet(file,f2,boneid); dini_FloatSet(file,f3,fOffsetX); dini_FloatSet(file,f4,fOffsetY); dini_FloatSet(file,f5,fOffsetZ); dini_FloatSet(file,f6,fRotX); dini_FloatSet(file,f7,fRotY); dini_FloatSet(file,f8,fRotZ); dini_FloatSet(file,f9,fScaleX); dini_FloatSet(file,f10,fScaleY); dini_FloatSet(file,f11,fScaleZ); return 1; } //============================================================================== public OnPlayerConnect(playerid) { new file[256]; new name[24]; new f1[15],f2[15],f3[15],f4[15],f5[15],f6[15],f7[15],f8[15],f9[15],f10[15],f11[15]; GetPlayerName(playerid,name,24); format(file,sizeof(file),"Player Objects/%s.ini",name); if(!dini_Exists(file)) { dini_Create(file); for(new x;x<MAX_OSLOTS;x++) { if(IsPlayerAttachedObjectSlotUsed(playerid, x)) { format(f1,15,"O_Model_%d",x); format(f2,15,"O_Bone_%d",x); format(f3,15,"O_OffX_%d",x); format(f4,15,"O_OffY_%d",x); format(f5,15,"O_OffZ_%d",x); format(f6,15,"O_RotX_%d",x); format(f7,15,"O_RotY_%d",x); format(f8,15,"O_RotZ_%d",x); format(f9,15,"O_ScaleX_%d",x); format(f10,15,"O_ScaleY_%d",x); format(f11,15,"O_ScaleZ_%d",x); dini_IntSet(file,f1,0); dini_IntSet(file,f2,0); dini_FloatSet(file,f3,0.0); dini_FloatSet(file,f4,0.0); dini_FloatSet(file,f5,0.0); dini_FloatSet(file,f6,0.0); dini_FloatSet(file,f7,0.0); dini_FloatSet(file,f8,0.0); dini_FloatSet(file,f9,0.0); dini_FloatSet(file,f10,0.0); dini_FloatSet(file,f11,0.0); } } } } //============================================================================== public OnPlayerSpawn(playerid) { new file[256]; new name[24]; new f1[15],f2[15],f3[15],f4[15],f5[15],f6[15],f7[15],f8[15],f9[15],f10[15],f11[15]; GetPlayerName(playerid,name,24); format(file,sizeof(file),"Player Objects/%s.ini",name); if(!dini_Exists(file)) return 1; for(new x;x<MAX_OSLOTS;x++) { format(f1,15,"O_Model_%d",x); format(f2,15,"O_Bone_%d",x); format(f3,15,"O_OffX_%d",x); format(f4,15,"O_OffY_%d",x); format(f5,15,"O_OffZ_%d",x); format(f6,15,"O_RotX_%d",x); format(f7,15,"O_RotY_%d",x); format(f8,15,"O_RotZ_%d",x); format(f9,15,"O_ScaleX_%d",x); format(f10,15,"O_ScaleY_%d",x); format(f11,15,"O_ScaleZ_%d",x); if(dini_Int(file,f1)!=0) { SetPlayerAttachedObject(playerid,x,dini_Int(file,f1),dini_Int(file,f2),dini_Float(file,f3),dini_Float(file,f4),dini_Float(file,f5),dini_Float(file,f6),dini_Float(file,f7),dini_Float(file,f8),dini_Float(file,f9),dini_Float(file,f10),dini_Float(file,f11)); } } return 1; } //============================================================================== public OnPlayerModelSelectionEx(playerid, response, extraid, modelid2) { if(extraid==DIALOG_ATTACH_MODEL_SELECTION) { if(!response) { ShowPlayerDialog(playerid,DIALOG_ATTACH_OBJECT_SELECTION,DIALOG_STYLE_LIST,"Player Objects/Attachment: (Select Object Path)","Path:1 :: "COL_GREY"Server Objects Menu\n"COL_WHITE"Path:2 :: "COL_GREY"Custom Object","Next(>>)","Back(<<)"); } if(response) { if(GetPVarInt(playerid, "AttachmentUsed") == 1) EditAttachedObject(playerid, modelid2); else { SetPVarInt(playerid, "AttachmentModelSel", modelid2); new string[256+1]; new dialog[500]; for(new x;x<sizeof(AttachmentBones);x++) { format(string, sizeof(string), "Bone:%s\n", AttachmentBones[x]); strcat(dialog,string); } ShowPlayerDialog(playerid, DIALOG_ATTACH_BONE_SELECTION, DIALOG_STYLE_LIST, \ "{FF0000}Attachment Modification - Bone Selection", dialog, "Select", "Cancel"); }//else DeletePVar(playerid, "AttachmentIndexSel"); } } return 1; } //============================================================================== stock IsNumeric(string[]) { for (new i = 0, j = strlen(string); i < j; i++) { if (string[i] > '9' || string[i] < '0') return 0; } return 1; } //==============================================================================
Код:
C:\Users\MaHdy\Desktop\Untitled.pwn(572) : error 025: function heading differs from prototype Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Error.
Код:
public OnPlayerModelSelectionEx(playerid, response, extraid, modelid2) { if(extraid==DIALOG_ATTACH_MODEL_SELECTION) { if(!response) { ShowPlayerDialog(playerid,DIALOG_ATTACH_OBJECT_SELECTION,DIALOG_STYLE_LIST,"Player Objects/Attachment: (Select Object Path)","Path:1 :: "COL_GREY"Server Objects Menu\n"COL_WHITE"Path:2 :: "COL_GREY"Custom Object","Next(>>)","Back(<<)"); } if(response) { if(GetPVarInt(playerid, "AttachmentUsed") == 1) EditAttachedObject(playerid, modelid2); else { SetPVarInt(playerid, "AttachmentModelSel", modelid2); new string[256+1]; new dialog[500]; for(new x;x<sizeof(AttachmentBones);x++) { format(string, sizeof(string), "Bone:%s\n", AttachmentBones[x]); strcat(dialog,string); } ShowPlayerDialog(playerid, DIALOG_ATTACH_BONE_SELECTION, DIALOG_STYLE_LIST, \ "{FF0000}Attachment Modification - Bone Selection", dialog, "Select", "Cancel"); }//else DeletePVar(playerid, "AttachmentIndexSel"); } } return 1; }