07.01.2010, 22:48
This script should teleport to stand next to a player or join them in their vehicle if they are driving. Only works when logged in as RCON.
Код:
#define FILTERSCRIPT #include <a_samp> //The line below here should be just one line. #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 //The line above here should be just one line. stock strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } public OnFilterScriptInit() { print("\n--------------------------------------"); print(" Miniature Teleport FilterScript Mark 1.01"); print("--------------------------------------\n"); return 1; } public OnFilterScriptExit() { return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { //new string[256]; //new diename[MAX_PLAYER_NAME]; new cmd[256]; new idx; cmd = strtok(cmdtext, idx); dcmd(tele, 4, cmdtext); return 0; } dcmd_tele(playerid, params[]) { if(IsPlayerAdmin(playerid)) { new id; new putmein; id = strval(params); if(id == 0) { id = playerid; } if (IsPlayerConnected(id)) { new Float:xpos; new Float:ypos; new Float:zpos; GetPlayerPos(id, Float:xpos, Float:ypos, Float:zpos); if(!IsPlayerInAnyVehicle(id)) { SetPlayerPos(playerid, xpos+1, ypos, zpos); } else{ putmein = GetPlayerVehicleID(id); PutPlayerInVehicle(playerid, putmein, 1); } } } return 1; } public OnVehicleDeath(vehicleid, killerid) { for(new i; i < GetMaxPlayers(); i++) { if (IsPlayerConnected(i)) { if (IsPlayerInAnyVehicle(i)) { SetPlayerHealth(i, 0.0); } } } return 1; }