pawn Код:
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
/************************************
***SISTEMA DE RAMPAS POR DANIEL-92**
************************************/
#include a_samp
new rampa[MAX_PLAYERS];
//--------------------------------------------------------------------------
public OnFilterScriptInit()
{
print(" |-----------------------------|");
print(" |--Sistema de rampas cargado--|");
print(" |-----------------------------|");
}
//--------------------------------------------------------------------------
public OnPlayerConnect(playerid)
{
rampa[playerid] = false;
}
//--------------------------------------------------------------------------
public OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp("/rampa",cmdtext,true)==0) {
if(rampa[playerid]){
rampa[playerid] = false;
SendClientMessage(playerid,0xFFFF00AA,"Rampa desactivada");
}
else {
rampa[playerid] = true;
SendClientMessage(playerid,0x00AA00AA,"Rampa activada");
}
return 1;
}
return 0;
}
//--------------------------------------------------------------------------
public OnPlayerKeyStateChange(playerid, newkeys,oldkeys)
{
if(newkeys & KEY_ACTION) {
if(IsPlayerInAnyVehicle(playerid)) {
if(rampa[playerid]) {
new vehicleid = GetPlayerVehicleID(playerid);
if(IsVehicleValidForRamp(GetVehicleModel(vehicleid))) {
new Float:x,Float:y,Float:z,Float:ang,object;
GetVehiclePos(vehicleid,x,y,z);
GetVehicleZAngle(vehicleid,ang);
x = x+(20*floatsin(-ang,degrees)); //20 es la distancia
y = y+(20*floatcos(-ang,degrees)); //20 es la distancia
object = CreatePlayerObject(playerid,1634,x,y,z,0,0,ang);//1634 es el modelo de la rampa
SetTimerEx("DeletePlayerObject",1*1000,false,"ii",playerid,object);
}
}
}
}
return 0;
}
//--------------------------------------------------------------------------
forward DeletePlayerObject(playerid,objectid);
public DeletePlayerObject(playerid,objectid)
{
DestroyPlayerObject(playerid,objectid);
return 1;
}
//--------------------------------------------------------------------------
stock IsVehicleValidForRamp(modelid)
{
switch(modelid) {
//Aviones
case 558,451,521,400,446,454,603,565,587,506,426,560,589:
return false;
//Helicopteros
case 411,475,535,477,559,541,402,415,438,416,544,420,522,490:
return false;
//barcos
case 427,428,523,597,599,601,470,433,579,503,588,423,483,495,408:
return false;
}
return true;
}
//---------------------------------------------------------------------------
verifica vehнculos que sн son vбlidos para las rampas. Cambia los retornos ("false" a "true" y viceversa)