+Varios CheckPoints estгo visнveis ao mesmo tempo para o player +Vocк pode interagir com mais de um checkpoint ao mesmo tempo +Pode mover o checkpoint, para onde o deseja +Maior Perfomace e Precisгo que o CheckPoint Normal +Estabilidade, e visibilade sem glitchs (ao contrario de DynCP) +Sintaxes intuitivas e fбceis de utilizar |
CP_ARROW
CP_CIRCLE_BIG
CP_CIRCLE
CP_INVISIBLE
OnPlayerEnterCheckpointEx(playerid, checkpoint[], CPID)
OnPlayerExitCheckpointEx(playerid, checkpoint[], CPID)
OnCheckpointStreamIn(playerid, checkpoint[], CPID)
OnCheckpointStreamOut(playerid, checkpoint[], CPID)
//extas:
OnPlayerTextInCP(playerid, name[], CPID, text[])
OnPlayerKeyStateChangeInCP(playerid, name[], CPID, newkeys, oldkeys)
OnCheckpointCreate(name[29], CPType:type, color, Float:x, Float:y, Float:z, worldid, interiorid, forplayer)
CreatePlayerCheckPoint(playerid, name[29] = "", CPType:type = CP_CIRCLE, color= 0x99FF0000, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1);
CreateCheckPoint(name[29] = "", CPType:type = CP_CIRCLE, color= 0x99FF0000, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1, forplayer= -1);
IsPlayerInCheckpointEx(playerid, name[]);
IsPlayerInAnyCheckpointEx(playerid);
IsPlayerInCP(playerid, CPID);
DestroyCheckPoint( CPID);
//cores:
SetCheckPointColor(CPID, color=0x99FF0000);
//movement
SetCPtoPos( CPID, Float:x=0.0, Float:y=0.0, Float:z=0.0);
MoveCPtoPos( CPID, Float:x=0.0, Float:y=0.0, Float:z=0.0, Float:speed= 2.0);
//attachґs CP
AttachCPtoObject( CPID, objectid, Float:x=0.0, Float:y=0.0, Float:z=0.0);
AttachCPtoPlayer( CPID, playerid, Float:x=0.0, Float:y=0.0, Float:z=0.0);
AttachCPtoVehicle( CPID, vehicleid, Float:x=0.0, Float:y=0.0, Float:z=0.0);
AttachCPtoCP( CPID, CPattached, Float:x=0.0, Float:y=0.0, Float:z=0.0);
//nomes:
GetCPName( CPID);
SetNameCP(CPID, name[]);
RenameCP(oldname[], newname[]);
CPEnter:Pref(playerid, CPID)
{
SendClientMessage(playerid, -1, "vocк entrou no CP da prefeitura!");
return 1;
}
CPExit:Pref(playerid, CPID)
{
SendClientMessage(playerid, -1, "vocк saiu do CP na prefeitura!");
return 1;
}
RazorGuigo -> Inital Realese, Ideias, Funcionalidade extras, Cores, Features... Dayvison -> Funcionamento Interno dos CP remodelados! OKStyle-> 5 novos CheckPoints Coloridos adicionados no V1.3 |
Add: +SetCPpos( CPID, Float:x=0.0, Float:y=0.0, Float:z=0.0); +MoveCP( CPID, Float:x=0.0, Float:y=0.0, Float:z=0.0, Float:speed= 2.0); +mensagem de erro, caso vocк nгo esteja utilizando streamer +CP for player (o checkpoint й criado apenas para o jogador descrito) fix: -quando vocк passa por debaixo de um CP, e depois vai embora, й chama "OnPlayerLeaveCP" foi concertado! |
Merged: *CreatePlayerCheckPoint(playerid, name[29] = "", CPType:type, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1); *CreateCheckPoint(name[29] = "", CPType:type, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1, forplayer= -1); *OnPlayerEnterCheckpointEx(playerid, checkpoint[]) *OnPlayerExitCheckpointEx(playerid, checkpoint[]) *IsPlayerInCheckpointEx(playerid, name[]) removed: -OnPlayerCPchange(playerid, CPID, toggle); -SetCPInterior( CPID, interiorid); -SetCPVirtualWord( CPID, worldid); -SetCPpos( CPID, Float:x=0.0, Float:y=0.0, Float:z=0.0); -MoveCP( CPID, Float:x=0.0, Float:y=0.0, Float:z=0.0, Float:speed= 2.0); Added: +5 novos modelos iguais ao originais (coloridos) +processador de CheckPoint "Exemplo: CPEnter:Pref(playerid)" +IsPlayerInAnyCheckpointEx(playerid); +DestroyCheckPoint( CPID); |
Edited: *OnPlayerEnterCheckpointEx(playerid, checkpoint[], CPID) *OnPlayerExitCheckpointEx(playerid, checkpoint[], CPID) Added: +OnPlayerTextInCP(playerid, name[], CPID, text[]) +OnPlayerKeyStateChangeInCP(playerid, name[], CPID, newkeys, oldkeys) +SetCPtoPos( CPID, Float:x=0.0, Float:y=0.0, Float:z=0.0); +MoveCPtoPos( CPID, Float:x=0.0, Float:y=0.0, Float:z=0.0, Float:speed= 2.0); |
NOW HEXADECIMAL COLOURS! Edited: *CreatePlayerCheckPoint(playerid, name[29] = "", CPType:type = CP_CIRCLE, color= 0x99FF0000, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1); *CreateCheckPoint(name[29] = "", CPType:type = CP_CIRCLE, color= 0x99FF0000, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1, forplayer= -1); Added: +SetCheckPointColor(CPID, color=0x99FF0000); +IsPlayerInCP(playerid, CPID); |
Fixes: *Z adjustment *CP name called *Optimizations and improvements Added: OnCheckpointCreate(name[29], CPType:type, color, Float:x, Float:y, Float:z, worldid, interiorid, forplayer); //return 0 to cancel creation! OnCheckpointStreamIn(playerid, checkpoint[], CPID) OnCheckpointStreamOut(playerid, checkpoint[], CPID) GetCPName( CPID); SetNameCP(CPID, name[]); RenameCP(oldname[], newname[]); |
if((i_CPCOUNT + 1) > MAX_CPS) return printf("[ERROR] max checkpoints loaded %d/%d", i_CPCOUNT + 1, MAX_CPS);
//Isso funciona mesmo?
if(i_CPCOUNT + 1 == MAX_CPS)
return printf("[ERROR] max checkpoints loaded %d/%d", i_CPCOUNT + 1, MAX_CPS);
//Mude
stock bool:IsPlayerInCP(playerid, CPID)
{
if(i_PlayerInCP[playerid][CPID]) return true;
return false;
}
//Para
stock bool:IsPlayerInCP(playerid, CPID)
{
return i_PlayerInCP[playerid][CPID];
}
Versгo inicial com funcionalidade bбsica, em breve tera muito mais coisas novas!
|
PHP код:
|
PHP код:
|
Como eu disse, estб tudo muito ruim, mas a ideia й boa. Comeзa com essas alteraзхes e vai aprimorando.
|
A impressгo que eu tenho й que vocк programou pra vocк mesmo. As nomenclaturas em sua grande maioria nгo fazem sentido.
|
#if !defined MAX_CPS #define MAX_CPS (500) #endif
#define MAX_CPS (500)
Porque poe
Код:
#if !defined MAX_CPS #define MAX_CPS (500) #endif Код:
#define MAX_CPS (500) |
Ideia : й um objeto esses " checkpoint's " certamente da pra texturizar eles, e por a cor q quiser
|