Duda sobre altura de Pickups
#1

Hola buenas tardes, tengo una duda. Yo en un comando puedo editar la altura de un pickup? resulta que cree para editarlos pero tengo un inconveniente con un pickup que es el general que tengo que quitarle altura para que pueda verse bien y uso el cуdigo asн

Код:
CreateDynamicPickup(id, 23, DoorInfo[doorid][dPosX], DoorInfo[doorid][dPosY], DoorInfo[doorid][dPosZ] -1.0,  DoorInfo[doorid][dVirtualWorld]);
Lo que esta en negrita es la altura del pickup pero a la hora de cambiarlo por otro pickup queda muy abajo obviamente.

Tambiйn tengo un problema que cuando lo cambio no se elimina el anterior, agradezco de verdad quien me pueda ayudar.

PHP код:
    else if(!strcmp(opcion"Pickup"true))
    {
        new 
pickup;
        if(
sscanf(string"d"pickup)) return SendClientMessage(playeridCOLOR_BLANCO"Uso correcto, /editarentrada id pickup ID pickup");
        
DoorInfo[id][dPickup] = pickup;
        
ActualizarEntrada(id);
        
GuardarEntradas(id);
        
SendClientMessageEx(playeridCOLOR_VERDE"STAFF: {C7C7C7}Modificaste el pickup correctamente ID: %d"id);
        return 
1;
    } 
PHP код:
forward ActualizarEntrada(doorid);
public 
ActualizarEntrada(doorid)
{
    new 
string[40];
    if(
DoorInfo[doorid][dCreada])
    {
        if(
IsValidDynamic3DTextLabel(DoorInfo[doorid][dText3D])) DestroyDynamic3DTextLabel(DoorInfo[doorid][dText3D]);
        if(
IsValidDynamicPickup(DoorInfo[doorid][dPickup])) DestroyDynamicPickup(DoorInfo[doorid][dPickup]);
        
format(stringsizeof(string), "%s\nID: %d"DoorInfo[doorid][dNombre], doorid);
        
DoorInfo[doorid][dText3D] = CreateDynamic3DTextLabel(stringCOLOR_BLANCODoorInfo[doorid][dPosX], DoorInfo[doorid][dPosY], DoorInfo[doorid][dPosZ], 5.0INVALID_PLAYER_IDINVALID_VEHICLE_ID, -1DoorInfo[doorid][dVirtualWorld]);
        
DoorInfo[doorid][dPickup] = CreateDynamicPickup(DoorInfo[doorid][dPickup], 23DoorInfo[doorid][dPosX], DoorInfo[doorid][dPosY], DoorInfo[doorid][dPosZ] - 1.0DoorInfo[doorid][dVirtualWorld]);
    }
    return 
1;

Reply
#2

Usted estб estableciendo el valor de la matriz, una vez eliminado el mismo ID y luego crea con el mismo ID ... Esto no tiene sentido!

Su lуgica:
1 - Crear la pickup;
2 - Elimina la misma pickup;
3 - Crear la misma pickup;

lуgica correcta:
1 - Eliminar la pickup anterior;
2 - Crear la pickup;

Код:
else if(!strcmp(opcion, "Pickup", true)) 
    { 
        new pickup; 
        if(sscanf(string, "d", pickup)) return SendClientMessage(playerid, COLOR_BLANCO, "Uso correcto, /editarentrada id pickup ID pickup"); 
        if(IsValidDynamic3DTextLabel(DoorInfo[pickup][dText3D])) DestroyDynamic3DTextLabel(DoorInfo[pickup][dText3D]); 
        if(IsValidDynamicPickup(DoorInfo[pickup][dPickup])) DestroyDynamicPickup(DoorInfo[pickup][dPickup]); 
        DoorInfo[id][dPickup] = pickup; 
        ActualizarEntrada(id); 
        GuardarEntradas(id); 
        SendClientMessageEx(playerid, COLOR_VERDE, "STAFF: {C7C7C7}Modificaste el pickup correctamente ID: %d", id); 
        return 1; 
    }
Код:
forward ActualizarEntrada(doorid); 
public ActualizarEntrada(doorid) 
{ 
    new string[40]; 
    if(DoorInfo[doorid][dCreada]) 
    { 
        format(string, sizeof(string), "%s\nID: %d", DoorInfo[doorid][dNombre], doorid); 
        DoorInfo[doorid][dText3D] = CreateDynamic3DTextLabel(string, COLOR_BLANCO, DoorInfo[doorid][dPosX], DoorInfo[doorid][dPosY], DoorInfo[doorid][dPosZ], 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, -1, DoorInfo[doorid][dVirtualWorld]); 
        DoorInfo[doorid][dPickup] = CreateDynamicPickup(DoorInfo[doorid][dPickup], 23, DoorInfo[doorid][dPosX], DoorInfo[doorid][dPosY], DoorInfo[doorid][dPosZ] - 1.0, DoorInfo[doorid][dVirtualWorld]); 
    } 
    return 1; 
}
Reply
#3

Код:
stock SetDynamicPickupPos(pickupid,Float:x,Float:y,Float:z){
	Streamer_SetFloatData(STREAMER_TYPE_PICKUP,pickupid,E_STREAMER_X,x);
	Streamer_SetFloatData(STREAMER_TYPE_PICKUP,pickupid,E_STREAMER_Y,y);
	Streamer_SetFloatData(STREAMER_TYPE_PICKUP,pickupid,E_STREAMER_Z,z);
}
Usa esa funciуn.

Hay mбs funciones ъtiles e idйnticas en йste include: https://sampforum.blast.hk/showthread.php?tid=590918
Reply
#4

Resolvн sobre lo del pickup que no se cambiaba, la soluciуn de F1N4L me decнa SERVER: Unknown command pero ya lo solucione solo tengo un problema sobre el guardado del pickup, no guarda el id que coloco.

El guardado y cargado lo tengo INT, pero cuando lo creo le asigno asн

Код:
DoorInfo[i][dPickup] = 1239;
Pero en la base de datos se guarda como si fuera la ID de la entrada creada, alguien me puede decir que pasa o como guardar bien el ID del pickup?

SOLUCIONADO.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)