[FS] Armas en el Suelo

¿Tienes un FilterScript muy bueno y quieres compartirlo con los demás? ¿Qué esperas? ¡Muéstranoslo aquí!

Moderador: Ayudantes

Reglas del Foro
  • Al liberar un FilterScript, debes informar sobre qué trata el código claramente, imágenes o vídeos y la explicación de cómo usarlo.
  • En caso de que quieras publicar un TextDraw que únicamente cumpla una función estética (como ser un TextDraw que muestra el nombre del servidor), es decir, no cumple ninguna función más que decorativa/visual (a diferencia de un TextDraw que realiza la función de velocímetro y contiene los códigos para ello, por ejemplo), debe ir en la sección Guías y Aportes.
  • Si el link de descarga no funciona, el tema será eliminado.
  • Si no eres el autor del FilterScript o has utilizado códigos de otros autores, recuerda colocar los créditos correspondientes. (El plagio es motivo de sanción).
Responder
Avatar de Usuario
Porte
Aprendiz
Aprendiz
Mensajes: 62
Registrado: 24 Jul 2017 13:27
Reputación: 0

28 Jun 2018 00:25

-Hola estimados , vengo a traerles este Filterscript que la verdad me ha gustado mucho en especial sirve para los roleplays,
espero les guste mucho y desde ya saludos y un cordial abrazo
-good

Imagen


 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143

#define FILTERSCRIPT
#include <a_samp>
#define COLOR_PICK 0xFFC2C2FF
#define function%0(%1) forward %0(%1); public %0(%1)

new activeHeal = 0;
enum dInfo {
    ID,
    Type,
    Weapon,
    Ammo,
    Text3D: Label
}
new DropInfo[MAX_PICKUPS][dInfo];
#if defined FILTERSCRIPT
public OnFilterScriptInit() print("Armas en el suelo cargadas..."), ResetPickups();
public OnFilterScriptExit() DestroyPickups(), ResetPickups();
#else
main() { }
#endif
public OnPlayerDeath(playerid, killerid, reason) drop_player_weapons(playerid, 0);

public OnPlayerPickUpPickup(playerid, pickupid) {
    new string[128];
    for(new i = 0; i < MAX_PICKUPS; i++) {
        if(pickupid == DropInfo[i][ID] && DropInfo[i][ID] != -1) {
            if(DropInfo[i][Type] == 1) {
                SendClientMessage(playerid, COLOR_PICK, "Has encontrado un botiquín. (+10 hp)");
                new Float: HP;
                GetPlayerHealth(playerid, HP);
                if(HP < 90) SetPlayerHealth(playerid, HP+10);
                else SetPlayerHealth(playerid, 100);
            }
            else {
                new gunname[32];
                GetWeaponName(DropInfo[i][Weapon], gunname, sizeof(gunname));
                format(string, sizeof(string), "Has encontrado un arma %s (%d balas).", gunname, DropInfo[i][Ammo]);
                SendClientMessage(playerid, COLOR_PICK, string);
                GivePlayerWeapon(playerid, DropInfo[i][Weapon], DropInfo[i][Ammo]);
            }
            DestroyPickup(DropInfo[i][ID]);
            Delete3DTextLabel(DropInfo[i][Label]);
            DropInfo[i][Type] = 0;
            DropInfo[i][ID] = -1;
            PlayerPlaySound(playerid, 1150, 0.0, 0.0, 10.0);
        }
    }
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
    if(newkeys == KEY_WALK) drop_player_weapons(playerid, 1);
    return 1;
}

function ResetPickups() {
    for(new i = 0; i < MAX_PICKUPS; i++) {
        if(DropInfo[i][ID] != -1) DropInfo[i][ID] = -1;
    }
    return 1;
}

function DestroyPickups() {
    for(new i = 0; i < MAX_PICKUPS; i++) {
        if(DropInfo[i][ID] != -1) {
            DestroyPickup(DropInfo[i][ID]);
            Delete3DTextLabel(DropInfo[i][Label]);
            DropInfo[i][Type] = 0;
            DropInfo[i][ID] = -1;
        }
    }
    return 1;
}

function drop_player_weapons(playerid, type) {
    new Float: Pos[3], string[128], gunname[32], sweapon, sammo, idd, result;
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);

    for(new i = 0; i < 12; i++) {
        GetPlayerWeaponData(playerid, i, sweapon, sammo);
        if(sweapon != 0) {
            result++;
            idd = CheckIDEmpty();
            DropInfo[idd][ID] = CreatePickup(WeaponObject(sweapon), 23, Pos[0]+result, Pos[1]+2, Pos[2], -1);
            DropInfo[idd][Type] =  0;
            DropInfo[idd][Weapon] = sweapon;
            DropInfo[idd][Ammo] = sammo;
            GetWeaponName(sweapon, gunname, sizeof(gunname));
            format(string, sizeof(string), "{90F037}%s\n{FFFFFF}%d balas", gunname, sammo);
            DropInfo[idd][Label] = Create3DTextLabel(string, 0xFFFFFFAA, Pos[0]+result, Pos[1]+2, Pos[2], 10.0, 0, 0);
        }
    }
    if(activeHeal == 1 && type == 0) {
        result++;
        idd = CheckIDEmpty();
        DropInfo[idd][ID] = CreatePickup(1240, 23, Pos[0]+result, Pos[1]+2, Pos[2], -1);
        DropInfo[idd][Type] = 1;
        DropInfo[idd][Weapon] = 0;
        DropInfo[idd][Ammo] = 0;
        DropInfo[idd][Label] = Create3DTextLabel("{DE1212}Botiquín", 0xFFFFFFFF, Pos[0]+result, Pos[1]+2, Pos[2], 10.0, 0, 0);
    }
    ResetPlayerWeapons(playerid);
    return 1;
}

function CheckIDEmpty() {
    for(new i = 0; i < MAX_PICKUPS; i++) {
        if(DropInfo[i][ID] == -1) return i;
    }
    return 0;
}

function WeaponObject(wid) {
    if(wid == 1) return 331;
    else if(wid == 2) return 332;
    else if(wid == 3) return 333;
    else if(wid == 5) return 334;
    else if(wid == 6) return 335;
    else if(wid == 7) return 336;
    else if(wid == 10) return 321;
    else if(wid == 11) return 322;
    else if(wid == 12) return 323;
    else if(wid == 13) return 324;
    else if(wid == 14) return 325;
    else if(wid == 15) return 326;
    else if(wid == 23) return 347;
    else if(wid == 24) return 348;
    else if(wid == 25) return 349;
    else if(wid == 26) return 350;
    else if(wid == 27) return 351;
    else if(wid == 28) return 352;
    else if(wid == 29) return 353;
    else if(wid == 30) return 355;
    else if(wid == 31) return 356;
    else if(wid == 32) return 372;
    else if(wid == 33) return 357;
    else if(wid == 4) return 335;
    else if(wid == 34) return 358;
    else if(wid == 41) return 365;
    else if(wid == 42) return 366;
    else if(wid == 43) return 367;
    return 0;
}
  Cantidad de llaves: Abiertas(23)-Cerradas(23) | Lineas Totales: 143
Avatar de Usuario
KaizerHind
Senior
Senior
Mensajes: 1968
Registrado: 01 Mar 2016 12:27
Ubicación: En algún lugar del mundo.
Contactar:
Reputación: 61

28 Jun 2018 00:36

Porte escribió:
28 Jun 2018 00:25
vengo a traerles este Filterscript que la verdad me ha gustado -good
¿Créditos a?...
Imagen

Actualmente retirado de Pawnscript, si usted desea comunicarse conmigo
puede escribirme en las redes que se encuentran en mi firma.

Desarrollador de Modelos - Versión 0.3 DL.
¿Quieres ver mi trabajo? Entra abajo en mi Pagina de contacto o Portafolio de diseño.

Imagen Pagina de Contacto. Imagen Portafolio de diseño.Imagen Canal de Youtube.ImagenKaizer#2694.


» Aportes dentro del Foro.
.
Yoickel
Aprendiz
Aprendiz
Mensajes: 105
Registrado: 09 May 2018 14:24
Reputación: 0

21 Dic 2018 06:42

Porte escribió:
28 Jun 2018 00:25
-Hola estimados , vengo a traerles este Filterscript que la verdad me ha gustado mucho en especial sirve para los roleplays,
espero les guste mucho y desde ya saludos y un cordial abrazo
-good

Imagen


 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143

#define FILTERSCRIPT
#include <a_samp>
#define COLOR_PICK 0xFFC2C2FF
#define function%0(%1) forward %0(%1); public %0(%1)

new activeHeal = 0;
enum dInfo {
    ID,
    Type,
    Weapon,
    Ammo,
    Text3D: Label
}
new DropInfo[MAX_PICKUPS][dInfo];
#if defined FILTERSCRIPT
public OnFilterScriptInit() print("Armas en el suelo cargadas..."), ResetPickups();
public OnFilterScriptExit() DestroyPickups(), ResetPickups();
#else
main() { }
#endif
public OnPlayerDeath(playerid, killerid, reason) drop_player_weapons(playerid, 0);

public OnPlayerPickUpPickup(playerid, pickupid) {
    new string[128];
    for(new i = 0; i < MAX_PICKUPS; i++) {
        if(pickupid == DropInfo[i][ID] && DropInfo[i][ID] != -1) {
            if(DropInfo[i][Type] == 1) {
                SendClientMessage(playerid, COLOR_PICK, "Has encontrado un botiquín. (+10 hp)");
                new Float: HP;
                GetPlayerHealth(playerid, HP);
                if(HP < 90) SetPlayerHealth(playerid, HP+10);
                else SetPlayerHealth(playerid, 100);
            }
            else {
                new gunname[32];
                GetWeaponName(DropInfo[i][Weapon], gunname, sizeof(gunname));
                format(string, sizeof(string), "Has encontrado un arma %s (%d balas).", gunname, DropInfo[i][Ammo]);
                SendClientMessage(playerid, COLOR_PICK, string);
                GivePlayerWeapon(playerid, DropInfo[i][Weapon], DropInfo[i][Ammo]);
            }
            DestroyPickup(DropInfo[i][ID]);
            Delete3DTextLabel(DropInfo[i][Label]);
            DropInfo[i][Type] = 0;
            DropInfo[i][ID] = -1;
            PlayerPlaySound(playerid, 1150, 0.0, 0.0, 10.0);
        }
    }
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
    if(newkeys == KEY_WALK) drop_player_weapons(playerid, 1);
    return 1;
}

function ResetPickups() {
    for(new i = 0; i < MAX_PICKUPS; i++) {
        if(DropInfo[i][ID] != -1) DropInfo[i][ID] = -1;
    }
    return 1;
}

function DestroyPickups() {
    for(new i = 0; i < MAX_PICKUPS; i++) {
        if(DropInfo[i][ID] != -1) {
            DestroyPickup(DropInfo[i][ID]);
            Delete3DTextLabel(DropInfo[i][Label]);
            DropInfo[i][Type] = 0;
            DropInfo[i][ID] = -1;
        }
    }
    return 1;
}

function drop_player_weapons(playerid, type) {
    new Float: Pos[3], string[128], gunname[32], sweapon, sammo, idd, result;
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);

    for(new i = 0; i < 12; i++) {
        GetPlayerWeaponData(playerid, i, sweapon, sammo);
        if(sweapon != 0) {
            result++;
            idd = CheckIDEmpty();
            DropInfo[idd][ID] = CreatePickup(WeaponObject(sweapon), 23, Pos[0]+result, Pos[1]+2, Pos[2], -1);
            DropInfo[idd][Type] =  0;
            DropInfo[idd][Weapon] = sweapon;
            DropInfo[idd][Ammo] = sammo;
            GetWeaponName(sweapon, gunname, sizeof(gunname));
            format(string, sizeof(string), "{90F037}%s\n{FFFFFF}%d balas", gunname, sammo);
            DropInfo[idd][Label] = Create3DTextLabel(string, 0xFFFFFFAA, Pos[0]+result, Pos[1]+2, Pos[2], 10.0, 0, 0);
        }
    }
    if(activeHeal == 1 && type == 0) {
        result++;
        idd = CheckIDEmpty();
        DropInfo[idd][ID] = CreatePickup(1240, 23, Pos[0]+result, Pos[1]+2, Pos[2], -1);
        DropInfo[idd][Type] = 1;
        DropInfo[idd][Weapon] = 0;
        DropInfo[idd][Ammo] = 0;
        DropInfo[idd][Label] = Create3DTextLabel("{DE1212}Botiquín", 0xFFFFFFFF, Pos[0]+result, Pos[1]+2, Pos[2], 10.0, 0, 0);
    }
    ResetPlayerWeapons(playerid);
    return 1;
}

function CheckIDEmpty() {
    for(new i = 0; i < MAX_PICKUPS; i++) {
        if(DropInfo[i][ID] == -1) return i;
    }
    return 0;
}

function WeaponObject(wid) {
    if(wid == 1) return 331;
    else if(wid == 2) return 332;
    else if(wid == 3) return 333;
    else if(wid == 5) return 334;
    else if(wid == 6) return 335;
    else if(wid == 7) return 336;
    else if(wid == 10) return 321;
    else if(wid == 11) return 322;
    else if(wid == 12) return 323;
    else if(wid == 13) return 324;
    else if(wid == 14) return 325;
    else if(wid == 15) return 326;
    else if(wid == 23) return 347;
    else if(wid == 24) return 348;
    else if(wid == 25) return 349;
    else if(wid == 26) return 350;
    else if(wid == 27) return 351;
    else if(wid == 28) return 352;
    else if(wid == 29) return 353;
    else if(wid == 30) return 355;
    else if(wid == 31) return 356;
    else if(wid == 32) return 372;
    else if(wid == 33) return 357;
    else if(wid == 4) return 335;
    else if(wid == 34) return 358;
    else if(wid == 41) return 365;
    else if(wid == 42) return 366;
    else if(wid == 43) return 367;
    return 0;
}
  Cantidad de llaves: Abiertas(23)-Cerradas(23) | Lineas Totales: 143
Como funciona? osea podre tirar armas / recoger etc. cuando aparecen las armas en el piso ???
Matiditas
Aprendiz
Aprendiz
Mensajes: 180
Registrado: 24 May 2016 23:46
Reputación: 0

24 Ene 2019 14:48

Ese FS esta bugeado, lo rescataste del foro oficial, suerte que yo lo modifiqué para mi y lo arreglé hace unos años xd.
rastagena
Aprendiz
Aprendiz
Mensajes: 6
Registrado: 01 Mar 2019 13:24
Reputación: 0

12 Mar 2019 15:34

Matiditas escribió:
24 Ene 2019 14:48
Ese FS esta bugeado, lo rescataste del foro oficial, suerte que yo lo modifiqué para mi y lo arreglé hace unos años xd.
lo pasas porfa?
Responder