É basicamente uma include sobre checkpoints.
No SA-MP, não há um modo em condições de distinguir as dialogs, a não ser que crie um sistema no próprio GM.
Agora com esta Include é bastante fácil controlar a dialog e identifica-la.
Funções e Callbacks criadas:
OnPlayerInCheckpoint(playerid, checkpointid); OnPlayerOutCheckpoint(playerid, checkpointid); ShowPlayerCheckpoint(playerid, checkpointid, Float:x, Float:y, Float:z, Float:size); // checkpointid nunca pode ser '0' IsPlayerInCP(playerid, checkpointid);
Exemplo de cada uma:
Teste: IsPlayerInCP(playerid, checkpointid);
public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext, "/TestIfIAmCP1", true)) //Testará se você está no Checkpointid == 1 { if(IsPlayerInCP(playerid, 2)) return SendClientMessage(playerid, 0xFF0000FF, "Você está no CheckPointID number 2"); SendClientMessage(playerid, 0xFFFFFFFF, "Você não está no CheckPointID 2"); return 1; } return 0; }
public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext, "/ShowMeCP3", true)) //Criará um CheckPoint de ID numero 3 { ShowPlayerCheckpoint(playerid, 3, 10.0, 30.0, 15.0, 5.0); SendClientMessage(playerid, 0xFF0000FF, "Novo CheckPoint criado- ID 3"); return 1; } return 0; }
public OnPlayerInCheckpoint(playerid, checkpointid) { if(IsPlayerInCP(playerid, 3)) return SendClientMessage(playerid, 0xFF0000FF, "Você entrou no CheckPointID 3"); return 1; }
public OnPlayerOutCheckpoint(playerid, checkpointid) { if(IsPlayerInCP(playerid, 3)) return SendClientMessage(playerid, 0xFF0000FF, "VocÊ saiu do CheckPointID numero 3"); return 1; }
Créditos: