Espanol Pawno

[New] Ciudad Mágica RP -Tu segunda vida- [24/7] [0.3z]

- REGISTRO MEDIANTE LA WEB
Si quieres ingresar al servidor, deberas registrarte en nuestro sitio web y ahi configurar tu cuenta, es facil y nuestros certificadores te aprobraron enseguida. Recuerda que debes responder mas de 15 preguntas correctas para pasar la certificacion. En el servidor ahi puro rol, de momento no ahi anti rol, tenemos un staff serio.

¿PROBLEMAS CON EL REGISTRO?
Si tienes problemas para registrarte en el servidor, puedes pedir soporte en nuestro grupo de SAMP, ahi te intentaremos ayudar para que logres pasar la certificacion y si tienes dudas, tambien puedes publicarlas ahi.
En la imagen que esta abajo se puede notar que asi se vera tu personaje una vez registrado y certificado..
NOTA:
Puedes contactarnos y pedirnos soporte, si tienes problemas con la certificacion.
https://www.facebook.com/federeck.darwin
-
https://www.facebook.com/fabianlamas33

GRUPO FACEBOOK:
* www.facebook.com/groups/CMRPG/

ADEMAS!!
Cuando te estas registrando en la web, podras elegir de que roleare.
LSPD, entre otros, tu elegiras que faccion o como sera tu personaje, tu le daras VIDA A TU PERSONAJE!!!

PANEL DE LA WEB
Dentro de la web, podras comprobrar que esta pasando con tu usuario, saber los ultimos comandos que uso y es facil.

- Ciudad Mágica RP -

Es un server Role Play en el cual podrás encontrar diversión y conocer gente de distindos lugares, tanto Europa como América Latina. En Ciudad Mágica además contamos con un sistema de usuarios Premium los cuales proporcionando una donación reciben grandes beneficios dependiendo de la donacion.

DATOS DEL SERVIDOR ( IMPORTANTE )
IP DE SAMP:
* samp.gosuplayer.com:7777
IP DE TS3:
* ts.gosuplayer.com
WEB SERVIDOR:
* www.gosuplayer.com
GRUPO FACEBOOK:
* www.facebook.com/groups/CMRPG/

DATOS IMPORTANTES 2 ( SISTEMAS )

Alguna vez quisiste saber que se siente ser policía?, ladrón?, mafioso?, pandillero?, político?, terrorista?

Esta es tu oportunidad, en Ciudad Mágica RolePlay tenemos un monton de sistemas únicos, Sistemas de Gobierno, Sistemas de CarToys, podés tunear tus vehículos y lucirlos por Los Santos.
Podes invitar a tus amigos para que la diversión sea mayor y obtener beneficios si se registran como tus referidos.
- Además contamos con sistema Premium, en el cuál si te haces premium obtenes gran cantidad de beneficios.

Estamos implementando gran cantidad de sistemas todo el tiempo aca tenes algunos de los sistemas:

- Liquidos de vehiculos (Gasolina, aceite, agua)

- Sistema de Headshots (Las armas mas potentes pueden llegar a matarte de un disparo en la cabeza)

- Graffitis (Si sos pandillero, podés hacer graffitis y conquistar los barrios)

- Radiación (Podes ser de terrorista y plantar una bomba nuclear, entonces si explota la radiación aumentara y si los usuarios no compraron vacunas, los afectara.)

- Motores (Además de tunear tu auto, podés mejorarlo comprandole motores en un taller)

- Temperatura (Si usaste mucho tu vehiculo y el nivel de agua es bajo la temperatura aumenta)

- Evento Zombie (Cada tanto, para salir de rol, convertimos la ciudad en un entorno post-apocaliptico y comenzamos la guerra contra los zombies)

Y muchos mas, asi que entra ya y comenzá a divertirte!

Todas las facciones del servidor.

En total tenemos 20 facciones activas, se activaran mas cuando hallan mas usuarios. Tambien podran crear sus familias.
El gamemode fue creado totalmente desde 0 y tiene cosas unicas!

PD: En el caso que este post sea considerado SPAM por los administradores, disculpen y por favor eliminen el post. La comunidad no se hara responsable de nada

Comunidad en Español dedicada a la creación de servidores San Andreas Multiplayer mediante PAWN (PAWNO), también llamado PawnoScripting.


    [duda] sobre los npc

    Comparte
    avatar
    lucio2405



    Mensajes : 3
    Fecha de inscripción : 24/09/2013
    Edad : 31
    Chorme

    Masculino

    [duda] sobre los npc

    Mensaje por lucio2405 el Dom Abr 20, 2014 1:18 pm

    buenas amigos necesito ayuda con esto de los npc ya logre usar un FS que sirve para que los npc te sigan pero el problema es que los npc solo avanzan en el angulo en las que son grabadas las rec bueno si alguien sabe de lo que estoy hablando aqui les dejo el FS que uso http://pastebin.com/f6a6b2ef2
    o aqui esta en pawno
    [pawn]
    /*
    Timers per player: 1*
    Timer per Zombie: 3*

    *Playing constantly.
    =====================================================================================================
    This is the Zombie Filterscript by Wafffllesss ( Henrique Pauli ). This is my first Filterscript
    And My first npc work. I hope you enjoy this filterscript and make much fun in your server.
    Please do not remove the credits.

    *You can mod this filterscript as you wish.
    *You can use this filterscript in anywhere you want to.
    =====================================================================================================
    */

    // The Zombie Skin.
    // -1: Will random by the skins defined below.
    // -2: Will random by any valid game skin.
    // Any other number will set the skin as you defined ( if valid ).
    static Zombie_Skin=-2;

    //The zombies name. Eg.: If the npc have Zombie in the name, then he'll be a zombie ( Change as you wish ).
    #define ZOMBIE_NAME "Zombie"

    #include <a_samp>
    #include <foreach> // By Y_less
    Itter_Create(Vehicle, MAX_VEHICLES);


    #define COLOR_GREY 0xAFAFAFAA
    #define COLOR_GREEN 0x33AA33AA
    #define COLOR_RED 0xAA3333AA
    #define COLOR_YELLOW 0xFFFF00AA
    #define COLOR_WHITE 0xFFFFFFAA


    forward CheckCloserPlayers(playerid);
    forward NewPos(playerid);
    forward CheckHP(playerid);
    forward KilledBy(playerid,killer);
    forward KickZombie(playerid);
    forward Firing(playerid);
    forward Float:GetDistanceToPlayer(playerid,playerid2);
    forward Float:GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance);
    forward Float:GetPlayerSpeed(playerid);
    forward Float:GetXYInFrontOfVehicle(vehicleid, &Float:x, &Float:y, Float:distance);

    // If Zombie_Skin is equal to -1 then will random this skins:
    new ZombieSkins[]={
    1,
    7,
    9,
    10,
    45
    // Atention, the last skin doesn't have comma.
    };


    enum ZombieEnum{
    ZombieSpawned,
    ZombieTarget,
    ZombieRunning,
    ZombieKilling,
    NPTIMER,
    Ztimers,
    Float:LastZombieHealth,
    Dying,
    HPtimer
    }
    new Zombies[200][ZombieEnum];

    new FiringTimer[200];
    new FiringClick[200];

    new ZombieKill[200];

    new Caller;
    new LastAdded = 0;

    new WeaponDamage[] = {
    1,
    2,
    4,
    4,
    5,
    4,
    4,
    4,
    6,
    15,
    -5,
    -5,
    -5,
    -5,
    -100,
    4,
    13,
    2,
    13,
    0,
    0,
    0,
    8,
    9,
    11,
    15,
    17,
    15,
    8,
    9,
    13,
    13,
    6,
    45,
    55,
    40,
    40,
    27,
    35,
    0,
    0,
    0,
    0,
    0,
    0,
    0
    };
    new Float:WeaponRanges[] = {
    1.0,
    1.0,
    1.2,
    1.2,
    1.1,
    1.2,
    1.2,
    1.3,
    1.2,
    1.3,
    0.5,
    0.5,
    0.5,
    0.5,
    0.5,
    1.4,
    12.0,
    12.0,
    12.0,
    0.0,
    0.0,
    0.0,
    28.0,
    29.0,
    30.0,
    26.0,
    25.0,
    27.0,
    28.0,
    31.0,
    35.0,
    35.0,
    26.0,
    38.0,
    65.0,
    40.0,
    40.0,
    23.0,
    37.0,
    0.0,
    0.0,
    0.0,
    0.0,
    0.0,
    0.0,
    0.0
    };
    public OnFilterScriptInit()
    {
    // If there is players / Npcs / Vehicles online, it'll create the Itter.
    for(new i =0; i<= MAX_PLAYERS;i++){
    if(IsPlayerConnected(i) && !IsPlayerNPC(i)){
    Itter_Add(Player,i);
    FiringTimer[i] = SetTimerEx("Firing",250,1,"i",i);
    ZombieKill[i] = -1;
    }
    else if(IsPlayerConnected(i) && IsPlayerNPC(i)){
    Itter_Add(Bot,i);

    //If he's a zombie. Activate him.
    if(!strfind(PlayerName(i),ZOMBIE_NAME,true)){
    SetupZombie(i);
    }
    }
    }
    new Float:h;
    for(new v=0;v<MAX_VEHICLES;v++){
    GetVehicleHealth(v,h);
    if(h)Itter_Add(Vehicle,v);
    }
    print("\n=====================================");
    print(" Zombie Filterscript By Wafffllesss ");
    print("=====================================\n");
    return 1;
    }

    //=======================================[ Timers ]=========================================//
    public Firing(playerid){
    new up_dw,lf_rg,o_keys,weapon;
    new Float:x,Float:y,Float:z;

    weapon = GetPlayerWeapon(playerid);
    GetPlayerKeys(playerid,o_keys,up_dw,lf_rg);
    if(o_keys == KEY_FIRE || o_keys == (KEY_FIRE+128) ){
    if(!FiringClick[playerid] || Automatic(weapon))
    {
    FiringClick[playerid] = true;
    GetPlayerPos(playerid,x,y,z);
    foreach(Bot,b){
    if(IsPlayerFacingPlayer(playerid,b,5.0)){
    if(IsPlayerInRangeOfPoint(b,WeaponRanges[weapon],x,y,z)){
    Zombies[b][LastZombieHealth] -= float(WeaponDamage[weapon]);
    if(Zombies[b][LastZombieHealth] <= 0.0 && !Zombies[b][Dying]){
    SendDeathMessage(playerid,b,weapon);
    Zombies[b][Dying] = true;
    }
    }
    }
    }
    }
    }else{
    FiringClick[playerid] = false;
    }
    }
    public KickZombie(playerid){
    Kick(playerid);
    Zombies[playerid][Dying]=false;
    KillTimer(Zombies[playerid][HPtimer]); Zombies[playerid][HPtimer] = false;
    KillTimer(Zombies[playerid][Ztimers]); Zombies[playerid][Ztimers] = false;
    if(Zombies[playerid][NPTIMER]){
    KillTimer(Zombies[playerid][NPTIMER]);
    Zombies[playerid][NPTIMER] = false;
    }
    }
    public CheckHP(playerid){ // Check the Zombie HP.
    new Float:x,Float:y,Float:z;
    new cp = GetClosestPlayer(playerid);

    if(IsPlayerInAnyVehicle(cp)){
    new cpc = GetPlayerVehicleID(cp);
    GetVehiclePos(cpc,x,y,z);
    GetXYInFrontOfVehicle(cpc,x,y,1.5);
    if(IsPlayerInRangeOfPoint(playerid,2.0,x,y,z) && GetPlayerSpeed(cp) > 10.0){
    Zombies[playerid][LastZombieHealth] -= (GetPlayerSpeed(cp)*2);
    }
    }
    if( Zombies[playerid][LastZombieHealth] <= 0.0 && Zombies[playerid][ZombieSpawned]){
    ApplyAnimation(playerid,"Knife","KILL_Knife_Ped_Die",1,0,1,0,0,0);
    SetTimerEx("KickZombie",1500,0,"i",playerid);
    Zombies[playerid][Dying] = true;
    }
    }

    public NewPos(playerid){ // Make the zombie Run / Sprint
    if( Zombies[playerid][LastZombieHealth] > 0.0 ){
    new Float:x,Float:y,Float:z;
    new Float:ax,Float:ay,Float:az,Float:dif;
    GetPlayerPos(Zombies[playerid][ZombieTarget],ax,ay,az);
    GetPlayerPos(playerid,x,y,z);
    if( az <= (z+3.0) && az >= (z-3.0)){
    if(Zombies[playerid][ZombieRunning] == 1){
    ApplyAnimation(playerid,"Muscular","MuscleRun",1,1,1,0,0,0);
    GetXYInFrontOfPlayer(playerid,x,y,2.0);
    }
    else if(Zombies[playerid][ZombieRunning] == 2){
    ApplyAnimation(playerid,"Muscular","MuscleSprint",1,1,1,0,0,0);
    GetXYInFrontOfPlayer(playerid,x,y,2.8);
    }

    dif = az;
    SetPlayerPos(playerid,x,y,dif);
    }else{
    if(Zombies[playerid][ZombieRunning]) Parar(playerid);
    GetPlayerPos(playerid,x,y,z);
    SetPlayerPosFindZ(playerid,x,y,z);
    }
    }
    }
    public CheckCloserPlayers(playerid){ // Detect the closest player and chase him
    if( Zombies[playerid][LastZombieHealth] > 0.0 ){
    new cp = GetClosestPlayer(playerid);
    new Float:MinDistance = 3.0;
    if(IsPlayerInAnyVehicle(cp)){ MinDistance = 5.0; }
    Zombies[playerid][ZombieTarget] = cp;
    if(GetDistanceToPlayer(playerid,cp) <= 70.0 && GetDistanceToPlayer(playerid,cp) > 15.0){
    IrParaPlayer(1,playerid,cp);
    }else if(GetDistanceToPlayer(playerid,cp) <= 15.0 && GetDistanceToPlayer(playerid,cp) > MinDistance){
    IrParaPlayer(0,playerid,cp);
    }else if(GetDistanceToPlayer(playerid,cp) <= MinDistance){
    Parar(playerid);
    }
    if(GetDistanceToPlayer(playerid,cp) <= MinDistance){
    new Float:h;
    if(IsPlayerInAnyVehicle(cp)){
    new cpc = GetPlayerVehicleID(cp);
    GetVehicleHealth(cpc,h);
    if(GetDistanceToPlayer(playerid,cp) < MinDistance){
    SetVehicleHealth(cpc,h-80.0);
    ApplyAnimation(playerid,"Gangs","shake_carSH",1,1,1,0,0,0);
    }

    }else{
    if(GetDistanceToPlayer(playerid,cp) > 1.5){
    GetPlayerHealth(cp,h);
    SetPlayerHealth(cp,h-5.0);
    }else if(GetDistanceToPlayer(playerid,cp) <= 1.5){
    if(Zombies[playerid][ZombieKilling] == -1){
    if(!IsDying(cp)){
    FinishHim(playerid,cp);
    }
    }
    }
    }
    }
    }
    }
    public KilledBy(playerid,killer){ // Apply 'dying' animation and kill the player.
    if(Zombies[killer][ZombieKilling] == playerid){
    ApplyAnimation(playerid,"Knife","KILL_Knife_Ped_Die",1,0,1,0,0,0);
    TogglePlayerControllable(playerid,true);
    SetPlayerHealth(playerid,0.0);
    ClearAnimations(killer);
    ZombieKill[playerid] = killer;
    }
    }
    //=======================================[ Functions ]=========================================//
    stock Automatic(weaponid){
    switch(weaponid){
    case 9,22,23,24,27,28,29,30,31,32,37,38: return true;
    }
    return false;
    }
    stock IsDying(playerid){ // Verify if a zombie is killing the player
    foreach(Bot,b){
    if(Zombies[b][ZombieKilling] == playerid) return true;
    }
    return false;
    }
    stock SetupZombie(playerid){ // Activate the zombie.
    new Float:px,Float:py,Float:pz;
    Zombies[playerid][HPtimer] = SetTimerEx("CheckHP",100,1,"i",playerid);
    Zombies[playerid][Ztimers] = SetTimerEx("CheckCloserPlayers",1000,1,"i",playerid);
    GetPlayerPos(Caller,px,py,pz);
    SetPlayerPos(playerid,px,py,pz);
    Zombies[playerid][ZombieRunning] = false;
    SendClientMessageToAll(COLOR_RED,"A Zombie Connected!");

    new Zskin=1;
    if(Zombie_Skin == -1){
    new rd = random(sizeof(ZombieSkins));
    if(IsValidSkin(ZombieSkins[rd])){
    Zskin = ZombieSkins[rd];
    }
    }else if(Zombie_Skin == -2){
    new rd = random(299);
    if(IsValidSkin(rd)){
    Zskin = rd;
    }
    }else if(IsValidSkin(Zombie_Skin)){
    Zskin = Zombie_Skin;
    }
    SetPlayerSkin(playerid,Zskin);

    Zombies[playerid][ZombieKilling] = -1;
    Zombies[playerid][ZombieSpawned] = true;
    Zombies[playerid][LastZombieHealth] = 100.0;
    }

    stock FinishHim(playerid,target){ // Do i need to explain that?
    Zombies[playerid][ZombieKilling] = target;
    TogglePlayerControllable(target,false);
    SetPlayerToFacePlayer(playerid,target);
    SetPlayerToFacePlayer(target,playerid);

    ApplyAnimation(target,"Knife","KILL_Knife_Ped_Damage",1,0,1,0,0,0);
    ApplyAnimation(playerid,"Knife","KILL_Knife_Player",1,0,1,0,0,0);
    SetTimerEx("KilledBy",1500,0,"ii",target,playerid);
    }

    stock Parar(playerid){ // Makes the zombie stop walking.
    if(Zombies[playerid][ZombieRunning]){
    if(Zombies[playerid][NPTIMER]){
    KillTimer(Zombies[playerid][NPTIMER]);
    Zombies[playerid][NPTIMER] = false;
    }
    Zombies[playerid][ZombieRunning] = false;
    ClearAnimations(playerid);
    }
    }

    stock IrParaPlayer(modo,playerid,paraid){ //Make the zombie chase the targeted player. Mode: 1- Run | 2- Sprint
    SetPlayerToFacePlayer(playerid,paraid);
    if(modo == 0 && Zombies[playerid][ZombieRunning] != 1) Caminhar(playerid);
    else if(modo == 1 && Zombies[playerid][ZombieRunning] != 2) Correr(playerid);
    }

    stock Caminhar(playerid){ //Run forward.
    Zombies[playerid][ZombieRunning] = 1;
    Zombies[playerid][NPTIMER] = SetTimerEx("NewPos",400,1,"i",playerid);
    }

    stock Correr(playerid){ //Sprint forward.
    Zombies[playerid][ZombieRunning] = 2;
    Zombies[playerid][NPTIMER] = SetTimerEx("NewPos",300,1,"i",playerid);
    }

    stock AlvoDeAlguem(alvoid){ // Check if the player is target from any zombie.
    foreach(Bot,b){
    if(Zombies[b][ZombieTarget] == alvoid) return b;
    }
    return false;
    }

    stock KickZombies(){ //Kick All Zombies.
    foreach(Bot,b){
    if(!strfind(PlayerName(b),ZOMBIE_NAME,true)){
    SetTimerEx("KickZombie",1,0,"i",b);
    }
    }
    }
    stock SetPlayerToFacePlayer(playerid, targetid) // From a_angles.inc ( Tannz0rz )
    {

    new
    Float:pX,
    Float:pY,
    Float:pZ,
    Float:X,
    Float:Y,
    Float:Z,
    Float:ang;

    if(!IsPlayerConnected(playerid) || !IsPlayerConnected(targetid)) return 0;

    GetPlayerPos(targetid, X, Y, Z);
    GetPlayerPos(playerid, pX, pY, pZ);

    if( Y > pY ) ang = (-acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 90.0);
    else if( Y < pY && X < pX ) ang = (acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 450.0);
    else if( Y < pY ) ang = (acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 90.0);

    if(X > pX) ang = (floatabs(floatabs(ang) + 180.0));
    else ang = (floatabs(ang) - 180.0);

    SetPlayerFacingAngle(playerid, ang);

    return 0;

    }

    stock PlayerName(playerid){
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,MAX_PLAYER_NAME);
    return pname;
    }

    stock Float:GetDistanceToPlayer(playerid,playerid2) {
    new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
    if (!IsPlayerConnected(playerid) || !IsPlayerConnected(playerid2)) {
    return -1.00;
    }
    GetPlayerPos(playerid,x1,y1,z1);
    GetPlayerPos(playerid2,x2,y2,z2);
    return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
    }

    stock GetClosestPlayer(p1){
    new Float:dis,Float:dis2,playerid;
    playerid = -1;
    dis = 99999.99;
    foreach(Player,x){
    dis2 = GetDistanceToPlayer(p1,x);
    if (dis2 < dis && dis2 != -1.00)
    {
    dis = dis2;
    playerid = x;
    }
    }
    //printf("[%d]%s",playerid,PlayerName(playerid));
    return playerid;
    }
    stock Float:GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
    {
    new Float:a;
    GetPlayerPos(playerid, x, y, a);
    if (IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
    else GetPlayerFacingAngle(playerid, a);
    x += (distance * floatsin(-a, degrees));
    y += (distance * floatcos(-a, degrees));
    return a;
    }

    stock IsValidSkin(skinid) // Not mine. Do not remmeber who did it.
    {
    #define MAX_BAD_SKINS 22
    new badSkins[MAX_BAD_SKINS] =
    { 3, 4, 5, 6, 8, 42, 65, 74, 86, 119, 149, 208, 268, 273, 289 };
    if (skinid < 0 || skinid > 299) return false;
    for (new i = 0; i < MAX_BAD_SKINS; i++) { if (skinid == badSkins[i]) return false; }
    #undef MAX_BAD_SKINS
    return 1;
    }

    stock Float:GetPlayerSpeed(playerid) // Not mine. Do not remmember who did it. (It dosn't return the right speed, but works for what I need.)
    {
    new Float:vX, Float:vY, Float:vZ;
    if (!IsPlayerInAnyVehicle(playerid))
    {
    GetPlayerVelocity(playerid, vX, vY, vZ);
    }
    else
    {
    GetVehicleVelocity(GetPlayerVehicleID(playerid), vX, vY, vZ);
    }
    return floatsqroot(vX*vX + vY*vY + vZ*vZ)*100;
    }
    stock Float:GetXYInFrontOfVehicle(vehicleid, &Float:x, &Float:y, Float:distance)
    {
    new Float:a;
    GetVehiclePos(vehicleid, x, y, a);
    GetVehicleZAngle(vehicleid, a);
    x += (distance * floatsin(-a, degrees));
    y += (distance * floatcos(-a, degrees));
    return a;
    }
    stock IsPlayerFacingPlayer(playerid, playerid2, Float:dOffset) // From a_angles.inc ( Tannz0rz )
    {

    new
    Float:X,
    Float:Y,
    Float:Z,
    Float:pX,
    Float:pY,
    Float:pZ,
    Float:pA,
    Float:ang;

    if(!IsPlayerConnected(playerid)) return 0;

    GetPlayerPos(playerid2, pX, pY, pZ);
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, pA);

    if( Y > pY ) ang = (-acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 90.0);
    else if( Y < pY && X < pX ) ang = (acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 450.0);
    else if( Y < pY ) ang = (acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 90.0);

    if(AngleInRangeOfAngle(-ang, pA, dOffset)) return true;

    return false;
    }

    stock AngleInRangeOfAngle(Float:a1, Float:a2, Float:range) // From a_angles.inc ( Tannz0rz )
    {

    a1 -= a2;
    if((a1 < range) && (a1 > -range)) return true;

    return false;

    }
    //=======================================[ Callbacks ]=========================================//

    public OnFilterScriptExit()
    {
    KickZombies();
    return 1;
    }

    public OnPlayerConnect(playerid)
    {
    if(IsPlayerNPC(playerid)){ SpawnPlayer(playerid); }
    else{
    FiringTimer[playerid] = SetTimerEx("Firing",250,1,"i",playerid);
    }
    return 1;
    }

    public OnPlayerDisconnect(playerid, reason)
    {
    if(!IsPlayerNPC(playerid)){
    KillTimer(FiringTimer[playerid]);
    }
    return 1;
    }

    public OnPlayerSpawn(playerid)
    {
    if(IsPlayerNPC(playerid)){
    if(!strfind(PlayerName(playerid),ZOMBIE_NAME,true)){
    SetupZombie(playerid);
    }
    }
    if(ZombieKill[playerid] != -1){
    Zombies[ZombieKill[playerid]][ZombieKilling] = -1;
    ZombieKill[playerid] = -1;
    return 1;
    }
    return 1;
    }

    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(ZombieKill[playerid] != -1){
    SendDeathMessage(ZombieKill[playerid],playerid,reason);
    return 1;
    }
    return 1;
    }

    public OnVehicleSpawn(vehicleid)
    {
    return 1;
    }

    public OnVehicleDeath(vehicleid, killerid)
    {
    return 1;
    }

    public OnPlayerText(playerid, text[])
    {
    return 1;
    }

    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/zombie", true) == 0) {
    if(!IsPlayerAdmin(playerid)) return false;
    Caller = playerid;
    new newname[64];
    format(newname,sizeof(newname),"%s_%d",ZOMBIE_NAME,LastAdded);
    ConnectNPC("Zombie_A","ZombieA");
    LastAdded++;
    return 1;
    }
    return 0;
    }

    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    return 1;
    }

    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }

    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    return 1;
    }

    public OnPlayerEnterCheckpoint(playerid)
    {
    return 1;
    }

    public OnPlayerLeaveCheckpoint(playerid)
    {
    return 1;
    }

    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    return 1;
    }

    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
    return 1;
    }

    public OnRconCommand(cmd[])
    {
    return 1;
    }

    public OnPlayerRequestSpawn(playerid)
    {
    return 1;
    }

    public OnObjectMoved(objectid)
    {
    return 1;
    }

    public OnPlayerObjectMoved(playerid, objectid)
    {
    return 1;
    }

    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    return 1;
    }

    public OnVehicleMod(playerid, vehicleid, componentid)
    {
    return 1;
    }

    public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
    {
    return 1;
    }

    public OnVehicleRespray(playerid, vehicleid, color1, color2)
    {
    return 1;
    }

    public OnPlayerSelectedMenuRow(playerid, row)
    {
    return 1;
    }

    public OnPlayerExitedMenu(playerid)
    {
    return 1;
    }

    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
    {
    return 1;
    }

    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    return 1;
    }

    public OnRconLoginAttempt(ip[], password[], success)
    {
    return 1;
    }

    public OnPlayerUpdate(playerid)
    {
    return 1;
    }

    public OnPlayerStreamIn(playerid, forplayerid)
    {
    return 1;
    }

    public OnPlayerStreamOut(playerid, forplayerid)
    {
    return 1;
    }

    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    return 1;
    }

    public OnVehicleStreamOut(vehicleid, forplayerid)
    {
    return 1;
    }

    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    return 1;
    }

    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    return 1;
    }

    //=======================================[ End of the File ]=========================================//
    [/pawn]
    avatar
    lucio2405



    Mensajes : 3
    Fecha de inscripción : 24/09/2013
    Edad : 31
    Chorme

    Masculino

    [duda] sobre los npc

    Mensaje por lucio2405 el Lun Abr 28, 2014 9:55 pm

    Ya lo solucione antes de cerrar este tema si alguien tiene aun este problema avise antes de que cierren el tema si no es asi que los respectivos encargados cierren el tema

      Fecha y hora actual: Sáb Nov 18, 2017 12:26 pm