12.10.2010, 14:58
(
Последний раз редактировалось Link_; 17.09.2011 в 21:47.
)
# Edit
Ae galera eu n arrumei com esse bug pq nгo queria mais nem mecher com samp direito mais eu arrumei e uma settime que esqueci de colocar
Pro Noob que falo que o code nгo й meu e nгo sei arrumar ta ae pdc?
Coloque em OnGameModeInit
Coloque isso tambem no comeзo do game mode
Vo mostrar aki pra vocкs hoje como criar GZs dominaveis em Checkpoints
As includes necessarias sгo as
Aconselho bota isso tambem no comeзo do seu GM
depois crie defines para definir as gangs
depois cria a forward para riar a public com as funзoes para dominar o territorio na check
depois crie uma new com as cores das gzs
Crie uma variavel para definir as gzs
Depois crie novamente outra variavel
Agora criando as GZs
Defininado as ckecks para dominar nelas
Agora em OnGameModeInit
coloque as skins
Agora as GZs em OnGameModeInit mesmo
Agora as Checks em OnGameModeInit denovo
Checkpont (crie os checkpoins na mesma ordem das GZs, senгo da erro na hora de conquistar)
denovo em OnGameModeInit
Coloque isso para definir as checks
Agora o RequestClass
Vos criar esse basico aki depois vocк modificao ai
OnPlayerRequestSpawn a cor das gangs
Em public OnPlayerSpawn
As coreas das GZs
Se for adicionr mais GZs.. ja sabe que tem que acompanhar os numeros "gzcolor[numero]"...
Na public OnPlayerLeaveCheckpoint
coloque isso
Agora a public que criandos a Forward la no comeзo
Bom achu que e isso ai se tiver algum erro faal ai que eu ajudo '.' valeu
By eu mesmo xD
Ae galera eu n arrumei com esse bug pq nгo queria mais nem mecher com samp direito mais eu arrumei e uma settime que esqueci de colocar
Pro Noob que falo que o code nгo й meu e nгo sei arrumar ta ae pdc?
Coloque em OnGameModeInit
pawn Код:
SetTimer("ZoneCheckpointCheckerbyRangel", 1000, true);
pawn Код:
new Gang[MAX_PLAYERS];
Vo mostrar aki pra vocкs hoje como criar GZs dominaveis em Checkpoints
As includes necessarias sгo as
pawn Код:
#include <a_samp>
#include <cpstream>
pawn Код:
#pragma tabsize 0
pawn Код:
#define SOLDADO 1
#define CHINES 2
pawn Код:
forward ZoneCheckpointCheckerbyRangel();
pawn Код:
new gzcolor[3] = //2+1 = (3) pois tem 2 GZs...
{
0x33AA33AA, 0xFF9900AA
};
pawn Код:
new cpzone[MAX_PLAYERS][3]; //2+1 (3) pois tem 2 GZs...
pawn Код:
new lastcp[MAX_PLAYERS];
pawn Код:
new Soldado;
new Chines;
pawn Код:
new cpsoldado;
new cpchines;
coloque as skins
pawn Код:
AddPlayerClass(287,-1324.0948,497.2354,11.1953,137.1467,0,0,0,0,0,0);//Soldado
AddPlayerClass(123,-2185.7253,706.9626,53.8906,225.8146,0,0,0,0,0,0);//Chines
pawn Код:
Soldado = GangZoneCreate(-1753.477, 246.9049, -1007.979, 613.7866);
Chines = GangZoneCreate(-2379.232, 577.1168, -1988.689, 1489.569);
Checkpont (crie os checkpoins na mesma ordem das GZs, senгo da erro na hora de conquistar)
pawn Код:
cpsoldado = CPS_AddCheckpoint(-1371.5627,492.2494,11.1953,2.0,80);
cpchines = CPS_AddCheckpoint(-2206.7749,701.3187,49.4375,2.0,80);
Coloque isso para definir as checks
pawn Код:
#pragma unused cpchines, cpsoldado
Vos criar esse basico aki depois vocк modificao ai
pawn Код:
if(classid == 0)//Isso define a posisao das skins no OnGameModeInit
{
Gang[playerid] = SOLDADO;
GameTextForPlayer(playerid,"~y~Soldado",6000,6);
SetPlayerInterior(playerid,3);
SetPlayerPos(playerid, -2669.8770,1410.3972,912.7240);
SetPlayerFacingAngle(playerid, 267.7684);
SetPlayerCameraPos(playerid, -2663.8770,1410.3972,912.7240);
SetPlayerCameraLookAt(playerid, -2669.8770,1410.3972,912.7240);
ApplyAnimation(playerid,"PED","WALK_DRUNK",4.0,1,1,1,1,0);
}
else if(classid == 1)//Isso define a posisao das skins no OnGameModeInit
{
Gang[playerid] = CHINES;
GameTextForPlayer(playerid,"~y~Chines",6000,6);
SetPlayerInterior(playerid,3);
SetPlayerPos(playerid, -2669.8770,1410.3972,912.7240);
SetPlayerFacingAngle(playerid, 267.7684);
SetPlayerCameraPos(playerid, -2663.8770,1410.3972,912.7240);
SetPlayerCameraLookAt(playerid, -2669.8770,1410.3972,912.7240);
ApplyAnimation(playerid,"PED","WALK_DRUNK",4.0,1,1,1,1,0);
}
pawn Код:
if(Gang[playerid] == SOLDADO)
{
SetPlayerInterior(playerid,0);
SetPlayerColor(playerid, 0x33AA33AA); //Verde Claro
}
else if(Gang[playerid] == CHINES)
{
SetPlayerInterior(playerid,0);
SetPlayerColor(playerid, 0xFF9900AA); //Rosa
}
As coreas das GZs
pawn Код:
GangZoneShowForPlayer(playerid, Soldado, gzcolor[0]);
GangZoneShowForPlayer(playerid, Chines, gzcolor[1]);
Na public OnPlayerLeaveCheckpoint
coloque isso
pawn Код:
new checkpointid = lastcp[playerid];
if(checkpointid > 0 && checkpointid <= 2) //sгo 2 checkpoints, entгo mude se for colocar mais...
{
cpzone[playerid][checkpointid] = 0; //saiu do CP...
GangZoneStopFlashForAll(checkpointid-1);
}
pawn Код:
public ZoneCheckpointCheckerbyRangel()
{
for(new i; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))continue;
if(CPS_GetPlayerCheckpoint(i) > 0 && CPS_GetPlayerCheckpoint(i) <= 2 &&
//sгo 2 checkpoints, entгo mude se for colocar mais...
gzcolor[CPS_GetPlayerCheckpoint(i)-1] != GetPlayerColor(i))
{
if(cpzone[i][CPS_GetPlayerCheckpoint(i)] < 30)
{
cpzone[i][CPS_GetPlayerCheckpoint(i)]++;
new tmp[10];
format(tmp, sizeof tmp, "~w~%2d/30", cpzone[i][CPS_GetPlayerCheckpoint(i)]);
GameTextForPlayer(i, tmp, 1001, 4);
GangZoneFlashForAll(CPS_GetPlayerCheckpoint(i)-1, GetPlayerColor(i));
} else if(cpzone[i][CPS_GetPlayerCheckpoint(i)] == 30) //passou 30 segundos dentro do checkpoint
{
GameTextForPlayer(i, "~w~Conquistado", 4000, 1);
gzcolor[CPS_GetPlayerCheckpoint(i)-1] = GetPlayerColor(i);
GangZoneStopFlashForAll(CPS_GetPlayerCheckpoint(i)-1);
GangZoneHideForAll(CPS_GetPlayerCheckpoint(i)-1);
GangZoneShowForAll(CPS_GetPlayerCheckpoint(i)-1, GetPlayerColor(i));//Ficar piscando a cor do player na GZ
}
}
}
}
By eu mesmo xD