Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public OnPlayerSpawn(playerid)
- {
- CheckPlayerFlood(playerid, true, MAX_FLOOD_RATE, 500, FLOOD_RATE_KICK);
- killer_id[playerid] = INVALID_PLAYER_ID;
- pDialog [ playerid ] = false ;
- if(PlayerInfo[playerid][pSkin] == -1) return SkinChar(playerid);
- if(PlayerInfo[playerid][pLogin] != 1) return KickD(playerid, "Anda harus masuk untuk memulai permainan!");
- loop_animacija[playerid] = 0;
- isAnimating[playerid] = 0;
- if(gPlayerUsingLoopingAnim[playerid])
- {
- gPlayerUsingLoopingAnim[playerid] = 0;
- }
- TogglePlayerControllable(playerid, false);
- SetTimerEx("ClearFreeze", 4000, false, "d", playerid);
- if(player_bag[playerid])
- {
- player_bag[playerid] = false;
- TextDrawHideForPlayer(playerid, black_display[playerid]);
- }
- player_gag[playerid] = false;
- if(player_tie[playerid])
- {
- TogglePlayerControllable(playerid, true);
- player_tie[playerid] = false;
- }
- SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
- SafeSetPlayerHealth(playerid, 100);
- if(GetPVarInt(playerid, "LoginOgran") != -1) SetPVarInt(playerid, "LoginOgran", -1);
- LevelUpdate(playerid);
- SetPlayerToTeamColor(playerid);
- if(pTemp[playerid][pWork]) pTemp[playerid][pWork] = 0;
- // 2. PERBAIKAN UTAMA: Ganti array lokal besar dengan buffer kecil
- if(PlayerInfo[playerid][pToggleJoinS] == 1)
- {
- // Format pesan
- new message[128];
- format(message, sizeof(message), ""COL_CLIENT"SERVER: "W"[%s] %s(%d) telah mendarat di kota",
- TimeStampp(), GetPlayerNameEx(playerid), playerid);
- SendClientMessageToAll(-1, message);
- }
- if(PlayerInfo[playerid][pSpawnPertama] == 1)
- {
- ResetPlayerWeapons(playerid);
- PlayerInfo[playerid][pPaydayTime] = 300;
- // 1. Optimasi pembuatan satiety bar
- if(PlayerInfo[playerid][pToggleHBE] == 0)
- createSatiety(playerid);
- else if(PlayerInfo[playerid][pToggleHBE] == 1)
- createSatietyvDua(playerid);
- SafeSetPlayerHealth(playerid, PlayerInfo[playerid][pHP]);
- SafeSetPlayerArmour(playerid, PlayerInfo[playerid][pArmor]);
- // 3. Optimasi skin setting
- if(PlayerInfo[playerid][pMember] && PlayerInfo[playerid][pFrSkin])
- {
- SetPlayerSkinEx(playerid, PlayerInfo[playerid][pFrSkin]);
- form_fraction[playerid] = PlayerInfo[playerid][pMember];
- }
- else
- {
- SetPlayerSkinEx(playerid, PlayerInfo[playerid][pSkin]);
- form_fraction[playerid] = 0;
- }
- if(PlayerInfo[playerid][pToggleFPS] == 0)
- {
- for(new i = 0; i < 5; i++)
- {
- TextDrawShowForPlayer(playerid, SHOWFPS[i]);
- }
- for(new x = 0; x < 3; x++)
- {
- PlayerTextDrawShow(playerid, SHOWFPSDISPLAY[playerid][x]);
- }
- }
- if(PlayerInfo[playerid][pAStaterpack] == 0)
- {
- for(new g; g < 5; g++) PlayerTextDrawShow(playerid, wargablmSP[playerid][g]);
- }
- for(new z = 0; z < 3; z++)
- {
- PlayerTextDrawShow(playerid, PaydaytimeTD[playerid][z]);
- }
- PlayerInfo[playerid][pHouseKey] = GetPlayerHouse(playerid);
- PlayerInfo[playerid][pSpawnPertama] = 0;
- }
- SetPlayerSpawn(playerid);
- return 1;
- }
- stock SetPlayerSpawn(playerid)
- {
- if(GetPVarInt(playerid, "spawn_after_duel"))
- {
- SafeSetPlayerHealth(playerid, 100.0);
- SetPPosEx(playerid, 2405.4067,-1470.8069,23.9574, 0.0, GetPlayerInterior(playerid), 0, false);
- DeletePVar(playerid, "spawn_after_duel");
- return 1;
- }
- Iter_Add(SpectatePlayers, playerid);
- foreach (new i : Player) {
- if (playerSpectateID[i] == playerid) {
- StartSpectateEx(i, playerid);
- }
- }
- if(PlayerInfo[playerid][pPrison] > 0)
- {
- SetPPosEx(playerid, 277.6999,1410.9288,10.4308,88.5235, 0, 0, true);
- SetCameraBehindPlayer(playerid), ResetWeapons(playerid);
- for(new txd; txd < 31; txd++) {
- if(IsValidDynamicPlayerTextDraw(playerid, alwSpawnTD[playerid][txd])) {
- PlayerTextDrawDestroy(playerid, alwSpawnTD[playerid][txd]);
- }
- }
- CancelSelectTextDraw(playerid);
- PlayerTextDrawShow(playerid, JAILTD[playerid][0]);
- return 1;
- }
- if(PlayerInfo[playerid][pWanted] >= 1) SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pWanted]);
- /*
- if(GetPVarInt(playerid, "player_leave_as"))
- {
- new shop_id = GetPVarInt(playerid, "player_leave_as") - 1;
- SetPPos(playerid, as_exit_pos[shop_id][0], as_exit_pos[shop_id][1], as_exit_pos[shop_id][2], as_exit_pos[shop_id][3], 0, 0, true);
- DeletePVar(playerid, "player_leave_as");
- return 1;
- }
- */
- if(PlayerInfo[playerid][pBugDeath] > 2)
- {
- TogglePlayerControllable(playerid, false);
- Showdeathtd(playerid, false);
- SafeSetPlayerHealth(playerid, 100.0);
- PlayerInfo[playerid][pDeathTime] = 0;
- PlayerInfo[playerid][pBugDeath] = 0;
- PlayerInfo[playerid][pBolnica] = 1;
- SendInfoTD(playerid, "Anda tidak tersadar dan dibawa ke Rumah Sakit untuk perawatan");
- SetPPosEx(playerid, 1155.3021, -1319.2183, 14.5067, 180.0000, 0, 0, true);
- SetTimerEx("LoadPlayerWeapons", 1000, false, "i", playerid);
- return 1;
- }
- if(PlayerInfo[playerid][pDeathTime] > 0)
- {
- // PlayerInfo[playerid][pBugDeath] = 0;
- PlayerTextDrawHide(playerid, Textdraw1[playerid]);
- SetPPosEx(playerid,PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ], 0.0, PlayerInfo[playerid][pInt], PlayerInfo[playerid][pVirtual], false); // FBI
- Showdeathtd(playerid, true);
- // SetPlayerPos(playerid, PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ]);
- ApplyAnimation(playerid, "WUZI", "CS_DEAD_GUY", 4.0, 0, 0, 0, 1, 0, 1);
- TogglePlayerControllable(playerid, true);
- SafeSetPlayerHealth(playerid, 10000.0);
- SetTimerEx("LoadPlayerWeapons", 1000, false, "i", playerid);
- return 1;
- }
- PlayerPlaySound(playerid, 1184 , 0.0, 0.0,0.0);
- player_enter_biz[playerid] = -1;
- new house = -1;
- new f_house = -1;
- if(GetPlayerHouse(playerid) != -1) house = GetPlayerHouse(playerid);
- if(GetPlayerHouseLodger(playerid) != -1) house = GetPlayerHouseLodger(playerid);
- if(PlayerInfo[playerid][pSelectSpawn] == 1) return SetPPos(playerid, 1512.5323,-2286.9011,13.5469,265.6523, 0, 0, false), PlayerInfo[playerid][pSelectSpawn] = 0;
- if(PlayerInfo[playerid][pSelectSpawn] == 2) return SetPPos(playerid, 397.7661,-1800.8658,7.8281,353.8233, 0, 0, false), PlayerInfo[playerid][pSelectSpawn] = 0;
- if(PlayerInfo[playerid][pSelectSpawn] == 3)
- {
- if(PlayerInfo[playerid][pPosX] == 0.0 || PlayerInfo[playerid][pPosY] == 0.0 || PlayerInfo[playerid][pPosZ] == 0.0 || PlayerInfo[playerid][pPosA] == 0.0)
- {
- SetPPos(playerid, 398.6810, -1795.5673, 7.8281, 339.9007, PlayerInfo[playerid][pInt], PlayerInfo[playerid][pVirtual], true);
- PlayerInfo[playerid][pSelectSpawn] = 0;
- }
- else
- {
- SetPPos(playerid, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ], PlayerInfo[playerid][pPosA], PlayerInfo[playerid][pInt], PlayerInfo[playerid][pVirtual], true);
- PlayerInfo[playerid][pSelectSpawn] = 0;
- }
- return 1;
- }
- if(PlayerInfo[playerid][pSelectSpawn] == 4)
- {
- new member = PlayerInfo[playerid][pMember];
- PlayerInfo[playerid][pSelectSpawn] = 0;
- return SetPPos(playerid, FracInfo[member][fSpawn][0], FracInfo[member][fSpawn][1], FracInfo[member][fSpawn][2], FracInfo[member][fSpawn][3], FracInfo[member][fInt], FracInfo[member][fVw], true);
- }
- if(PlayerInfo[playerid][pSelectSpawn] == 5)
- {
- if(GetPlayerHouse(playerid) == -1) return SetPPos(playerid, 397.7661,-1800.8658,7.8281,353.8233, 0, 0, false);
- PlayerEnterToHouse(playerid, house, 1), PlayerInfo[playerid][pSelectSpawn] = 0;
- PlayerInfo[playerid][pSelectSpawn] = 0;
- return 1;
- }
- if(PlayerInfo[playerid][pSelectSpawn] == 7) return SetPPos(playerid, 397.7661,-1800.8658,7.8281,353.8233, 0, 0, false), PlayerInfo[playerid][pSelectSpawn] = 0;
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement