Diff
checker
Texto
Texto
Imágenes
Documentos
Excel
Carpetas
Legal
Enterprise
Aplicación de escritorio
Precios
Iniciar sesión
Descargar Diffchecker Desktop
Comparar texto
Encuentra la diferencia entre dos archivos de texto
Herramientas
Historial
Editor live
Ocultar sin cambios
Sin ajuste de línea
Vista
Dividido
Unificado
Nivel de detalle
Inteligente
Palabra
Letra
Resaltado de sintaxis
Elegir sintaxis
Ignorar
Transformar texto
Ir al primer cambio
Editar entrada
Diffchecker Desktop
La forma más segura de usar Diffchecker. ¡Obtén la app de Diffchecker Desktop: tus diffs nunca salen de tu computadora!
Obtener Desktop
TakTak :P
Creado
hace 6 años
El diff nunca expira
Borrar
Exportar
Compartir
Explicar
179 eliminaciones
Líneas
Total
Eliminado
Caracteres
Total
Eliminado
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
224 líneas
Copiar todo
126 adiciones
Líneas
Total
Añadido
Caracteres
Total
Añadido
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
224 líneas
Copiar todo
#if !defined _samp_included
#if !defined _samp_included
Copiar
Copiado
Copiar
Copiado
#error
Please
include a_samp
before actor_robbery.
#error
Lütfen
include a_samp
önce includesini pawn dosyaniza ekleyiniz ondan sonra Soygun_Aktor includesini ekleyiniz. // #include <a_samp> olmazsa bu hatayý verir.
#endif
#endif
#if !defined KEY_AIM
#if !defined KEY_AIM
Copiar
Copiado
Copiar
Copiado
#define KEY_AIM 128
#define KEY_AIM 128
#endif
#endif
#if !defined PreloadAnimLib
#if !defined PreloadAnimLib
Copiar
Copiado
Copiar
Copiado
#define PreloadAnimLib(%1,%2) ApplyAnimation(%1,%2,"null",0.0,0,0,0,0,0)
#define PreloadAnimLib(%1,%2) ApplyAnimation(%1,%2,"null",0.0,0,0,0,0,0)
#endif
#endif
Copiar
Copiado
Copiar
Copiado
#define MAX_
ROBBERY_AC
TOR
S
(50)
#define MAX_
SOYGUN_AK
TOR
(50)
Copiar
Copiado
Copiar
Copiado
#define
TYPE_SUCCESS
(0)
#define
BASARILI_SOYGUN
(0)
#define
TYPE_FAILED
(1)
#define
BASARISIZ_SOYGUN
(1)
#define
TYPE_UNFINISHED
(2)
#define
SOYGUN_BITIRILMEDI
(2)
Copiar
Copiado
Copiar
Copiado
#define MIN_
MONEY_ROB
500
#define MIN_
PARA
1000
#define MAX_
MONEY_ROB
1
0000
#define MAX_
PARA
2
0000
#define
ROBBERY_WAIT_TIME
(5)
#define
SOYGUN_GERI_SAYIM
(5)
Copiar
Copiado
Copiar
Copiado
enum
E_AC
TOR_
ROBBERY_DATA
enum
AK
TOR_
SOYGUN
{
{
Copiar
Copiado
Copiar
Copiado
actor_skin,
actor_skin,
Float:actor_x,
Float:actor_x,
Float:actor_y,
Float:actor_y,
Float:actor_z,
Float:actor_z,
Float:actor_ang,
Float:actor_ang,
actor_vw,
actor_vw,
money_min,
money_min,
money_max,
money_max,
Copiar
Copiado
Copiar
Copiado
bool:actor_created,
bool:actor_created,
actor_robbedRecently
actor_robbedRecently
}
}
Copiar
Copiado
Copiar
Copiado
static
static
robbery
_data[MAX_
ROBBERY_AC
TOR
S][E_AC
TOR_
ROBBERY_DATA
],
soygun
_data[MAX_
SOYGUN_AK
TOR
][AK
TOR_
SOYGUN
],
i_actor = 0;
i_actor = 0;
Copiar
Copiado
Copiar
Copiado
forward
RunActorAnimationSequence
(playerid, actorid, animation_pattern);
forward
AktorAnimasyon
(playerid, actorid, animation_pattern);
forward
OnPlayerStartRobbery
(playerid, actorid, robbed_recently);
forward
SoygunBaslangic
(playerid, actorid, robbed_recently);
forward
OnPlayerFinishRobbery
(playerid, actorid, robbedmoney, type);
forward
SoygunBitis
(playerid, actorid, robbedmoney, type);
Copiar
Copiado
Copiar
Copiado
stock
CreateActorRobbery
(skinid, Float:x, Float:y, Float:z, Float:ang, actor_vwid = 0, r_moneymin = MIN_
MONEY_ROB
, r_moneymax = MAX_
MONEY_ROB
)
stock
AktorOlustur
(skinid, Float:x, Float:y, Float:z, Float:ang, actor_vwid = 0, r_moneymin = MIN_
PARA
, r_moneymax = MAX_
PARA
)
{
{
Copiar
Copiado
Copiar
Copiado
new actorid =
GetActorFreeID
();
new actorid =
SoygunAktorID
();
Copiar
Copiado
Copiar
Copiado
if(actorid == -1)
if(actorid == -1)
{
{
print("ERROR: MAX_
ROBBERY_AC
TOR reached, increase the limit size.");
print("ERROR: MAX_
SOYGUN_AK
TOR reached, increase the limit size.");
return -1;
return -1;
}
}
Copiar
Copiado
Copiar
Copiado
CreateActor(skinid, x, y, z, ang);
CreateActor(skinid, x, y, z, ang);
SetActorVirtualWorld(actorid, actor_vwid);
SetActorVirtualWorld(actorid, actor_vwid);
Copiar
Copiado
Copiar
Copiado
robbery
_data[actorid][actor_created] = true;
soygun
_data[actorid][actor_created] = true;
robbery
_data[actorid][actor_skin] = skinid;
soygun
_data[actorid][actor_skin] = skinid;
robbery
_data[actorid][actor_x] = x;
soygun
_data[actorid][actor_x] = x;
robbery
_data[actorid][actor_y] = y;
soygun
_data[actorid][actor_y] = y;
robbery
_data[actorid][actor_z] = z;
soygun
_data[actorid][actor_z] = z;
robbery
_data[actorid][actor_ang] = ang;
soygun
_data[actorid][actor_ang] = ang;
robbery
_data[actorid][actor_vw] = actor_vwid;
soygun
_data[actorid][actor_vw] = actor_vwid;
robbery
_data[actorid][money_min] = r_moneymin;
soygun
_data[actorid][money_min] = r_moneymin;
robbery
_data[actorid][money_max] = r_moneymax;
soygun
_data[actorid][money_max] = r_moneymax;
Copiar
Copiado
Copiar
Copiado
return (++ i_actor - 1);
return (++ i_actor - 1);
}
}
Copiar
Copiado
Copiar
Copiado
stock
GetActorRobberyData
(actorid, &skinid, &Float:x, &Float:y, &Float:z, &Float:ang, &actor_vwid, &r_moneymin, &r_moneymax)
stock
AktorSoygunVeri
(actorid, &skinid, &Float:x, &Float:y, &Float:z, &Float:ang, &actor_vwid, &r_moneymin, &r_moneymax)
{
{
Copiar
Copiado
Copiar
Copiado
if(actorid == INVALID_ACTOR_ID)
if(actorid == INVALID_ACTOR_ID)
return 1;
return 1;
Copiar
Copiado
Copiar
Copiado
skinid =
robbery
_data[actorid][actor_skin];
skinid =
soygun
_data[actorid][actor_skin];
x =
robbery
_data[actorid][actor_x];
x =
soygun
_data[actorid][actor_x];
y =
robbery
_data[actorid][actor_y];
y =
soygun
_data[actorid][actor_y];
z =
robbery
_data[actorid][actor_z] ;
z =
soygun
_data[actorid][actor_z] ;
ang =
robbery
_data[actorid][actor_ang] ;
ang =
soygun
_data[actorid][actor_ang] ;
actor_vwid =
robbery
_data[actorid][actor_vw];
actor_vwid =
soygun
_data[actorid][actor_vw];
r_moneymin =
robbery
_data[actorid][money_min];
r_moneymin =
soygun
_data[actorid][money_min];
r_moneymax =
robbery
_data[actorid][money_max];
r_moneymax =
soygun
_data[actorid][money_max];
return 1;
return 1;
}
}
Copiar
Copiado
Copiar
Copiado
static
GetActorFreeID()
static
SoygunAktorID()
{
{
Copiar
Copiado
Copiar
Copiado
for(new i = 0; i < MAX_
ROBBERY_AC
TOR
S
; i++)
for(new i = 0; i < MAX_
SOYGUN_AK
TOR
; i++)
{
{
if(!
robbery
_data[i][actor_created]) return i;
if(!
soygun
_data[i][actor_created]) return i;
}
}
return -1;
return -1;
// buraya kesinlikle ellemeyin textdrawli yapacaksaniz "-1" ama textdrawsiz ise "+1" seklinde yapiniz.
}
}
Copiar
Copiado
Copiar
Copiado
public
RunActorAnimationSequence
(playerid, actorid, animation_pattern)
public
AktorAnimasyon
(playerid, actorid, animation_pattern)
{
{
Copiar
Copiado
Copiar
Copiado
switch(animation_pattern)
switch(animation_pattern)
{
{
case 0:
case 0:
{
{
ClearActorAnimations(actorid);
ClearActorAnimations(actorid);
ApplyActorAnimation(actorid, "SHOP", "SHP_Rob_HandsUp", 4.1, 0, 1, 1, 1, 0);
ApplyActorAnimation(actorid, "SHOP", "SHP_Rob_HandsUp", 4.1, 0, 1, 1, 1, 0);
SetTimerEx("RunActorAnimationSequence", 1000 * ROBBERY_WAIT_TIME, false, "iii", playerid, actorid, 1);
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
{
if(!IsPlayerConnected(i)) { continue; }
PlayerPlaySound(i, 3401, x, y, z);
}
}
case 1:
{
if(!IsPlayerInRangeOfPoint(playerid, 10.0, robbery_data[actorid][actor_x], robbery_data[actorid][actor_y], robbery_data[actorid][actor_z]))
{
OnPlayerFinishRobbery(playerid, actorid, 0, TYPE_UNFINISHED);
}
else
{
ClearActorAnimations(actorid);
ApplyActorAnimation(actorid, "SHOP", "SHP_Rob_GiveCash", 4.1, 0, 1, 1, 1, 0);
SetTimerEx("RunActorAnimationSequence", 1000 * ROBBERY_WAIT_TIME, false, "iii", playerid, actorid, 2);
}
}
case 2:
{
ClearActorAnimations(actorid);
ApplyActorAnimation(actorid, "PED", "DUCK_cower", 4.1, 1, 1, 1, 1, 1);
SetTimerEx("RunActorAnimationSequence", 1000 * 60 * ROBBERY_WAIT_TIME, false, "iii", playerid, actorid, 3);
new
robberyChance = random(100);
if(robberyChance > 40)
{
OnPlayerFinishRobbery(playerid, actorid, (random(robbery_data[actorid][money_max] - robbery_data[actorid][money_min]) + robbery_data[actorid][money_min]), TYPE_SUCCESS);
}
else OnPlayerFinishRobbery(playerid, actorid, 0, TYPE_FAILED);
}
case 3:
{
ClearActorAnimations(actorid);
PlayerPlaySound(playerid, 0, 0.0, 0.0, 0.0);
}
Copiar
Copiado
Copiar
Copiado
}
SetTimerEx("AktorAnimasyon", 1000 * SOYGUN_GERI_SAYIM, false, "iii", playerid, actorid, 1);
return 1;
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
{
if(!IsPlayerConnected(i)) { continue; }
PlayerPlaySound(i, 3401, x, y, z);
}
}
case 1:
{
if(!IsPlayerInRangeOfPoint(playerid, 10.0, soygun_data[actorid][actor_x], soygun_data[actorid][actor_y], soygun_data[actorid][actor_z]))
{
SoygunBitis(playerid, actorid, 0, SOYGUN_BITIRILMEDI);
}
else
{
ClearActorAnimations(actorid);
ApplyActorAnimation(actorid, "SHOP", "SHP_Rob_GiveCash", 4.1, 0, 1, 1, 1, 0);
SetTimerEx("AktorAnimasyon", 1000 * SOYGUN_GERI_SAYIM, false, "iii", playerid, actorid, 2);
}
}
case 2:
{
ClearActorAnimations(actorid);
ApplyActorAnimation(actorid, "PED", "DUCK_cower", 4.1, 1, 1, 1, 1, 1);
SetTimerEx("AktorAnimasyon", 1000 * 60 * SOYGUN_GERI_SAYIM, false, "iii", playerid, actorid, 3);
new
robberyChance = random(100);
if(robberyChance > 40)
{
SoygunBitis(playerid, actorid, (random(soygun_data[actorid][money_max] - soygun_data[actorid][money_min]) + soygun_data[actorid][money_min]), BASARILI_SOYGUN);
}
else SoygunBitis(playerid, actorid, 0, BASARISIZ_SOYGUN);
}
case 3:
{
ClearActorAnimations(actorid);
PlayerPlaySound(playerid, 0, 0.0, 0.0, 0.0);
}
}
return 1;
}
}
public OnPlayerConnect(playerid)
public OnPlayerConnect(playerid)
{
{
Copiar
Copiado
Copiar
Copiado
EnablePlayerCameraTarget(playerid, 1);
EnablePlayerCameraTarget(playerid, 1);
Copiar
Copiado
Copiar
Copiado
PreloadAnimLib(playerid, "PED");
PreloadAnimLib(playerid, "PED");
PreloadAnimLib(playerid, "SHOP");
PreloadAnimLib(playerid, "SHOP");
Copiar
Copiado
Copiar
Copiado
#if defined actorrob_OnPlayerConnect
#if defined actorrob_OnPlayerConnect
actorrob_OnPlayerConnect(playerid);
actorrob_OnPlayerConnect(playerid);
#endif
#endif
return 1;
return 1;
}
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
{
Copiar
Copiado
Copiar
Copiado
if((newkeys & KEY_AIM) == KEY_AIM && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
if((newkeys & KEY_AIM) == KEY_AIM && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
{
switch(GetPlayerWeapon(playerid))
switch(GetPlayerWeapon(playerid))
{
{
case 22 .. 33:
case 22 .. 33:
{
{
new actorid = GetPlayerCameraTargetActor(playerid);
new actorid = GetPlayerCameraTargetActor(playerid);
Copiar
Copiado
Copiar
Copiado
if(actorid == INVALID_ACTOR_ID)
if(actorid == INVALID_ACTOR_ID)
return 1;
return 1;
Copiar
Copiado
Copiar
Copiado
if(gettime() -
robbery
_data[actorid][actor_robbedRecently] < 60 *
ROBBERY_WAIT_TIME)
if(gettime() -
soygun
_data[actorid][actor_robbedRecently] < 60 *
SOYGUN_GERI_SAYIM)
return
OnPlayerStartRobbery
(playerid, actorid, 1);
return
SoygunBaslangic
(playerid, actorid, 1);
Copiar
Copiado
Copiar
Copiado
robbery
_data[actorid][actor_robbedRecently] = gettime();
soygun
_data[actorid][actor_robbedRecently] = gettime();
RunActorAnimationSequence
(playerid, actorid, 0);
AktorAnimasyon
(playerid, actorid, 0);
}
}
}
}
}
}
#if defined actorrob_OnPlayerKeyStateChange
#if defined actorrob_OnPlayerKeyStateChange
actorrob_OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
actorrob_OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
#else
#else
return 1;
return 1;
#endif
#endif
}
}
Copiar
Copiado
Copiar
Copiado
//OnPlayerKeyStateChange hook
directives
//OnPlayerKeyStateChange hook
şeklinde yapınız.
#if defined _ALS_OnPlayerKeyStateChange
#if defined _ALS_OnPlayerKeyStateChange
#undef OnPlayerKeyStateChange
#undef OnPlayerKeyStateChange
#else
#else
#define _ALS_OnPlayerKeyState
#define _ALS_OnPlayerKeyState
#endif
#endif
#define OnPlayerKeyStateChange actorrob_OnPlayerKeyStateChange
#define OnPlayerKeyStateChange actorrob_OnPlayerKeyStateChange
#if defined actorrob_OnPlayerKeyStateChange
#if defined actorrob_OnPlayerKeyStateChange
forward actorrob_OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
forward actorrob_OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
#endif
#endif
Copiar
Copiado
Copiar
Copiado
//OnPlayerConnect
directives
//OnPlayerConnect
Bölümü
#if defined _ALS_OnPlayerConnect
#if defined _ALS_OnPlayerConnect
#undef OnPlayerConnect
#undef OnPlayerConnect
#else
#else
#define _ALS_OnPlayerConnect
#define _ALS_OnPlayerConnect
#endif
#endif
#define OnPlayerConnect actorrob_OnPlayerConnect
#define OnPlayerConnect actorrob_OnPlayerConnect
#if defined actorrob_OnPlayerConnect
#if defined actorrob_OnPlayerConnect
forward actorrob_OnPlayerConnect(playerid);
forward actorrob_OnPlayerConnect(playerid);
#endif
#endif
Diferencias guardadas
Texto original
Abrir archivo
#if !defined _samp_included #error Please include a_samp before actor_robbery. #endif #if !defined KEY_AIM #define KEY_AIM 128 #endif #if !defined PreloadAnimLib #define PreloadAnimLib(%1,%2) ApplyAnimation(%1,%2,"null",0.0,0,0,0,0,0) #endif #define MAX_ROBBERY_ACTORS (50) #define TYPE_SUCCESS (0) #define TYPE_FAILED (1) #define TYPE_UNFINISHED (2) #define MIN_MONEY_ROB 500 #define MAX_MONEY_ROB 10000 #define ROBBERY_WAIT_TIME (5) enum E_ACTOR_ROBBERY_DATA { actor_skin, Float:actor_x, Float:actor_y, Float:actor_z, Float:actor_ang, actor_vw, money_min, money_max, bool:actor_created, actor_robbedRecently } static robbery_data[MAX_ROBBERY_ACTORS][E_ACTOR_ROBBERY_DATA], i_actor = 0; forward RunActorAnimationSequence(playerid, actorid, animation_pattern); forward OnPlayerStartRobbery(playerid, actorid, robbed_recently); forward OnPlayerFinishRobbery(playerid, actorid, robbedmoney, type); stock CreateActorRobbery(skinid, Float:x, Float:y, Float:z, Float:ang, actor_vwid = 0, r_moneymin = MIN_MONEY_ROB, r_moneymax = MAX_MONEY_ROB) { new actorid = GetActorFreeID(); if(actorid == -1) { print("ERROR: MAX_ROBBERY_ACTOR reached, increase the limit size."); return -1; } CreateActor(skinid, x, y, z, ang); SetActorVirtualWorld(actorid, actor_vwid); robbery_data[actorid][actor_created] = true; robbery_data[actorid][actor_skin] = skinid; robbery_data[actorid][actor_x] = x; robbery_data[actorid][actor_y] = y; robbery_data[actorid][actor_z] = z; robbery_data[actorid][actor_ang] = ang; robbery_data[actorid][actor_vw] = actor_vwid; robbery_data[actorid][money_min] = r_moneymin; robbery_data[actorid][money_max] = r_moneymax; return (++ i_actor - 1); } stock GetActorRobberyData(actorid, &skinid, &Float:x, &Float:y, &Float:z, &Float:ang, &actor_vwid, &r_moneymin, &r_moneymax) { if(actorid == INVALID_ACTOR_ID) return 1; skinid = robbery_data[actorid][actor_skin]; x = robbery_data[actorid][actor_x]; y = robbery_data[actorid][actor_y]; z = robbery_data[actorid][actor_z] ; ang = robbery_data[actorid][actor_ang] ; actor_vwid = robbery_data[actorid][actor_vw]; r_moneymin = robbery_data[actorid][money_min]; r_moneymax = robbery_data[actorid][money_max]; return 1; } static GetActorFreeID() { for(new i = 0; i < MAX_ROBBERY_ACTORS; i++) { if(!robbery_data[i][actor_created]) return i; } return -1; } public RunActorAnimationSequence(playerid, actorid, animation_pattern) { switch(animation_pattern) { case 0: { ClearActorAnimations(actorid); ApplyActorAnimation(actorid, "SHOP", "SHP_Rob_HandsUp", 4.1, 0, 1, 1, 1, 0); SetTimerEx("RunActorAnimationSequence", 1000 * ROBBERY_WAIT_TIME, false, "iii", playerid, actorid, 1); new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++) { if(!IsPlayerConnected(i)) { continue; } PlayerPlaySound(i, 3401, x, y, z); } } case 1: { if(!IsPlayerInRangeOfPoint(playerid, 10.0, robbery_data[actorid][actor_x], robbery_data[actorid][actor_y], robbery_data[actorid][actor_z])) { OnPlayerFinishRobbery(playerid, actorid, 0, TYPE_UNFINISHED); } else { ClearActorAnimations(actorid); ApplyActorAnimation(actorid, "SHOP", "SHP_Rob_GiveCash", 4.1, 0, 1, 1, 1, 0); SetTimerEx("RunActorAnimationSequence", 1000 * ROBBERY_WAIT_TIME, false, "iii", playerid, actorid, 2); } } case 2: { ClearActorAnimations(actorid); ApplyActorAnimation(actorid, "PED", "DUCK_cower", 4.1, 1, 1, 1, 1, 1); SetTimerEx("RunActorAnimationSequence", 1000 * 60 * ROBBERY_WAIT_TIME, false, "iii", playerid, actorid, 3); new robberyChance = random(100); if(robberyChance > 40) { OnPlayerFinishRobbery(playerid, actorid, (random(robbery_data[actorid][money_max] - robbery_data[actorid][money_min]) + robbery_data[actorid][money_min]), TYPE_SUCCESS); } else OnPlayerFinishRobbery(playerid, actorid, 0, TYPE_FAILED); } case 3: { ClearActorAnimations(actorid); PlayerPlaySound(playerid, 0, 0.0, 0.0, 0.0); } } return 1; } public OnPlayerConnect(playerid) { EnablePlayerCameraTarget(playerid, 1); PreloadAnimLib(playerid, "PED"); PreloadAnimLib(playerid, "SHOP"); #if defined actorrob_OnPlayerConnect actorrob_OnPlayerConnect(playerid); #endif return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if((newkeys & KEY_AIM) == KEY_AIM && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { switch(GetPlayerWeapon(playerid)) { case 22 .. 33: { new actorid = GetPlayerCameraTargetActor(playerid); if(actorid == INVALID_ACTOR_ID) return 1; if(gettime() - robbery_data[actorid][actor_robbedRecently] < 60 * ROBBERY_WAIT_TIME) return OnPlayerStartRobbery(playerid, actorid, 1); robbery_data[actorid][actor_robbedRecently] = gettime(); RunActorAnimationSequence(playerid, actorid, 0); } } } #if defined actorrob_OnPlayerKeyStateChange actorrob_OnPlayerKeyStateChange(playerid, newkeys, oldkeys) #else return 1; #endif } //OnPlayerKeyStateChange hook directives #if defined _ALS_OnPlayerKeyStateChange #undef OnPlayerKeyStateChange #else #define _ALS_OnPlayerKeyState #endif #define OnPlayerKeyStateChange actorrob_OnPlayerKeyStateChange #if defined actorrob_OnPlayerKeyStateChange forward actorrob_OnPlayerKeyStateChange(playerid, newkeys, oldkeys) #endif //OnPlayerConnect directives #if defined _ALS_OnPlayerConnect #undef OnPlayerConnect #else #define _ALS_OnPlayerConnect #endif #define OnPlayerConnect actorrob_OnPlayerConnect #if defined actorrob_OnPlayerConnect forward actorrob_OnPlayerConnect(playerid); #endif
Texto modificado
Abrir archivo
#if !defined _samp_included #error Lütfen include a_samp önce includesini pawn dosyaniza ekleyiniz ondan sonra Soygun_Aktor includesini ekleyiniz. // #include <a_samp> olmazsa bu hatayý verir. #endif #if !defined KEY_AIM #define KEY_AIM 128 #endif #if !defined PreloadAnimLib #define PreloadAnimLib(%1,%2) ApplyAnimation(%1,%2,"null",0.0,0,0,0,0,0) #endif #define MAX_SOYGUN_AKTOR (50) #define BASARILI_SOYGUN (0) #define BASARISIZ_SOYGUN (1) #define SOYGUN_BITIRILMEDI (2) #define MIN_PARA 1000 #define MAX_PARA 20000 #define SOYGUN_GERI_SAYIM (5) enum AKTOR_SOYGUN { actor_skin, Float:actor_x, Float:actor_y, Float:actor_z, Float:actor_ang, actor_vw, money_min, money_max, bool:actor_created, actor_robbedRecently } static soygun_data[MAX_SOYGUN_AKTOR][AKTOR_SOYGUN], i_actor = 0; forward AktorAnimasyon(playerid, actorid, animation_pattern); forward SoygunBaslangic(playerid, actorid, robbed_recently); forward SoygunBitis(playerid, actorid, robbedmoney, type); stock AktorOlustur(skinid, Float:x, Float:y, Float:z, Float:ang, actor_vwid = 0, r_moneymin = MIN_PARA, r_moneymax = MAX_PARA) { new actorid = SoygunAktorID(); if(actorid == -1) { print("ERROR: MAX_SOYGUN_AKTOR reached, increase the limit size."); return -1; } CreateActor(skinid, x, y, z, ang); SetActorVirtualWorld(actorid, actor_vwid); soygun_data[actorid][actor_created] = true; soygun_data[actorid][actor_skin] = skinid; soygun_data[actorid][actor_x] = x; soygun_data[actorid][actor_y] = y; soygun_data[actorid][actor_z] = z; soygun_data[actorid][actor_ang] = ang; soygun_data[actorid][actor_vw] = actor_vwid; soygun_data[actorid][money_min] = r_moneymin; soygun_data[actorid][money_max] = r_moneymax; return (++ i_actor - 1); } stock AktorSoygunVeri(actorid, &skinid, &Float:x, &Float:y, &Float:z, &Float:ang, &actor_vwid, &r_moneymin, &r_moneymax) { if(actorid == INVALID_ACTOR_ID) return 1; skinid = soygun_data[actorid][actor_skin]; x = soygun_data[actorid][actor_x]; y = soygun_data[actorid][actor_y]; z = soygun_data[actorid][actor_z] ; ang = soygun_data[actorid][actor_ang] ; actor_vwid = soygun_data[actorid][actor_vw]; r_moneymin = soygun_data[actorid][money_min]; r_moneymax = soygun_data[actorid][money_max]; return 1; } static SoygunAktorID() { for(new i = 0; i < MAX_SOYGUN_AKTOR; i++) { if(!soygun_data[i][actor_created]) return i; } return -1; // buraya kesinlikle ellemeyin textdrawli yapacaksaniz "-1" ama textdrawsiz ise "+1" seklinde yapiniz. } public AktorAnimasyon(playerid, actorid, animation_pattern) { switch(animation_pattern) { case 0: { ClearActorAnimations(actorid); ApplyActorAnimation(actorid, "SHOP", "SHP_Rob_HandsUp", 4.1, 0, 1, 1, 1, 0); SetTimerEx("AktorAnimasyon", 1000 * SOYGUN_GERI_SAYIM, false, "iii", playerid, actorid, 1); new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++) { if(!IsPlayerConnected(i)) { continue; } PlayerPlaySound(i, 3401, x, y, z); } } case 1: { if(!IsPlayerInRangeOfPoint(playerid, 10.0, soygun_data[actorid][actor_x], soygun_data[actorid][actor_y], soygun_data[actorid][actor_z])) { SoygunBitis(playerid, actorid, 0, SOYGUN_BITIRILMEDI); } else { ClearActorAnimations(actorid); ApplyActorAnimation(actorid, "SHOP", "SHP_Rob_GiveCash", 4.1, 0, 1, 1, 1, 0); SetTimerEx("AktorAnimasyon", 1000 * SOYGUN_GERI_SAYIM, false, "iii", playerid, actorid, 2); } } case 2: { ClearActorAnimations(actorid); ApplyActorAnimation(actorid, "PED", "DUCK_cower", 4.1, 1, 1, 1, 1, 1); SetTimerEx("AktorAnimasyon", 1000 * 60 * SOYGUN_GERI_SAYIM, false, "iii", playerid, actorid, 3); new robberyChance = random(100); if(robberyChance > 40) { SoygunBitis(playerid, actorid, (random(soygun_data[actorid][money_max] - soygun_data[actorid][money_min]) + soygun_data[actorid][money_min]), BASARILI_SOYGUN); } else SoygunBitis(playerid, actorid, 0, BASARISIZ_SOYGUN); } case 3: { ClearActorAnimations(actorid); PlayerPlaySound(playerid, 0, 0.0, 0.0, 0.0); } } return 1; } public OnPlayerConnect(playerid) { EnablePlayerCameraTarget(playerid, 1); PreloadAnimLib(playerid, "PED"); PreloadAnimLib(playerid, "SHOP"); #if defined actorrob_OnPlayerConnect actorrob_OnPlayerConnect(playerid); #endif return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if((newkeys & KEY_AIM) == KEY_AIM && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { switch(GetPlayerWeapon(playerid)) { case 22 .. 33: { new actorid = GetPlayerCameraTargetActor(playerid); if(actorid == INVALID_ACTOR_ID) return 1; if(gettime() - soygun_data[actorid][actor_robbedRecently] < 60 * SOYGUN_GERI_SAYIM) return SoygunBaslangic(playerid, actorid, 1); soygun_data[actorid][actor_robbedRecently] = gettime(); AktorAnimasyon(playerid, actorid, 0); } } } #if defined actorrob_OnPlayerKeyStateChange actorrob_OnPlayerKeyStateChange(playerid, newkeys, oldkeys) #else return 1; #endif } //OnPlayerKeyStateChange hook şeklinde yapınız. #if defined _ALS_OnPlayerKeyStateChange #undef OnPlayerKeyStateChange #else #define _ALS_OnPlayerKeyState #endif #define OnPlayerKeyStateChange actorrob_OnPlayerKeyStateChange #if defined actorrob_OnPlayerKeyStateChange forward actorrob_OnPlayerKeyStateChange(playerid, newkeys, oldkeys) #endif //OnPlayerConnect Bölümü #if defined _ALS_OnPlayerConnect #undef OnPlayerConnect #else #define _ALS_OnPlayerConnect #endif #define OnPlayerConnect actorrob_OnPlayerConnect #if defined actorrob_OnPlayerConnect forward actorrob_OnPlayerConnect(playerid); #endif
Encontrar la diferencia