26.05.2012, 20:58
Alright so I got this code here. It allows me to change a vehicle plate. But i want it to Admin level 4 and up can use it only. I've been playing around but i just fail some how. Could any one help
Код:
CMD:plate( playerid, params[] ) { if( isnull( params ) ) return SendClientMessage( playerid, -1, "Syntax: /plate [plate(1-32 letters)]" ); if( strlen( params ) > 32 ) return SendClientMessage( playerid, -1, "Syntax: /plate [plate(1-32 letters)]" ); if( !IsPlayerInAnyVehicle( playerid ) ) return SendClientMessage( playerid, -1, "Error: You need to be in a vehicle." ); new szString[128], pVeh, Float:vPos[4]; pVeh = GetPlayerVehicleID( playerid ); format( v_Plate[pVeh], 32, "%s", params ); SetVehicleNumberPlate( pVeh, params ); GetPlayerPos( playerid, vPos[0], vPos[1], vPos[2] ); GetVehicleZAngle( pVeh, vPos[3] ); SetVehicleToRespawn( pVeh ); SetVehiclePos( pVeh, vPos[0], vPos[1], vPos[2] ); SetVehicleZAngle( pVeh, vPos[3] ); PutPlayerInVehicle( playerid, pVeh, 0 ); format( szString, 128, "Your vehicle plate has succesfully changed to %s.", params ); SendClientMessage( playerid, -1, szString ); return 1; } CMD:setplate( playerid, params[] ) { new iVictim, szPlate[32]; if( sscanf( params, "us[32]", iVictim, szPlate ) ) return SendClientMessage( playerid, -1, "Syntax: /plate [playerid][plate(1-32 letters)]" ); if( strlen( szPlate ) > 32 ) return SendClientMessage( playerid, -1, "Syntax: /plate [playerid][plate(1-32 letters)]" ); if( !IsPlayerAdmin( playerid ) ) return SendClientMessage( playerid, -1, "Error: You're not an administrator." ); if( !IsPlayerConnected( iVictim ) ) return SendClientMessage( playerid, -1, "Error: That player isn't connected." ); if( !IsPlayerInAnyVehicle( iVictim ) ) return SendClientMessage( playerid, -1, "Error: That player isn't in a vehicle." ); new szString[128], pVeh, Float:vPos[4]; pVeh = GetPlayerVehicleID( iVictim ); format( v_Plate[pVeh], 32, "%s", szPlate ); SetVehicleNumberPlate( pVeh, szPlate ); GetPlayerPos( iVictim, vPos[0], vPos[1], vPos[2] ); GetVehicleZAngle( pVeh, vPos[3] ); SetVehicleToRespawn( pVeh ); SetVehiclePos( pVeh, vPos[0], vPos[1], vPos[2] ); SetVehicleZAngle( pVeh, vPos[3] ); PutPlayerInVehicle( iVictim, pVeh, 0 ); format( szString, 128, "An administrator set your vehicle plate to %s.", szPlate ); SendClientMessage( playerid, -1, szString ); return 1; } CMD:getplate( playerid, params[] ) { if( isnull( params ) ) return SendClientMessage( playerid, -1, "Syntax: /getplate [vehicleid]" ); new szString[128]; format( szString, 128, "[ VEHICLE ID: %d | PLATE: %s ]", strval( params ), v_Plate[strval( params )] ); SendClientMessage( playerid, -1, szString ); return 1; }