SA-MP Forums Archive
[AYUDA] filterscripts attachments - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [AYUDA] filterscripts attachments (/showthread.php?tid=579659)



[AYUDA] filterscripts attachments - Darken3 - 29.06.2015

Tengo un Problema cuando pongo el TOYS En el personaje y guardo la editacion no me aparece en el LOG(server.log)
el SetPlayerAttachedObject.Ayuda!


Respuesta: [AYUDA] filterscripts attachments - Goncho28 - 29.06.2015

No entiendo, explнcate mejor


Respuesta: [AYUDA] filterscripts attachments - [DOG]irinel1996 - 29.06.2015

Imprime los datos con print o con printf.


Respuesta: [AYUDA] filterscripts attachments - Darken3 - 30.06.2015

Quote:
Originally Posted by Goncho28
Посмотреть сообщение
No entiendo, explнcate mejor
sigo este tutorial:https://sampforum.blast.hk/showthread.php?tid=415182
Cuando termino de poner el objeto que quiero en la parte del Jugador que quiero pongo save.En ese tutorial dice que al poner el save te aparece SetPlayerAttachedObject con el toys,posicion,slot,etc.En el Server.Log


Respuesta: [AYUDA] filterscripts attachments - Goncho28 - 30.06.2015

Quote:
Originally Posted by Darken3
Посмотреть сообщение
sigo este tutorial:https://sampforum.blast.hk/showthread.php?tid=415182
Cuando termino de poner el objeto que quiero en la parte del Jugador que quiero pongo save.En ese tutorial dice que al poner el save te aparece SetPlayerAttachedObject con el toys,posicion,slot,etc.En el Server.Log
Ah ya entendн, pero no queda en server log, hace mucho no uso el comando para ver pero creo que queda en data ----> Samp ----> savedpositions.txt


Respuesta: [AYUDA] filterscripts attachments - Darken3 - 01.07.2015

En fin їCуmo podria saber la posicion del Objeto en el personaje?


Respuesta: [AYUDA] filterscripts attachments - OTACON - 01.07.2015

como te dijeron, con print o con printf, en el call OnPlayerEditAttachedObject.

https://sampwiki.blast.hk/wiki/OnPlayerEditAttachedObject
https://sampwiki.blast.hk/wiki/printf
https://sampwiki.blast.hk/wiki/print

puedes utilizar el filterscript llamado attachments que viene por defecto en los archivo del samp.
PD: lo datos los obtienes desde la consola del servidor.

filterscript attachments :

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"},
{
19578"Banana"},
{
19418"HandCuff"}
};
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"/attachments"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(playerid0xFFFFFFFFdebug_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;

parte donde guarda los datos:

PHP код:
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(playerid0xFFFFFFFFdebug_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;

saludos.