Help about Save ATTACHMENTS !!
#1

Hello i really need help .
because now i have good server and much player want to use this : attachments !!

on my server just type : /toys then the attachments dialog will showing .

Like this :





The PROBLEM is , Then player disconnected, and connected again , the object is not saved.
so who can help to me for make the attachments will saved ?

This the attachments.pwn

PHP код:
//-------------------------------------------------
//
// This is an example of using the EditAttachedObject functions
// to allow the player to customize their character.
//
// h02 2012
//
// SA-MP 0.3e and above
//
//-------------------------------------------------
#include <a_samp>
#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
enum AttachmentEnum
{
    
attachmodel,
    
attachname[24]
}
new 
AttachmentObjects[][AttachmentEnum] = {
{
18632"FishingRod"},
{
18633"GTASAWrench1"},
{
18634"GTASACrowbar1"},
{
18635"GTASAHammer1"},
{
18636"PoliceCap1"},
{
18637"PoliceShield1"},
{
18638"HardHat1"},
{
18639"BlackHat1"},
{
18640"Hair1"},
{
18975"Hair2"},
{
19136"Hair4"},
{
19274"Hair5"},
{
18641"Flashlight1"},
{
18642"Taser1"},
{
18643"LaserPointer1"},
{
19080"LaserPointer2"},
{
19081"LaserPointer3"},
{
19082"LaserPointer4"},
{
19083"LaserPointer5"},
{
19084"LaserPointer6"},
{
18644"Screwdriver1"},
{
18645"MotorcycleHelmet1"},
{
18865"MobilePhone1"},
{
18866"MobilePhone2"},
{
18867"MobilePhone3"},
{
18868"MobilePhone4"},
{
18869"MobilePhone5"},
{
18870"MobilePhone6"},
{
18871"MobilePhone7"},
{
18872"MobilePhone8"},
{
18873"MobilePhone9"},
{
18874"MobilePhone10"},
{
18875"Pager1"},
{
18890"Rake1"},
{
18891"Bandana1"},
{
18892"Bandana2"},
{
18893"Bandana3"},
{
18894"Bandana4"},
{
18895"Bandana5"},
{
18896"Bandana6"},
{
18897"Bandana7"},
{
18898"Bandana8"},
{
18899"Bandana9"},
{
18900"Bandana10"},
{
18901"Bandana11"},
{
18902"Bandana12"},
{
18903"Bandana13"},
{
18904"Bandana14"},
{
18905"Bandana15"},
{
18906"Bandana16"},
{
18907"Bandana17"},
{
18908"Bandana18"},
{
18909"Bandana19"},
{
18910"Bandana20"},
{
18911"Mask1"},
{
18912"Mask2"},
{
18913"Mask3"},
{
18914"Mask4"},
{
18915"Mask5"},
{
18916"Mask6"},
{
18917"Mask7"},
{
18918"Mask8"},
{
18919"Mask9"},
{
18920"Mask10"},
{
18921"Beret1"},
{
18922"Beret2"},
{
18923"Beret3"},
{
18924"Beret4"},
{
18925"Beret5"},
{
18926"Hat1"},
{
18927"Hat2"},
{
18928"Hat3"},
{
18929"Hat4"},
{
18930"Hat5"},
{
18931"Hat6"},
{
18932"Hat7"},
{
18933"Hat8"},
{
18934"Hat9"},
{
18935"Hat10"},
{
18936"Helmet1"},
{
18937"Helmet2"},
{
18938"Helmet3"},
{
18939"CapBack1"},
{
18940"CapBack2"},
{
18941"CapBack3"},
{
18942"CapBack4"},
{
18943"CapBack5"},
{
18944"HatBoater1"},
{
18945"HatBoater2"},
{
18946"HatBoater3"},
{
18947"HatBowler1"},
{
18948"HatBowler2"},
{
18949"HatBowler3"},
{
18950"HatBowler4"},
{
18951"HatBowler5"},
{
18952"BoxingHelmet1"},
{
18953"CapKnit1"},
{
18954"CapKnit2"},
{
18955"CapOverEye1"},
{
18956"CapOverEye2"},
{
18957"CapOverEye3"},
{
18958"CapOverEye4"},
{
18959"CapOverEye5"},
{
18960"CapRimUp1"},
{
18961"CapTrucker1"},
{
18962"CowboyHat2"},
{
18963"CJElvisHead"},
{
18964"SkullyCap1"},
{
18965"SkullyCap2"},
{
18966"SkullyCap3"},
{
18967"HatMan1"},
{
18968"HatMan2"},
{
18969"HatMan3"},
{
18970"HatTiger1"},
{
18971"HatCool1"},
{
18972"HatCool2"},
{
18973"HatCool3"},
{
18974"MaskZorro1"},
{
18976"MotorcycleHelmet2"},
{
18977"MotorcycleHelmet3"},
{
18978"MotorcycleHelmet4"},
{
18979"MotorcycleHelmet5"},
{
19006"GlassesType1"},
{
19007"GlassesType2"},
{
19008"GlassesType3"},
{
19009"GlassesType4"},
{
19010"GlassesType5"},
{
19011"GlassesType6"},
{
19012"GlassesType7"},
{
19013"GlassesType8"},
{
19014"GlassesType9"},
{
19015"GlassesType10"},
{
19016"GlassesType11"},
{
19017"GlassesType12"},
{
19018"GlassesType13"},
{
19019"GlassesType14"},
{
19020"GlassesType15"},
{
19021"GlassesType16"},
{
19022"GlassesType17"},
{
19023"GlassesType18"},
{
19024"GlassesType19"},
{
19025"GlassesType20"},
{
19026"GlassesType21"},
{
19027"GlassesType22"},
{
19028"GlassesType23"},
{
19029"GlassesType24"},
{
19030"GlassesType25"},
{
19031"GlassesType26"},
{
19032"GlassesType27"},
{
19033"GlassesType28"},
{
19034"GlassesType29"},
{
19035"GlassesType30"},
{
19036"HockeyMask1"},
{
19037"HockeyMask2"},
{
19038"HockeyMask3"},
{
19039"WatchType1"},
{
19040"WatchType2"},
{
19041"WatchType3"},
{
19042"WatchType4"},
{
19043"WatchType5"},
{
19044"WatchType6"},
{
19045"WatchType7"},
{
19046"WatchType8"},
{
19047"WatchType9"},
{
19048"WatchType10"},
{
19049"WatchType11"},
{
19050"WatchType12"},
{
19051"WatchType13"},
{
19052"WatchType14"},
{
19053"WatchType15"},
{
19085"EyePatch1"},
{
19086"ChainsawDildo1"},
{
19090"PomPomBlue"},
{
19091"PomPomRed"},
{
19092"PomPomGreen"},
{
19093"HardHat2"},
{
19094"BurgerShotHat1"},
{
19095"CowboyHat1"},
{
19096"CowboyHat3"},
{
19097"CowboyHat4"},
{
19098"CowboyHat5"},
{
19099"PoliceCap2"},
{
19100"PoliceCap3"},
{
19101"ArmyHelmet1"},
{
19102"ArmyHelmet2"},
{
19103"ArmyHelmet3"},
{
19104"ArmyHelmet4"},
{
19105"ArmyHelmet5"},
{
19106"ArmyHelmet6"},
{
19107"ArmyHelmet7"},
{
19108"ArmyHelmet8"},
{
19109"ArmyHelmet9"},
{
19110"ArmyHelmet10"},
{
19111"ArmyHelmet11"},
{
19112"ArmyHelmet12"},
{
19113"SillyHelmet1"},
{
19114"SillyHelmet2"},
{
19115"SillyHelmet3"},
{
19116"PlainHelmet1"},
{
19117"PlainHelmet2"},
{
19118"PlainHelmet3"},
{
19119"PlainHelmet4"},
{
19120"PlainHelmet5"},
{
19137"CluckinBellHat1"},
{
19138"PoliceGlasses1"},
{
19139"PoliceGlasses2"},
{
19140"PoliceGlasses3"},
{
19141"SWATHelmet1"},
{
19142"SWATArmour1"},
{
19160"HardHat3"},
{
19161"PoliceHat1"},
{
19162"PoliceHat2"},
{
19163"GimpMask1"},
{
19317"bassguitar01"},
{
19318"flyingv01"},
{
19319"warlock01"},
{
19330"fire_hat01"},
{
19331"fire_hat02"},
{
19346"hotdog01"},
{
19347"badge01"},
{
19348"cane01"},
{
19349"monocle01"},
{
19350"moustache01"},
{
19351"moustache02"},
{
19352"tophat01"},
{
19487"tophat02"},
{
19488"HatBowler6"},
{
19513"whitephone"},
{
19515"GreySwatArm"}
};
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"}
};
public 
OnPlayerCommandText(playeridcmdtext[])
{
    if(!
strcmp(cmdtext"/toys"true))
    {
        new 
string[128];
        for(new 
x;x<MAX_PLAYER_ATTACHED_OBJECTS;x++)
        {
            if(
IsPlayerAttachedObjectSlotUsed(playeridx)) format(stringsizeof(string), "%s%d (Used)\n"stringx);
            else 
format(stringsizeof(string), "%s%d\n"stringx);
        }
        
ShowPlayerDialog(playeridDIALOG_ATTACH_INDEX_SELECTIONDIALOG_STYLE_LIST, \
        
"{FF0000}Attachment Modification - Index Selection"string"Select""Cancel");
        return 
1;
    }
    return 
0;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    switch(
dialogid)
    {
        case 
DIALOG_ATTACH_INDEX_SELECTION:
        {
            if(
response)
            {
                if(
IsPlayerAttachedObjectSlotUsed(playeridlistitem))
                {
                    
ShowPlayerDialog(playeridDIALOG_ATTACH_EDITREPLACEDIALOG_STYLE_MSGBOX, \
                    
"{FF0000}Attachment Modification""Do you wish to edit the attachment in that slot, or delete it?""Edit""Delete");
                }
                else
                {
                    new 
string[4000+1];
                    for(new 
x;x<sizeof(AttachmentObjects);x++)
                    {
                        
format(stringsizeof(string), "%s%s\n"stringAttachmentObjects[x][attachname]);
                    }
                    
ShowPlayerDialog(playeridDIALOG_ATTACH_MODEL_SELECTIONDIALOG_STYLE_LIST, \
                    
"{FF0000}Attachment Modification - Model Selection"string"Select""Cancel");
                }
                
SetPVarInt(playerid"AttachmentIndexSel"listitem);
            }
            return 
1;
        }
        case 
DIALOG_ATTACH_EDITREPLACE:
        {
            if(
responseEditAttachedObject(playeridGetPVarInt(playerid"AttachmentIndexSel"));
            else 
RemovePlayerAttachedObject(playeridGetPVarInt(playerid"AttachmentIndexSel"));
            
DeletePVar(playerid"AttachmentIndexSel");
            return 
1;
        }
        case 
DIALOG_ATTACH_MODEL_SELECTION:
        {
            if(
response)
            {
                if(
GetPVarInt(playerid"AttachmentUsed") == 1EditAttachedObject(playeridlistitem);
                else
                {
                    
SetPVarInt(playerid"AttachmentModelSel"AttachmentObjects[listitem][attachmodel]);
                    new 
string[256+1];
                    for(new 
x;x<sizeof(AttachmentBones);x++)
                    {
                        
format(stringsizeof(string), "%s%s\n"stringAttachmentBones[x]);
                    }
                    
ShowPlayerDialog(playeridDIALOG_ATTACH_BONE_SELECTIONDIALOG_STYLE_LIST, \
                    
"{FF0000}Attachment Modification - Bone Selection"string"Select""Cancel");
                }
            }
            else 
DeletePVar(playerid"AttachmentIndexSel");
            return 
1;
        }
        case 
DIALOG_ATTACH_BONE_SELECTION:
        {
            if(
response)
            {
                
SetPlayerAttachedObject(playeridGetPVarInt(playerid"AttachmentIndexSel"), GetPVarInt(playerid"AttachmentModelSel"), listitem+1);
                
EditAttachedObject(playeridGetPVarInt(playerid"AttachmentIndexSel"));
                
SendClientMessage(playerid0xFFFFFFFF"Hint: Use {FFFF00}~k~~PED_SPRINT~{FFFFFF} to look around.");
            }
            
DeletePVar(playerid"AttachmentIndexSel");
            
DeletePVar(playerid"AttachmentModelSel");
            return 
1;
        }
    }
    return 
0;
}
public 
OnPlayerEditAttachedObjectplayeridresponseindexmodelidboneid,
                                   
Float:fOffsetXFloat:fOffsetYFloat:fOffsetZ,
                                   
Float:fRotXFloat:fRotYFloat:fRotZ,
                                   
Float:fScaleXFloat:fScaleYFloat: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);
    print(
debug_string);
    
//SendClientMessage(playerid, 0xFFFFFFFF, debug_string);
    
    
SetPlayerAttachedObject(playerid,index,modelid,boneid,fOffsetX,fOffsetY,fOffsetZ,fRotX,fRotY,fRotZ,fScaleX,fScaleY,fScaleZ);
    
SendClientMessage(playerid0xFFFFFFFF"You finished editing an attached object");
    
    return 
1;

[SIZE="5"]Thanks before for your help +REP1/SIZE]
Reply
#2

Sorry for double post .
but help me please !!!
Reply
#3

help
Reply
#4

anyone can help me ?
Reply
#5

help me
Reply
#6

up !!!
Reply
#7

Help me pliss
Reply
#8

stop spamming ... let's use magic word "search"
https://sampforum.blast.hk/showthread.php?tid=416138
Reply
#9

You need to create New Variable like pToys1 , pToys2 , after you have create all toys you must callback thats variable when server load player data
Reply
#10

Quote:
Originally Posted by HolyScripter
Посмотреть сообщение
You need to create New Variable like pToys1 , pToys2 , after you have create all toys you must callback thats variable when server load player data
Can you make one for me ?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)