📄 penlv原版本.pwn
字号:
if(pa >= 67.5 && pa <= 112.5) //w
{
SetPlayerCameraPos(i, px+(dist), py, pz+hight);
}
if(pa >= 112.5 && pa <= 157.5) //sw
{
SetPlayerCameraPos(i, px+(dist/2), py+(dist/2), pz+hight);
}
if(pa >= 157.5 && pa <= 202.5) //s
{
SetPlayerCameraPos(i, px, py+(dist), pz+hight);
}
if(pa >= 202.5 && pa <= 247.5)//se
{
SetPlayerCameraPos(i, px-(dist/2), py+(dist/2), pz+hight);
}
if(pa >= 247.5 && pa <= 292.5)//e
{
SetPlayerCameraPos(i, px-(dist), py, pz+hight);
}
if(pa >= 292.5 && pa <= 332.5)//e
{
SetPlayerCameraPos(i, px-(dist/2), py-(dist/2), pz+hight);
}
SetPlayerPos(i, px, py, pz+110);
}
else if(Unspec[i][sCam] == 5)
{
SetPlayerPos(i, px, py, pz+40);
}
else if(Unspec[i][sCam] == 6)
{
SetPlayerPos(i, rsx, rsy, rsz+100);
SetPlayerCameraPos(i, rsx, rsy+4, rsz+2);
}
else if(Unspec[i][sCam] == 7)
{
SetPlayerPos(i, rmx, rmy, rmz+100);
SetPlayerCameraPos(i, rmx, rmy+4, rmz+2);
}
else if(Unspec[i][sCam] == 8)
{
SetPlayerPos(i, rm2x, rm2y, rm2z+100);
SetPlayerCameraPos(i, rm2x, rm2y+4, rm2z+2);
}
else if(Unspec[i][sCam] == 9)
{
SetPlayerPos(i, rex, rey, rez+100);
SetPlayerCameraPos(i, rex, rey+4, rez+2);
}
else if(Unspec[i][sCam] == 10)
{
new house = Unspec[i][sLocal];
SetPlayerPos(i,HouseInfo[house][hEntrancex], HouseInfo[house][hEntrancey],HouseInfo[house][hEntrancez]+100);
SetPlayerCameraPos(i, HouseInfo[house][hEntrancex], HouseInfo[house][hEntrancey],HouseInfo[house][hEntrancez]+2.0);
SetPlayerInterior(i,0);
}
SetPlayerCameraLookAt(i,px,py,pz);
}
if(Spectate[i] == 253)
{
TogglePlayerControllable(i, 1);
SetPlayerInterior(i,Unspec[i][sPint]);
PlayerInfo[i][pInt] = Unspec[i][sPint];
PlayerInfo[i][pLocal] = Unspec[i][sLocal];
Unspec[i][sLocal] = 255;
SetSpawnInfo(i, 1, PlayerInfo[i][pModel], Unspec[i][sPx], Unspec[i][sPy], Unspec[i][sPz]-1.0, 1.0, -1, -1, -1, -1, -1, -1);
//SetPlayerPos(i, Unspec[i][sPx], Unspec[i][sPy], Unspec[i][sPz]);
gTeam[i] = PlayerInfo[i][pTeam];
SetPlayerToTeamColor(i);
SpawnPlayer(i);
Spectate[i] = 255;
}
if(Spectate[i] == 254)
{
TogglePlayerControllable(i, 1);
SetPlayerInterior(i,Unspec[i][sPint]);
PlayerInfo[i][pInt] = Unspec[i][sPint];
PlayerInfo[i][pLocal] = Unspec[i][sLocal];
SetPlayerPos(i, Unspec[i][sPx], Unspec[i][sPy], Unspec[i][sPz]);
Spectate[i] = 255;
}
if(Spectate[i] == 256)
{
SetPlayerToTeamColor(i);
Spectate[i] = 255;
}
if(Spectate[i] == 257)
{
Spectate[i] = 254;
}
}
}
if(specflick < 2)
{
specflick++;
}
else
{
specflick = 0;
}
}
//------------------------------------------------------------------------------------------------------
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if (gdebug >= 1){printf("DEBUG OnPlayerEnterVehicle(%d, %d, %d)", playerid, vehicleid, ispassenger);}
if(gTeam[playerid] == TEAM_GREEN)
{
if (IsACopCar(vehicleid) && !ispassenger)
{
SetPlayerCriminal(playerid,255, "Stealing A Police Vehicle",0,0);
if(FlashTime[playerid] == 0){FlashTime[playerid] = 10;}
}
if (IsAnAmbulance(vehicleid) && !ispassenger)
{
SetPlayerCriminal(playerid,255, "Stealing An Ambulance",0,0);
if(FlashTime[playerid] == 0){FlashTime[playerid] = 10;}
}
}
return 1;
}
public IsAPlane(carid)
{
if((carid >= 66 && carid <=71) || carid == 60)
{
return 1;
}
return 0;
}
public IsACopCar(carid)
{
if((carid >= 35) && (carid <= 60))
{
return 1;
}
return 0;
}
public IsAnAmbulance(carid)
{
if((carid >= 61) && (carid <= 63))
{
return 1;
}
return 0;
}
public IsATruck(carid)
{
if(carid >= 78 && carid <= 81)
{
return 1;
}
return 0;
}
//------------------------------------------------------------------------------------------------------
public OnPlayerConnect(playerid)
{
if (gdebug >= 1){printf("DEBUG OnPlayerConnect(%d)", playerid);}
new bitch[256];
GetPlayerName(playerid,bitch,sizeof(bitch));
format(bitch,sizeof(bitch),"*** %s joined the server",bitch);
SendClientMessageToAll(COLOR_GRAD1,bitch);
gActivePlayers[playerid]++;
numplayers++;
new plname[MAX_PLAYER_NAME];
new string[MAX_PLAYER_NAME];
//TelePos[playerid][0] = 0;
//TelePos[playerid][1] = 0;
//TelePos[playerid][2] = 0;
SafeTime[playerid] = 60;
BetRace[playerid][0] = 255;
BetRace[playerid][1] = 0;
BetDm[playerid][0] = 255;
BetDm[playerid][1] = 0;
//HidePM[playerid] = 0;
gPlayerFighter[playerid] = 0;
DmScore[playerid] = 0;
Mobile[playerid] = 255;
Spectate[playerid] = 255;
Unspec[playerid][sLocal] = 255;
gSkyDive[playerid] = 0;
TVMode[playerid] = 0;
gLastCar[playerid] = 0;
FirstSpawn[playerid] = 0;
gPlayerLapStatus[playerid] = 0;
gOoc[playerid] = 0;
BigEar[playerid] = 0;
FlashTime[playerid] = 0;
gDice[playerid] = 0;
gSpeedo[playerid] = 0;
gPlayerLogged[playerid] = 0;
gPlayerAccount[playerid] = 0;
gPlayerSpawned[playerid] = 0;
LapCount[playerid] = 0;
Mute[playerid] = 0;
StartTime[playerid] = 0;
gRaceGuy[playerid] = 0;
Contract[playerid] = 0;
gPlayerMission[playerid] = 0;
PlayerInfo[playerid][pCash] = dollah;
KickVote[playerid] = 0;
VoteKick[playerid] = 0;
LastVote[playerid] = 255;
HireCar[playerid] = 299;
Hidden[playerid] = 0;
Locator[playerid] = 0;
PLicence[playerid] = 0;
gPhoneBook[playerid] = 0;
//PlayerPos[playerid][3] = 1.0;
//PlayerPos[playerid][4] = 1.0;
//PlayerPos[playerid][5] = 1.0;
GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]);
PlayerInfo[playerid][pAccount] = 0;
PlayerInfo[playerid][pAdmin] = 0;
PlayerInfo[playerid][pLevel] = 1;
PlayerInfo[playerid][pExp] = 0;
PlayerInfo[playerid][gPupgrade] = 0;
PlayerInfo[playerid][pKills] = 0;
PlayerInfo[playerid][pCB] = 0;
PlayerInfo[playerid][pHW] = 0;
PlayerInfo[playerid][pSR] = 0;
PlayerInfo[playerid][pWA] = 0;
PlayerInfo[playerid][pPEN] = 0;
PlayerInfo[playerid][pGun1] = 0;
PlayerInfo[playerid][pGun2] = 0;
PlayerInfo[playerid][pGun3] = 0;
PlayerInfo[playerid][pGun4] = 0;
PlayerInfo[playerid][pGun5] = 0;
PlayerInfo[playerid][pGun6] = 0;
PlayerInfo[playerid][pAmmo1] = 200;
PlayerInfo[playerid][pAmmo2] = 8;
PlayerInfo[playerid][pAmmo3] = 30;
PlayerInfo[playerid][pAmmo4] = 30;
PlayerInfo[playerid][pAmmo5] = 10;
PlayerInfo[playerid][pAmmo6] = 10;
PlayerInfo[playerid][pSHealth] = 0.0;
PlayerInfo[playerid][pHealth] = 50.0;
PlayerInfo[playerid][pPos_x] = 2246.6;
PlayerInfo[playerid][pPos_y] = -1161.9;
PlayerInfo[playerid][pPos_z] = 1029.7;
PlayerInfo[playerid][pInt] = 15;
PlayerInfo[playerid][pLocal] = 255;
PlayerInfo[playerid][pTeam] = 1;
PlayerInfo[playerid][pModel] = 264;
new randphone = 1000 + random(8999);//minimum 1000 max 9999 //giving one at the start
PlayerInfo[playerid][pPnumber] = randphone;
PlayerInfo[playerid][pPhousekey] = 255;
PlayerInfo[playerid][pPbiskey] = 255;
ClearCrime(playerid);
printf("Player Connecting as (%d)", playerid);
SetPlayerColor(playerid,COLOR_GRAD2);
GetPlayerName(playerid, plname, sizeof(plname));
//SetPlayerCameraPos(playerid,1460.0, -1324.0, 287.2);
//SetPlayerCameraLookAt(playerid,1374.5, -1291.1, 239.0);
format(string, sizeof(string), "%s.cer", plname);
if(fexist(string))
{
gPlayerAccount[playerid] = 1;
SendClientMessage(playerid, COLOR_GREEN, "SERVER: Welcome back!");
SendClientMessage(playerid, COLOR_WHITE, "SERVER: That nick is registered, You have 60 seconds to login");
SendClientMessage(playerid, COLOR_WHITE, "HINT: You can now login by typing /login <password>");
return 1;
}
else
{
gPlayerAccount[playerid] = 0;
SendClientMessage(playerid, COLOR_GREEN, "SERVER: Welcome And Enjoy Youre Stay!");
SendClientMessage(playerid, COLOR_WHITE, "SERVER: Type /regnick <password> to create and account or /help for help");
//return 1;
}
return 1;
}
public ClearCrime(playerid)
{
if (gdebug >= 1){printf("DEBUG ClearCrime(%d)", playerid);}
new string[MAX_PLAYER_NAME];
format(string, sizeof(string), "********");
strmid(PlayerCrime[playerid][pBplayer], string, 0, strlen(string), 255);
strmid(PlayerCrime[playerid][pVictim], string, 0, strlen(string), 255);
strmid(PlayerCrime[playerid][pAccusing], string, 0, strlen(string), 255);
strmid(PlayerCrime[playerid][pAccusedof], string, 0, strlen(string), 255);
return 1;
}
public BetWinner(playerid,contest)
{
new winname[MAX_PLAYER_NAME];
new better[MAX_PLAYER_NAME];
new string[256];
GetPlayerName(playerid, winname, sizeof(winname));
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) == 1)
{
if(contest == 1)
{
if(BetRace[i][0] == playerid)
{
GivePlayerMoney(i,BetRace[i][1]*2);
BizzInfo[5][bTakings] -= (BetRace[i][1]*2);
format(string, sizeof(string), "______-= %s =-_______", BizzInfo[5][bDiscription]);
SendClientMessage(i, TEAM_VAGOS_COLOR,string);
format(string, sizeof(string), " You have won $%d on %s in a streetrace", BetRace[i][1]*2, winname);
SendClientMessage(i, COLOR_WHITE, string);
SendClientMessage(i, TEAM_VAGOS_COLOR,"_______________________________________");
PlayerPlaySound(i, 1052, 0.0, 0.0, 0.0);
GetPlayerName(i, better, sizeof(better));
format(string, sizeof(string), "%s won $%d on %s", better, BetRace[i][1]*2, winname);
printf("%s", string);
PayLog(string);
}
BetRace[i][0] = 255;
BetRace[i][1] = 0;
}
if(contest == 2)
{
if(BetDm[i][0] == playerid)
{
GivePlayerMoney(i,BetDm[i][1]*2);
BizzInfo[5][bTakings] -= (BetDm[i][1]*2);
format(string, sizeof(string), "______-= %s =-_______", BizzInfo[5][bDiscription]);
SendClientMessage(i, TEAM_VAGOS_COLOR,string);
format(string, sizeof(string), " You have won $%d on %s in a deathmatch", BetDm[i][1]*2, winname);
SendClientMessage(i, COLOR_WHITE, string);
SendClientMessage(i, TEAM_VAGOS_COLOR,"_______________________________________");
PlayerPlaySound(i, 1052, 0.0, 0.0, 0.0);
GetPlayerName(i, better, sizeof(better));
format(string, sizeof(string), "%s won $%d on %s", better, BetDm[i][1]*2, winname);
printf("%s", string);
PayLog(string);
}
BetDm[i][0] = 255;
BetDm[i][1] = 0;
}
}
}
return 1;
}
//------------------------------------------------------------------------------------------------------
public OnPlayerDisconnect(playerid, reason)
{
//if (gdebug >= 1){printf("DEBUG OnPlayerDisconnect(%d)", playerid);}
new bitch[256];
GetPlayerName(playerid,bitch,sizeof(bitch));
format(bitch,sizeof(bitch),"*** %s left the server",bitch);
SendClientMessageToAll(COLOR_GRAD1,bitch);
printf("DEBUG OnPlayerDisconnect(%d)1", playerid);
gActivePlayers[playerid]--;
numplayers--;
if (DmHiPlayer == playerid)
{
DmHiPlayer = INVALID_PLAYER_ID;
new tmp1;
new tmp2;
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(DmScore[i] > tmp1 && IsPlayerConnected(i) == 1)
{
DmScore[i] = tmp1;
i = tmp2;
}
}
if(DmHiPlayer != 255)
{
DmHiPlayer = tmp2;
new dmname[MAX_PLAYER_NAME];
new string[256];
GetPlayerName(DmHiPlayer, dmname, sizeof(dmname));
DmHiScore = DmScore[DmHiPlayer];
format(string, sizeof(string), "DMNEWS: %s Is now in the lead with %d ", dmname,DmHiScore);
BroadCast(COLOR_WHITE, string);
}
}
if (gPublicEnemy == playerid)
{
gPublicEnemy = INVALID_PLAYER_ID;
GivePlayerMoney(playerid, -reward);
KillTimer(offhook);
}
OnPlayerUpdate(playerid);
printf("DEBUG OnPlayerDisconnect(%d)2", playerid);
printf("DEBUG OnPlayerDisconnect(%d)3", playerid);
if(HireCar[playerid] != 299)
{
gLastDriver[HireCar[playerid]] = 300;
gCarLock[HireCar[playerid]] = 0;
UnLockCar(HireCar[playerid]);
}
if (gLastCar[playerid] > 0)
{
gLastDriver[gLastCar[playerid]] = 300;
if(PlayerInfo[playerid][pPhousekey] != gLastCar[playerid]-1)
{
gCarLock[gLastCar[playerid]] = 0;
UnLockCar(gLastCar[playerid]);
}
}
printf("DEBUG OnPlayerDisconnect(%d)4", playerid);
if (gPlayerCheckpointStatus[playerid] == CHECKPOINT_DROPOFF)
{
DisablePlayerCheckpoint(playerid);
gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
MissionActive = 0;
if (gdebug){print("DEBUG MissionActive = 0;");}
}
if (gSuperCop == playerid)
{
gSuperCop = INVALID_PLAYER_ID;
}
}
public SetPlayerRandomSpawn(playerid)
{
new rand;
new playername[32];
new house = PlayerInfo[playerid][pPhousekey];
GetPlayerName(playerid, playername, sizeof(playername));
if(gPlayerFighter[playerid] == 1)
{
new string[256];
gTeam[playerid] = 4;
SetPlayerToTeamColor(playerid);
rand = random(sizeof(gRandomDMSpawns)-2)+1;
SetPlayerPos(playerid, gRandomDMSpawns[rand][0], gRandomDMSpawns[rand][1], gRandomDMSpawns[rand][2]); // Warp the player
SetPlayerFacingAngle(playerid, 270.0);
SetPlayerInterior(playerid,0);
PlayerInfo[playerid][pInt] = 0;
format(string, sizeof(string), " ~r~%d~w~|~g~%d",DmScore[playerid],DmHiScore);
GameTextForPlayer(playerid, string, 5000, 6);
if(gFightLeader < 1000)
{
TogglePlayerControllable(playerid, 0);
}
if (gdebug >=0){printf("DEBUG SPAWNED: Playerid:%d Team:%d DMPoint:%d", playerid, gTeam[playerid], rand);}
return 1;
}
if(house !=255)
{
/*
if(gTeam[playerid] <= 2 && strcmp(playername, HouseInfo[house][hOwner], true) == 0 || gTeam[playerid] > 2)
{
*/
SetPlayerToTeamColor(playerid);
SetPlayerInterior(playerid,HouseInfo[house][hInt]);
SetPlayerPos(playerid, HouseInfo[house][hExitx], HouseInfo[house][hExity],HouseInfo[house][hExitz]); // Warp the player
PlayerInfo[playerid][pLocal] = house;
PlayerInfo[playerid][pInt] = HouseInfo[house][hInt];
if (gdebug >=1){printf("DEBUG SPAWNED: Playerid:%d Team:%d SpawnPoint:%d", playerid, gTeam[playerid], rand);}
return 1;
//}
}
if ((gTeam[playerid]) == 2)
{
SetPlayerToTeamColor(playerid);
rand = random(sizeof(gCopPlayerSpawns));
SetPlayerPos(playerid, gCopPlayerSpawns[rand][0], gCopPlayerSpawns[rand][1], gCopPlayerSpawns[rand][2]); // Warp the player
SetPlayerFacingAngle(playerid, 270.0);
SetPlayerInterior(playerid,0);
PlayerInfo[playerid][pInt] = 0;
if (gdebug >=1){printf("DEBUG SPAWNED: Playerid:%d Team:%d SpawnPoint:%d", playerid, gTeam[playerid], rand);}
return 1;
}
if ((gTeam[playerid]) == 1)
{
SetPlayerToTeamColor(playerid);
rand = random(sizeof(gMedPlayerSpawns));
SetPlayerPos(playerid, gMedPlayerSpawns[rand][0], gMedPlayerSpawns[rand][1], gMedPlayerSpawns[rand][2]); // Warp the player
SetPlayerFacingAngle(playerid, 270.0);
SetPlayerInterior(playerid,0);
PlayerInfo[playerid][pInt] = 0;
if (gdebug >=1){printf("DEBUG SPAWNED: Playerid:%d Team:%d SpawnPoint:%d", playerid, gTeam[playerid], rand);}
return 1;
}
else
{
SetPlayerToTeamColor(playerid);
rand = random(sizeof(gRandomPlayerSpawns));
SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]); // Warp the player
SetPlayerFacingAngle(playerid, 270.0);
SetPlayerInterior(playerid,1);
PlayerInfo[playerid][pInt] = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -