// SetSkin void Script_SetPlayerSkin(RakNet::BitStream *bitStream, Packet *packet) { CPlayerPed *pPlayer = pGame->FindPlayerPed(); int skinID; bitStream->Read(skinID); pPlayer->SetModel(skinID); }
BOOL CLocalPlayer::SpawnPlayer(PLAYER_SPAWN_INFO * pSpawnInfo) { CPlayerPed *pGamePlayer = pGame->FindPlayerPed(); if(!pGamePlayer) return FALSE; if(pGamePlayer) { pGamePlayer->RestartIfWastedAt(&pSpawnInfo->vecPos, pSpawnInfo->fRotation); m_pPlayerPed = pGamePlayer; // Set skin stuff.. logic is because of temperament if(pGamePlayer->GetModelIndex() != pSpawnInfo->byteSkin && (pSpawnInfo->byteSkin < 107)) { if(!pGame->IsModelLoaded(pSpawnInfo->byteSkin)) { pGame->RequestModel(pSpawnInfo->byteSkin); pGame->LoadRequestedModels(); while(!pGame->IsModelLoaded(pSpawnInfo->byteSkin)) { Sleep(1); } } pGamePlayer->SetModel(pSpawnInfo->byteSkin); } pGamePlayer->ClearAllWeapons(); if(pSpawnInfo->iSpawnWeapons[3] != -1) { pGamePlayer->GiveWeapon(pSpawnInfo->iSpawnWeapons[3], pSpawnInfo->iSpawnWeaponsAmmo[3]); } if(pSpawnInfo->iSpawnWeapons[2] != -1) { pGamePlayer->GiveWeapon(pSpawnInfo->iSpawnWeapons[2], pSpawnInfo->iSpawnWeaponsAmmo[2]); } if(pSpawnInfo->iSpawnWeapons[1] != -1) { pGamePlayer->GiveWeapon(pSpawnInfo->iSpawnWeapons[1], pSpawnInfo->iSpawnWeaponsAmmo[1]); } pGamePlayer->Teleport(pSpawnInfo->vecPos.X, pSpawnInfo->vecPos.Y, pSpawnInfo->vecPos.Z); pGamePlayer->SetRotation(pSpawnInfo->fRotation); pGamePlayer->SetInitialState(); m_bIsWasted = FALSE; m_bIsActive = TRUE; } // Let the rest of the network know we're spawning. RakNet::BitStream bsSendSpawn; pNetowkManager->GetRPC4()->Call("Spawn",&bsSendSpawn,HIGH_PRIORITY,RELIABLE_SEQUENCED,0,UNASSIGNED_SYSTEM_ADDRESS,TRUE); return TRUE; }
void CSpawnSelection::HandleClassSelectionOutcome(PLAYER_SPAWN_INFO *pSpawnInfo, BOOL bOutcome) { CPlayerPed *pGamePlayer = pGame->FindPlayerPed(); if(bOutcome) { if(pGamePlayer) { pGamePlayer->ClearAllWeapons(); pGamePlayer->Teleport(pNetowkManager->m_vecInitPlayerPos.X, pNetowkManager->m_vecInitPlayerPos.Y, pNetowkManager->m_vecInitPlayerPos.Z); pGamePlayer->SetRotation(0.0f); pGamePlayer->SetModel(pSpawnInfo->byteSkin); if(pSpawnInfo->iSpawnWeapons[0] != (-1)) { pGamePlayer->GiveWeapon(pSpawnInfo->iSpawnWeapons[0],pSpawnInfo->iSpawnWeaponsAmmo[0]); } } m_bClearedToSpawn = TRUE; } }
void cmdSkin(PCHAR szCmd) { if(!tSettings.bDebug) return; if(!strlen(szCmd)){ pChatWindow->AddDebugMessage("Usage: /skin [default.ide number]"); return; } int iPlayerSkin = atoi(szCmd); CPlayerPed *pPlayer = pGame->FindPlayerPed(); if(pPlayer) { pGame->RequestModel(iPlayerSkin); pGame->LoadRequestedModels(); while(pGame->IsModelLoaded(iPlayerSkin)==FALSE) Sleep(2); pPlayer->SetModel(iPlayerSkin); } }