[HELP] Registration Kicks/Stops NPC :(
#1

When NPC Connects The registration system stops npc, or kicks him/her. How can I stop it...

Here is code:::

pawn Код:
#define FILTERSCRIPT

#include <a_samp>
#include <a_npc>
#include <Dini>
#include <dudb>
#include <streamer>

#pragma unused ret_memcpy

#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_RED 0xAA3333AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_BRIGHTRED 0xFF0000AA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_VIOLET 0x9955DEEE
#define COLOR_LIGHTRED 0xFF99AADD
#define COLOR_SEAGREEN 0x00EEADDF
#define COLOR_GRAYWHITE 0xEEEEFFC4
#define COLOR_LIGHTNEUTRALBLUE 0xabcdef66
#define COLOR_GREENISHGOLD 0xCCFFDD56
#define COLOR_LIGHTBLUEGREEN 0x0FFDD349
#define COLOR_NEUTRALBLUE 0xABCDEF01
#define COLOR_LIGHTCYAN 0xAAFFCC33
#define COLOR_LEMON 0xDDDD2357
#define COLOR_MEDIUMBLUE 0x63AFF00A
#define COLOR_NEUTRAL 0xABCDEF97
#define COLOR_BLACK 0x00000000
#define COLOR_NEUTRALGREEN 0x81CFAB00
#define COLOR_DARKGREEN 0x12900BBF
#define COLOR_LIGHTGREEN 0x24FF0AB9
#define COLOR_DARKBLUE 0x300FFAAB
#define COLOR_BLUEGREEN 0x46BBAA00
#define COLOR_PINK 0xFF66FFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_PURPLE 0x800080AA
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_RED1 0xFF0000AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BROWN 0x993300AA
#define COLOR_CYAN 0x99FFFFAA
#define COLOR_TAN 0xFFFFCCAA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_KHAKI 0x999900AA
#define COLOR_LIME 0x99FF00AA
#define COLOR_SYSTEM 0xEFEFF7AA
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD6 0xF0F0F0FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD1 0xB4B5B7FF

#define SERVER_USER_FILE "/Info/Accounts/%s.ini"

#define PRESSED(%0) \
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))

enum pInfo
{
    pAdminLevel,
    pCash,
    pScore,
    pXp,
}
new PlayerInfo[MAX_PLAYERS][pInfo];
new gPlayerLogged[MAX_PLAYERS];

new Float:RandomSpawn[][2] =
{
    {2124.3093261719, 2379.8139648438},
    {2130.7189941406, 2379.8139648438}
};

//Level:
new Text:Level0;
new Text:Level1;

main()
{
    print("\n----------------------------------");
    print(" Las Venturas RPG");
    print("----------------------------------\n");
}

public OnGameModeInit()
{
    SetGameModeText("LV");
    EnableStuntBonusForAll(0);
    DisableInteriorEnterExits();
   
    ConnectNPC("Manager","Hall_Manager");
   
    new rand = random(sizeof(RandomSpawn));
    AddPlayerClass(29, RandomSpawn[rand][0], RandomSpawn[rand][1], 10.8203125, 180, 0, 0, 0, 0, 0, 0);
   
    AddStaticVehicle(405,1963.3118896484,1342.9033203125,9.2578125,0.0,-1,-1);
   
    //Level:
    Level0 = TextDrawCreate(578.000000, 24.500000, "0");
    TextDrawAlignment(Level0, 2);
    TextDrawBackgroundColor(Level0, 255);
    TextDrawFont(Level0, 3);
    TextDrawLetterSize(Level0, 0.869999, 3.099999);
    TextDrawColor(Level0, -1);
    TextDrawSetOutline(Level0, 1);
    TextDrawSetProportional(Level0, 1);

    Level1 = TextDrawCreate(578.000000, 18.500000, "score");
    TextDrawAlignment(Level1, 2);
    TextDrawBackgroundColor(Level1, 255);
    TextDrawFont(Level1, 3);
    TextDrawLetterSize(Level1, 0.440000, 0.999999);
    TextDrawColor(Level1, -1);
    TextDrawSetOutline(Level1, 1);
    TextDrawSetProportional(Level1, 1);
   
    //Objects And Cars:
    AddStaticVehicleEx(492,2132.73193359,2355.04003906,10.57187462,90.00000000,1,1,30); //Greenwood
    AddStaticVehicleEx(492,2122.79565430,2355.04003906,10.57187462,90.00000000,1,1,30); //Greenwood
   
    CreateDynamicObject(14602,2127.44531250,2395.15747070,-50.00000000,0.00000000,0.00000000,270.00000000,-1,-1,-1,300.0); //object(paperchase01) (1)
    CreateDynamicObject(1522,2126.72143555,2380.45776367,-55.36718750,0.00000000,0.00000000,0.00000000,-1,-1,-1,300.0); //object(gen_doorshop3) (1)
    CreateDynamicObject(1537,2120.32983398,2400.42626953,-55.36718750,0.00000000,0.00000000,90.00000000,-1,-1,-1,300.0); //object(gen_doorext16) (1)
    CreateDynamicObject(1537,2143.17919922,2404.38720703,-55.36718750,0.00000000,0.00000000,270.00000000,-1,-1,-1,300.0); //object(gen_doorext16) (3)
    CreateDynamicObject(1537,2111.80444336,2405.88305664,-55.36718750,0.00000000,0.00000000,90.00000000,-1,-1,-1,300.0); //object(gen_doorext16) (4)
    CreateDynamicObject(2186,2115.36181641,2417.62255859,-55.36833954,0.00000000,0.00000000,0.00000000,-1,-1,-1,300.0); //object(photocopier_1) (1)
    CreateDynamicObject(2202,2138.85742188,2417.64965820,-55.36827087,0.00000000,0.00000000,0.00000000,-1,-1,-1,300.0); //object(photocopier_2) (1)
    CreateDynamicObject(2191,2112.32592773,2416.40747070,-55.37130737,0.00000000,0.00000000,90.00000000,-1,-1,-1,300.0); //object(med_office2_cab) (1)
    CreateDynamicObject(2191,2142.66503906,2416.80615234,-55.37033081,0.00000000,0.00000000,270.00000000,-1,-1,-1,300.0); //object(med_office2_cab) (2)
    CreateDynamicObject(2172,2142.64477539,2397.64624023,-55.36068344,0.00000000,0.00000000,270.00000000,-1,-1,-1,300.0); //object(med_office2_desk_1) (1)
    CreateDynamicObject(2193,2142.53662109,2395.64746094,-55.36068344,0.00000000,0.00000000,180.00000000,-1,-1,-1,300.0); //object(med_office2_desk_2) (1)
    CreateDynamicObject(2172,2142.64477539,2399.65600586,-55.36068344,0.00000000,0.00000000,270.00000000,-1,-1,-1,300.0); //object(med_office2_desk_1) (2)
    CreateDynamicObject(2172,2140.52563477,2394.64208984,-55.36068344,0.00000000,0.00000000,180.00000000,-1,-1,-1,300.0); //object(med_office2_desk_1) (3)
    CreateDynamicObject(2172,2138.51562500,2394.64208984,-55.36068344,0.00000000,0.00000000,180.00000000,-1,-1,-1,300.0); //object(med_office2_desk_1) (4)
    CreateDynamicObject(2172,2142.64477539,2401.66650391,-55.36068344,0.00000000,0.00000000,270.00000000,-1,-1,-1,300.0); //object(med_office2_desk_1) (5)
    CreateDynamicObject(2172,2136.50463867,2394.64208984,-55.36718750,0.00000000,0.00000000,179.99450684,-1,-1,-1,300.0); //object(med_office2_desk_1) (6)
    CreateDynamicObject(2191,2134.43896484,2394.65698242,-55.36718750,0.00000000,0.00000000,180.00000000,-1,-1,-1,300.0); //object(med_office2_cab) (4)
    CreateDynamicObject(1671,2136.16772461,2395.81176758,-54.90697479,0.00000000,0.00000000,0.00000000,-1,-1,-1,300.0); //object(swivelchair_a) (1)
    CreateDynamicObject(1671,2138.14306641,2395.81176758,-54.90047073,0.00000000,0.00000000,0.00000000,-1,-1,-1,300.0); //object(swivelchair_a) (2)
    CreateDynamicObject(1671,2140.13305664,2395.81176758,-54.90047073,0.00000000,0.00000000,0.00000000,-1,-1,-1,300.0); //object(swivelchair_a) (3)
    CreateDynamicObject(1671,2141.99194336,2395.81176758,-54.90047073,0.00000000,0.00000000,0.00000000,-1,-1,-1,300.0); //object(swivelchair_a) (4)
    CreateDynamicObject(1671,2141.44873047,2397.28637695,-54.90047073,0.00000000,0.00000000,90.00000000,-1,-1,-1,300.0); //object(swivelchair_a) (5)
    CreateDynamicObject(1671,2141.44873047,2399.28588867,-54.90047073,0.00000000,0.00000000,90.00000000,-1,-1,-1,300.0); //object(swivelchair_a) (6)
    CreateDynamicObject(1671,2141.44873047,2401.31567383,-54.90047073,0.00000000,0.00000000,90.00000000,-1,-1,-1,300.0); //object(swivelchair_a) (7)
    CreateDynamicObject(1671,2127.32031250,2412.99316406,-54.90047073,0.00000000,0.00000000,0.00000000,-1,-1,-1,300.0); //object(swivelchair_a) (8)
    CreateDynamicObject(2190,2128.28784180,2410.87036133,-54.78706360,0.00000000,0.00000000,185.25000000,-1,-1,-1,300.0); //object(pc_1) (2)
    CreateDynamicObject(2190,2125.76782227,2411.24389648,-54.78706360,0.00000000,0.00000000,129.00000000,-1,-1,-1,300.0); //object(pc_1) (3)
    CreateDynamicObject(2184,2126.26391602,2411.19604492,-55.50031281,0.00000000,0.00000000,0.00000000,-1,-1,-1,300.0); //object(med_office6_desk_2) (1)
    CreateDynamicObject(2894,2126.73291016,2411.94506836,-54.72572708,0.00000000,0.00000000,342.00000000,-1,-1,-1,300.0); //object(kmb_rhymesbook) (1)
    CreateDynamicObject(1210,2127.86010742,2411.95727539,-54.63014221,90.00000000,0.00000000,197.25000000,-1,-1,-1,300.0); //object(briefcase) (1)
    CreateDynamicObject(2855,2134.53686523,2394.50781250,-54.75883484,0.00000000,0.00000000,270.00000000,-1,-1,-1,300.0); //object(gb_bedmags05) (1)
    CreateDynamicObject(2854,2125.32592773,2412.01171875,-54.64062500,0.00000000,0.00000000,128.00000000,-1,-1,-1,300.0); //object(gb_bedmags04) (1)
    CreateDynamicObject(2853,2124.72509766,2413.01782227,-54.64062500,0.00000000,0.00000000,0.00000000,-1,-1,-1,300.0); //object(gb_bedmags03) (1)
    CreateDynamicObject(2852,2129.01318359,2411.75976562,-54.64062500,0.00000000,0.00000000,328.75000000,-1,-1,-1,300.0); //object(gb_bedmags02) (1)
    CreateDynamicObject(2816,2129.80078125,2413.11083984,-54.63394547,0.00000000,0.00000000,92.50000000,-1,-1,-1,300.0); //object(gb_bedmags01) (1)
    CreateDynamicObject(2813,2129.58398438,2412.46655273,-54.64062500,0.00000000,0.00000000,0.00000000,-1,-1,-1,300.0); //object(gb_novels01) (1)
    CreateDynamicObject(2835,2126.99096680,2381.25512695,-55.36718750,0.00000000,0.00000000,0.00000000,-1,-1,-1,300.0); //object(gb_livingrug04) (1)
    CreateDynamicObject(1808,2142.92919922,2408.68652344,-55.36718750,0.00000000,0.00000000,270.00000000,-1,-1,-1,300.0); //object(cj_watercooler2) (4)
    CreateDynamicObject(2961,2111.77050781,2409.76123047,-53.99390411,0.00000000,0.00000000,90.00000000,-1,-1,-1,300.0); //object(fire_break) (1)
    CreateDynamicObject(2690,2111.97827148,2410.17333984,-53.98767853,0.00000000,0.00000000,90.00000000,-1,-1,-1,300.0); //object(cj_fire_ext) (1)
    CreateDynamicObject(2690,2111.92846680,2409.36962891,-53.97372818,0.00000000,0.00000000,270.00000000,-1,-1,-1,300.0); //object(cj_fire_ext) (2)

    //3DTextLabels:
    Create3DTextLabel("*Main Hall*\nClick 'ALT' To Enter",COLOR_WHITE,2127.48828125,2379.3408203125,10.8203125,25.0,0);
    Create3DTextLabel("*Main Hall*\nClick 'ALT' To Exit",COLOR_WHITE,2127.5266113281,2381.1350097656,-54.3671875,25.0,0);

    return 1;
}

public OnGameModeExit()
{
    //Level:
    TextDrawHideForAll(Level0);
    TextDrawDestroy(Level0);
    TextDrawHideForAll(Level1);
    TextDrawDestroy(Level1);
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    if(IsPlayerNPC(playerid)) return 0;
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
}

public OnPlayerConnect(playerid)
{
    if(IsPlayerNPC(playerid)) return 0;
    gPlayerLogged[playerid] = 0;
    new name[MAX_PLAYER_NAME], FILE[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(FILE, sizeof(FILE), SERVER_USER_FILE, name);
    if (!dini_Exists(FILE))
    {
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Register/Login System:", "You Are Not Registered, Write Your Password Below And Register", "Register", "Leave");
    }
    if(fexist(FILE))
    {
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Register/Login System:", "You Are Registered, Write Your Password Below And Login", "Login", "Leave");
    }
    //Login_Camera:
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new name[MAX_PLAYER_NAME], FILE[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(FILE, sizeof(FILE), SERVER_USER_FILE, name);
    if(gPlayerLogged[playerid] == 1)
    {
        dini_IntSet(FILE, "Score", GetPlayerScore(playerid));
        dini_IntSet(FILE,"Money", GetPlayerMoney(playerid));
        dini_IntSet(FILE, "AdminLevel",PlayerInfo[playerid][pAdminLevel]);
    }
    gPlayerLogged[playerid] = 0;
    return 1;
}

public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid)) return 0;
    new name[MAX_PLAYER_NAME], FILE[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(FILE, sizeof(FILE), SERVER_USER_FILE, name);
    if(dini_Exists(FILE))
    {
        PlayerInfo[playerid][pAdminLevel] = dini_Int(FILE,"AdminLevel");
        PlayerInfo[playerid][pCash] = dini_Int(FILE,"Cash");
        PlayerInfo[playerid][pScore] = dini_Int(FILE,"Score");
        PlayerInfo[playerid][pXp] = dini_Int(FILE,"Xp");
    }
   
    //Level:
    TextDrawShowForPlayer(playerid, Level0);
    TextDrawShowForPlayer(playerid, Level1);
   
    if(IsPlayerNPC(playerid)) //Checks if the player that just spawned is an NPC.
    {
        new npcname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, npcname, sizeof(npcname)); //Getting the NPC's name.
        if(!strcmp(npcname, "Manager", true)) //Checking if the NPC's name is MyFirstNPC
        {
            SetPlayerSkin(playerid,141);
            ApplyAnimation(playerid,"BEACH","ParkSit_M_loop ",4.1,0,0,0,0,0);
        }
        return 1;
    }
 
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    //Level:
    TextDrawHideForPlayer(playerid, Level0);
    TextDrawHideForPlayer(playerid, Level1);
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/cash", cmdtext, true, 10) == 0)
    {
        GivePlayerMoney(playerid,10000);
        return 1;
    }
    if (strcmp("/score", cmdtext, true, 10) == 0)
    {
        SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
        return 1;
    }
    if (strcmp("/heal", cmdtext, true, 10) == 0)
    {
        SetPlayerHealth(playerid,100);
        return 1;
    }
    if (strcmp("/kill", cmdtext, true, 10) == 0)
    {
        SetPlayerHealth(playerid,0);
        return 1;
    }
    return 0;
}

public OnPlayerUpdate(playerid)
{
    new Score_String[46];
    format(Score_String, sizeof(Score_String), "%d", GetPlayerScore(playerid));
    TextDrawSetString(Level0, Score_String);
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(IsPlayerNPC(playerid)) return 0;
    if (dialogid == 1)
    {
        new name[MAX_PLAYER_NAME], FILE[256];
        GetPlayerName(playerid, name, sizeof(name));
        format(FILE, sizeof(FILE), SERVER_USER_FILE, name);
        if(!response) return Kick(playerid);
        if (!strlen(inputtext)) return
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Register/Login System:", "You Are Not Registered, Write Your Password Below And Register", "Register", "Leave");
        dini_Create(FILE);
        dini_IntSet(FILE, "Password", udb_hash(inputtext));
        dini_IntSet(FILE, "AdminLevel",PlayerInfo[playerid][pAdminLevel] = 0);
        dini_IntSet(FILE, "Money",PlayerInfo[playerid][pCash] = 100);
        dini_IntSet(FILE, "Score",PlayerInfo[playerid][pScore] = 0);
        dini_IntSet(FILE, "Xp",PlayerInfo[playerid][pXp] = 0);
        gPlayerLogged[playerid] = 1;
    }
    if (dialogid == 2)
    {
        new name[MAX_PLAYER_NAME], FILE[256];
        GetPlayerName(playerid, name, sizeof(name));
        format(FILE, sizeof(FILE), SERVER_USER_FILE, name);
        if(!response) return Kick(playerid);
        if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Register/Login System:", "You Are Registered, Write Your Password Below And Login", "Login", "Leave");
        new tmp;
        tmp = dini_Int(FILE, "Password");
        if(udb_hash(inputtext) != tmp) {
        SendClientMessage(playerid, COLOR_RED, "[System]: Wrong Password.");
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Register/Login System:", "You Are Registered, Write Your Password Below And Login", "Login", "Leave");
        }
        else
        {
        gPlayerLogged[playerid] = 1;
        PlayerInfo[playerid][pAdminLevel] = dini_Int(FILE, "AdminLevel");
        PlayerInfo[playerid][pCash] = dini_Int(FILE,"Money");
        PlayerInfo[playerid][pXp] = dini_Int(FILE,"Xp");
        PlayerInfo[playerid][pScore] = dini_Int(FILE,"Score");
        SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
        GivePlayerMoney(playerid, PlayerInfo[playerid][pCash] - GetPlayerMoney(playerid));
        SendClientMessage(playerid,COLOR_RED, "[System]: You Have Successfully Logged In.");
        }
    }
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if (PRESSED(KEY_WALK))
    {
        if(IsPlayerInRangeOfPoint(playerid,1,2127.48828125,2379.3408203125,10.8203125))
        {
            SetPlayerPos(playerid,2127.5075683594,2381.7824707031,-54.3671875);
            SetPlayerFacingAngle(playerid,0);
            SetCameraBehindPlayer(playerid);
            SetPlayerInterior(playerid,0);
        }
        if(IsPlayerInRangeOfPoint(playerid,1,2127.5075683594,2381.7824707031,-54.3671875))
        {
            SetPlayerPos(playerid,2127.48828125,2379.3408203125,10.8203125);
            SetPlayerFacingAngle(playerid,180);
            SetCameraBehindPlayer(playerid);
            SetPlayerInterior(playerid,0);
        }
    }
    return 0;
}
Reply
#2

Delete
pawn Код:
if(IsPlayerNPC(playerid))  return 0;
from your OnPlayerConnect
See if that helps.
Reply
#3

Didn`t help
Reply
#4

And delete it from OnPlayerSpawn
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)