26.10.2010, 18:36
Use this...
Код:
#define NearbyColor 0xC6AEC7AA #define ClientMessageColor 0x2641FEAA #define GreyColor 0xAFAFAFAA #define FILTERSCRIPT #define Driver 0 #define Passanger 2 #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 #include <a_samp> #include <NearbyMessageForPlayers> forward NearbyMessageForPlayers( playerid, stringcolour, text[]); new Act[MAX_PLAYERS]; new InCar[MAX_PLAYERS]; new WhatCar[MAX_PLAYERS]; public OnFilterScriptInit() { print("\n-------------------------------------------"); print(" Nanites By Ali Dumi"); print("-------------------------------------------\n"); return 1; } public OnFilterScriptExit() { print("\n----------------------------------"); print(" Nanites unloaded successfully"); print("----------------------------------\n"); return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { InCar[playerid] = 0; return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { if(Act[playerid] == 1) { if(oldstate == PLAYER_STATE_DRIVER) { if(newstate == PLAYER_STATE_ONFOOT) { if(InCar[playerid] == 1) { PutPlayerInVehicle(playerid, WhatCar[playerid], Driver); } } } if(oldstate == PLAYER_STATE_PASSENGER) { if(newstate == PLAYER_STATE_ONFOOT) { if(InCar[playerid] == 1) { PutPlayerInVehicle(playerid, WhatCar[playerid], Passanger); } } } if(oldstate == PLAYER_STATE_ONFOOT) { if(newstate == PLAYER_STATE_DRIVER || PLAYER_STATE_PASSENGER) { InCar[playerid] = 1; WhatCar[playerid] = GetPlayerVehicleID(playerid); } } } return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { new string[128]; new sendername[MAX_PLAYER_NAME]; if (strcmp("/nhelp", cmdtext, true, 10) == 0) //Nanites Heal the player { SendClientMessage(playerid, NearbyColor, "-----------------[Nanite Help]----------------"); SendClientMessage(playerid, NearbyColor, "/nheal /narmour /nhealo /nvr /nantifall /nfall"); return 1; } if (strcmp("/nheal", cmdtext, true, 10) == 0) //Nanites Heal the player { SetPlayerHealth(playerid, 100); SendClientMessage(playerid, ClientMessageColor, "You have restored your health!"); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "* %s uses his/her nanties to health thier wounds!", sendername); NearbyMessageForPlayers(playerid, NearbyColor, string); return 1; } if (strcmp("/narmour", cmdtext, true, 10) == 0) //Nanites give the player armour { SetPlayerArmour(playerid, 100); SendClientMessage(playerid, ClientMessageColor, "You have restored your armour!"); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "* %s uses his/her nanties to give them self armour!", sendername); NearbyMessageForPlayers(playerid, NearbyColor, string); return 1; } if (strcmp("/nvr", cmdtext, true, 10) == 0) //Nanites Heal the car { if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, GreyColor, "You are not in a vehicle!"); RepairVehicle(GetPlayerVehicleID(playerid)); SendClientMessage(playerid, ClientMessageColor, "You have repaired your car!"); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "* %s uses his/her nanties to repair thier car!", sendername); NearbyMessageForPlayers(playerid, NearbyColor, string); return 1; } //-------------------------------------[Anti Bike Fall on/off]---------------------------------------------------------- if (strcmp("/nantifall", cmdtext, true, 10) == 0) //Nanites Anti Bike Fall on { SendClientMessage(playerid, ClientMessageColor, "You have turned on anti fall!"); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "* %s uses his/her nanites to frimly hold them selfs to thier bike!", sendername); NearbyMessageForPlayers(playerid, NearbyColor, string); Act[playerid] = 1; return 1; } if (strcmp("/nfall", cmdtext, true, 10) == 0) //Nanites Anti Bike Fall off { Act[playerid] = 0; SendClientMessage(playerid, ClientMessageColor, "You have turned off anti fall!"); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "* %s uses his/her nanties and releases their grip on the bike!", sendername); NearbyMessageForPlayers(playerid, NearbyColor, string); return 1; } //----------------------------------[tele to player/tele player to you]----------------------------------------------- //----------------------------------------[Nanite heal others]-------------------------------------------------------- dcmd(nhealo, 6, cmdtext); //Heal other player dcmd(get, 3, cmdtext); dcmd(goto, 4, cmdtext) return 0; } dcmd_nhealo(playerid, params[]) { new sendername[MAX_PLAYER_NAME]; new string[128]; new id; if (strlen(params)) { id = strval(params); if (IsPlayerConnected(id)) { SetPlayerHealth(id, 100.0); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "* You have used your nanites to heal %s!", id); SendClientMessage(playerid, ClientMessageColor, string); format(string, sizeof(string), "* %s has used thier nanites to heal you!", sendername); SendClientMessage(id, NearbyColor, string); } else { SendClientMessage(playerid, GreyColor, "Player not found"); } } else { SendClientMessage(playerid, GreyColor, "Usage: \"/nhealo <playerid>\""); } return 1; } dcmd_get(playerid, params[]) { if(!strlen(params)){ SendClientMessage(playerid, COLOR, "/get [id]"); }else{ new pid = strval(params); if(IsPlayerConnected(pid)){ new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); SetPlayerPos(pid, x+1, y+1, z); }else{ SendClientMessage(playerid, COLOR, "Player is not connected"); } } return 1; } dcmd_goto(playerid, params[]) { if(!strlen(params)){ SendClientMessage(playerid, COLOR, "/goto [id]"); }else{ new pid = strval(params); if(IsPlayerConnected(pid)){ new Float:x, Float:y, Float:z; GetPlayerPos(pid, x, y, z); SetPlayerPos(playerid, x+1, y+1, z); }else{ SendClientMessage(playerid, COLOR, "Player is not connected"); } } return 1; }