[Ajuda] Callback OnPlayerSpawn nгo й executada!
#1

Boa Noite pessoal. Estou enfrentando um problema meio que esquisito jб que eu nunca vi isso na vida...

A minha callback OnPlayerSpawn nгo estб sendo executada, mesmo eu usando o SetSpawnInfo e o SpawnPlayer.

Na verdade ela atй que executa, mas uma vez ou outra.

Jб fiz Debug e todo o sistema estб funcionando perfeitamente e acredito que esse seja um problema do SA:MP.

Alguйm saberia uma soluзгo para isso?
Reply
#2

Mande o OnPlayerSpawn, ou acha que somos mago para saber o code?
Reply
#3

No Samp 0.3e nao precisa mais usar o SetSpawnInfo (Opional), Caso vocк use essa funзгo indevidamente, nao ira executar da forma correta;

Posta o SetSpawnInfo.
Reply
#4

Quando eu falo que ela nгo estб sendo executada й уbvio que ela nem "aberta" estб sendo, alйm do mais fiz o debug e conclui isso.

A todo caso ai estб ela:

pawn Код:
public OnPlayerSpawn(playerid) {
    #if defined DEBUG
        printf("[debug] OnPlayerSpawn(%d)", playerid);
    #endif
   
    PreloadAnimLib(playerid,"BOMBER");
    PreloadAnimLib(playerid,"RAPPING");
    PreloadAnimLib(playerid,"SHOP");
    PreloadAnimLib(playerid,"BEACH");
    PreloadAnimLib(playerid,"SMOKING");
    PreloadAnimLib(playerid,"ON_LOOKERS");
    PreloadAnimLib(playerid,"DEALER");
    PreloadAnimLib(playerid,"CRACK");
    PreloadAnimLib(playerid,"CARRY");
    PreloadAnimLib(playerid,"COP_AMBIENT");
    PreloadAnimLib(playerid,"PARK");
    PreloadAnimLib(playerid,"INT_HOUSE");
    PreloadAnimLib(playerid,"FOOD");
    PreloadAnimLib(playerid,"GANGS");
    PreloadAnimLib(playerid,"PED");
    PreloadAnimLib(playerid,"FAT");

    SetPlayerColor(playerid, COLOR_WHITE);
    SetPlayerFightingStyle(playerid, playerVariables[playerid][pFightStyle]);
   

    SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 998);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 998); // Skilled, but not dual-wield.

    if(playerVariables[playerid][pPrisonTime] >= 1) {
        switch(playerVariables[playerid][pPrisonID]) {
            case 1: {
                SetPlayerPos(playerid, -26.8721, 2320.9290, 24.3034);
                SetPlayerInterior(playerid, 0);
                SetPlayerVirtualWorld(playerid, 0);
            }
            case 2: {
                SetPlayerPos(playerid, 264.58, 77.38, 1001.04);
                SetPlayerInterior(playerid, 6);
                SetPlayerVirtualWorld(playerid, 0);
            }
            case 3: {

                SetPlayerInterior(playerid, 10);
                SetPlayerVirtualWorld(playerid, GROUP_VIRTUAL_WORLD+1);

                new spawn = random(sizeof(JailSpawns));

                SetPlayerPos(playerid, JailSpawns[spawn][0], JailSpawns[spawn][1], JailSpawns[spawn][2]);
                SetPlayerFacingAngle(playerid, 0);
            }
        }
        return 1;
    }

    if(playerVariables[playerid][pTutorial] == 1) {
        SetPlayerInterior(playerid, 14);
        SetPlayerPos(playerid, 216.9770, -155.4791, 1000.5234);
        SetPlayerFacingAngle(playerid, 267.9681);
        TogglePlayerControllable(playerid, false);
        return 1;
    }

    if(playerVariables[playerid][pHospitalized] >= 1)
        return initiateHospital(playerid);

    SetPlayerSkin(playerid, playerVariables[playerid][pSkin]);
    SetPlayerPos(playerid, playerVariables[playerid][pPos][0], playerVariables[playerid][pPos][1], playerVariables[playerid][pPos][2]);
    SetPlayerInterior(playerid, playerVariables[playerid][pInterior]);
    SetPlayerVirtualWorld(playerid, playerVariables[playerid][pVirtualWorld]);
    SetCameraBehindPlayer(playerid);

    playerVariables[playerid][pSkinSet] = 1;

    ResetPlayerWeapons(playerid);
    givePlayerWeapons(playerid);

    if(playerVariables[playerid][pEvent] >= 1)
        playerVariables[playerid][pEvent] = 0;

    if(playerVariables[playerid][pAdminDuty] == 1) {
        SetPlayerHealth(playerid, 500000.0);
    }
    else {
        SetPlayerHealth(playerid, playerVariables[playerid][pHealth]);
        SetPlayerArmour(playerid, playerVariables[playerid][pArmour]);
    }

    if(!GetPlayerInterior(playerid)) {
        SetPlayerWeather(playerid, weatherVariables[0]);
    }
    else {
        SetPlayerWeather(playerid, INTERIOR_WEATHER_ID);
    }

    syncPlayerTime(playerid);
    TogglePlayerControllable(playerid, true);

    return 1;
}
Reply
#5

Quote:
Originally Posted by dodostyle
Посмотреть сообщение
Posta o SetSpawnInfo.
....
Reply
#6

Tire
pawn Код:
#if defined DEBUG
        printf("[debug] OnPlayerSpawn(%d)", playerid);
    #endif
e tente.
Se der, crie uma variavel chamada "debug".
Reply
#7

O SetSpawnInfo nгo й jб que retirei ele e continuou a mesma coisa...

Ai estб ele:

pawn Код:
SetSpawnInfo(extraid, 0, playerVariables[extraid][pSkin], playerVariables[extraid][pPos][0], playerVariables[extraid][pPos][1], playerVariables[extraid][pPos][2], 0, 0, 0, 0, 0, 0, 0);
@EDIT

Dнos Mнo, depois de tanto tempo parado comecei a ficar pior ainda...

Descobri uma maneira simples e eficaz de resolver o problema!
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)